サポート » 使い方全般 » 『function ‘save_preview_postmeta’ not found or invalid function name』どこを修正すればいい?

  • 解決済 jun316jun

    (@jun316jun)



    wordpressごとサーバーの変更を行ってから、以下のようなエラーメッセージが、何かの更新をする度に現れるよーになりました。

    Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'save_preview_postmeta' not found or invalid function name in /home/xxxxx/www/ooooo/wp-includes/class-wp-hook.php on line 288
    
    Warning: Cannot modify header information - headers already sent by (output started at /home/alc-plus/www/hearingmarathon/wp-includes/class-wp-hook.php:288) in /home/xxxxx/www/ooooo/wp-includes/pluggable.php on line 1216

    詳細をお話しますと、以前はwordpress.comのサーバーにて運用していた企業サイトを、さくらサーバーへ移行しました。その後から何らかを更新をする度に、上記のエラーメッセージが現れるようになりました。

    テーマはオリジナルのテーマを使用していますが、wordpress.comでは何のエラーメッセージも出ていたことはありません。
    WPのバージョンは4.9.5です。
    また、ローカル環境でも同様にエラーメッセージは出現したことはありません。

    プラグインを全て外して投稿や固定ページを更新しても、エラー表示は発生します。
    function.php 内にある、文末のスペースは全て削除してみましたが、関係はないようでした。

    ちなみにエラー表示はでるのですが、更新は無事にされています。

    上記内容から、何かお分かりになることがあれば、
    教えていただけないでしょうか?

    お手数ですが、
    よろしくお願い致します。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • CG

    (@du-bist-der-lenz)

    「テーマはオリジナルのテーマを使用しています」とあるところ、テーマを Twenty Seventeen に設定して、現象再現するかで判断ポイントの切り分けができることでしょう。また、ローカル環境では出現していないというところ、サーバー設定の仕様に要因があるかもしれません。

    こんにちは

    以下ページのような、カスタムフィールドの入力をプレビューに反映するカスタマイズをfunction.phpに行っているでしょうか?

    不要でしたら、
    add_action( 'wp_insert_post', 'save_preview_postmeta' );
    というような、第2引数に'save_preview_postmeta'を指定しているadd_actionの行を削除してください。

    CGさん、munyaguさん、
    ご回答ありがとうございます!

    結論からいいますと、munyaguさんが教えてくださった
    add_action( 'wp_insert_post', 'save_preview_postmeta' );
    が、function.phpにあり、
    それを削除したところエラーメッセージはでなくなりました!
    munyaguさん、ありがとうございます!!

    ちなみに、この記述がなくても現状カスタムフィールドで作ったページのプレビューができているようなのですが、
    この記述がなくても問題はないものなのでしょうか?
    (何か不都合はでてきますでしょうか?)

    CGさん、
    私もサーバー設定、もしくはサーバーとの相性があるのかな?と思ったのですが、
    その要因の探し方がわからず、質問させていただきました。
    今回のサイトは企業サイトですので、日中のアクセスが多い時にテーマを変更するのは危険ですが、
    テーマの変更で問題の切り分けはできそうですので、
    今後トラブルがあった際には、まずテーマ変更を試させていただきますね!
    ありがとうございました!

    ページのURLを貼り忘れていたので今更ですが貼っておきます。

    http://www.warna.info/archives/2502/

    消された記述は、投稿されたらsave_preview_postmeta関数を呼びだすというだけのもので、消したら呼び出さなくなるだけですので、特に問題は発生しないと思います。

    いま、運用しているサイトでやってみたらカスタムフィールドがプレビューに反映されていますね。
    私が貼った記事も古いですし、WordPressのコアに実装されたんですかね。

    munyaguさん、
    ありがとうございます!

    いただいたURL、今朝拝見していました!

    カスタムフィールドのプレビューも、munyaguさんの運営サイトでも問題なさそうとのことですし、
    やはりWPに実装されたか、カスタムフィールドが改良されたのか、というとこなのですね。

    長い間色々調べても解決できず困っていたのですが、
    お陰様で解決することができ、大変感謝しています!

    ありがとうございました!!

    • この返信は5 ヶ月、 1 週前に  jun316jun さんが編集しました。
    CG

    (@du-bist-der-lenz)

    日中のアクセスが多い時にテーマを変更するのは危険ですが、夜間に行うのもリスクが有り、確認作業やその間の手間がかえって障害を起こすこともあります。
    わたしは請け負ったサイトと全く同条件のサイトを、現状5タイプのサーバーで同レイアウトで異なる内容にして動作比較できるようにしています。

    CGさん、

    > 現状5タイプのサーバーで同レイアウトで異なる内容にして動作比較できるようにしています。

    5タイプのサーバー、、、すごいですね。。
    ということは、やはりサーバーごとに今回のようにエラーが出たり出なかったりということがあるため、そのようにされてるという事なんですよね?

    一応今回の企業のサーバーにはテストサーバーも用意があるため、通常はそちらで試してから本番サイトへのアップ、という流れで作業を行っているのですが、そのテストサイトにはWPが入れれないため、ローカルで作業し、問題がなかったため新たなサーバーへと引っ越ししました。
    ですが今回のように、サーバーによってエラーが発生するという事は頭になかったため、色々四苦八苦してしまいましたが、今後はそういう事も踏まえ、色々な状況で試すことも視野に入れて作業したいと思います!

    ありがとうございました!

    今回はサーバーごとに出る/出ないというより、本番サーバーのデバッグモードが有効になっていて、ローカルでは無効になっているんじゃないでしょうか。
    サーバー環境は関係ないと思います。

    http://wpdocs.osdn.jp/WordPress%E3%81%A7%E3%81%AE%E3%83%87%E3%83%90%E3%83%83%E3%82%B0#WP_DEBUG

    munyaguさん、

    そういう事なのですね。
    色々勉強になります。

    細かいところまでご丁寧にありがとうございました!!

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • このトピックに返信するにはログインが必要です。