• 解決済 cnoise

    (@cnoise)


    サーバーを移転したらエラーが発生するようになってしまいました

    PHPのバージョンは8.3.21
    WPのバージョンは6.6.2

    管理画面自体や、サイトの表示自体には問題が無いように見えるのですが、
    記事の新規投稿をしようとすると、エラーが発生します。
    PHP Fatal error: Uncaught TypeError: call_user_func_array():
    Argument #1 ($callback) must be a valid callback, no array or string given in
    /home/********/public_html/wp-includes/class-wp-hook.php:324
    といったエラーが表示され、入力フォームすら表示されません。

    使用しているプラグインもすべて更新していますので、テーマが問題なのではないかと思いますが、
    自分で作ったのではない独自のテーマなので、どこがエラーの元となっているのかわかりません。

    エラーについても、関数が見つからない方の情報は探すと出てくるのですが、no array or stringになると見つからず困っております。
    どのような可能性があるのかだけでもヒントをいただければ助かりますので、お願いします。

    Stack trace:
    0 /wp-includes/plugin.php(205): WP_Hook->apply_filters(true, Array)
    1 /wp-includes/general-template.php(3771): apply_filters(‘user_can_riched…’, true)
    2 /wp-includes/class-wp-editor.php(106): user_can_richedit()
    3 /wp-includes/class-wp-editor.php(160): _WP_Editors::parse_settings(‘content’, Array)
    4 /wp-includes/general-template.php(3826): _WP_Editors::editor(”, ‘content’, Array)
    5 /wp-admin/edit-form-advanced.php(618): wp_editor(”, ‘content’, Array)
    6 /wp-admin/post-new.php(75): require(‘/home/********/…’)
    7 {main}
    thrown in /home/********/public_html/wp-includes/class-wp-hook.php on line 324

    テーマを変更してみて、エラーが発生するか確認したいところですが、
    元に戻せなくなった場合のことを考えて躊躇しております。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター Yukinobu Asakawa

    (@yukinobu)

    こんにちは。
    まずは、原因の切り分けをしないと有効な対策が決めれないので、テーマに起因する問題かどうかを調べるべきだと思います。

    テーマを変更してみて、エラーが発生するか確認したいところですが、
    元に戻せなくなった場合のことを考えて躊躇しております。

    サイトのバックアップデータがあれば復旧できると思いますが、バックアップはありますか?
    サーバーを移転したとのことですからバックアップデータはあると思います、いくつか質問させてください。

    • 移転する時のデータ移行はどのような手順で誰が行いましたか?
      1.プラグインの「All-in-One WP Migration and Backup」
      2.レンタルサーバーの会社が提供しているWordPress移行ツールなど
    • 移行前と移行後のPHP、データベース、WordPress本体の各バージョンは一致していますか?
      情報共有は多い方が良いので、できたら記載してください。バージョンを揃えたらエラー解消されることもあります。
    • もし、もう一つテスト環境(本番環境とは別という意味)を用意できるのであれば、そちらに移行してみて、テーマを切り替えてエラーの発生状況に違いがあるか確認してください。

    繰り返しになりますが、色々触って状況をより悪くする前に、バックアップデータをまずは確認してください。

    トピック投稿者 cnoise

    (@cnoise)

    移転はサーバー会社側のサーバーアップグレードに伴うもので
    PHPのバージョンが5系から8系に変わりました。
    ですので、基本的にサーバー会社側でデータの移行をしています。

    テスト環境までは考えてなかったので
    一度、ローカルにて再現してみてテーマ差し替えを試してみたいと思います。

    ありがとうございます。

    トピック投稿者 cnoise

    (@cnoise)

    ローカルでテーマ差し替えをしてみた結果、新規投稿画面が不通に表示されました。
    ということはやはりテーマファイルに問題があるようです。

    function.phpにいくつか
    add_filter
    remove_filter
    remove_action
    add_action
    があったので、少しずつ確認していくと
    add_filter(‘user_can_richedit’ , false , 50);
    という行をコメントアウトしたら、エラーが出なくなりました。

    そこで、検索して記述が違うことに気づき
    add_filter(‘user_can_richedit’, ‘__return_false’, 50);
    としたところ、問題なく表示されるようになりました。

    PHPのバージョンアップによって
    記述ルールが変更になり、エラーとなっていたようでした。

    ローカル、テスト環境を準備するというところまで考え付いていなかったことを
    恥じるばかりです。
    ありがとうございました。

    モデレーター Yukinobu Asakawa

    (@yukinobu)

    ご報告ありがとうございます。

    承知いたしました。解決できて良かったですね😃

4件の返信を表示中 - 1 - 4件目 (全4件中)

トピック「新規投稿をしようとするとエラーが発生してしまう」には新たに返信することはできません。