
今日、あるユーザーからNaibaに「WordPressサイトが開けなくなった」と連絡があり、見てほしいとのことでした。
彼のサイトを開くと„Fatal error: Call to undefined function wp_doing_ajax() in /home/vgr8rn8v8/wwwroot/wp-content/plugins/siteorigin-panels/siteorigin-panels.php on line 45」と表示されました。
問題の原因
エラーの原因から見ると、問題はwp_doing_ajax() 関数ファイルにあります。
wp_doing_ajax() 関数はWordPress 4.7以降で追加された関数で、ちょうどこのユーザーは古いバージョンのWordPressを使用していました。
関連資料は公式ドキュメントを参照してください:https://developer.wordpress.org/reference/functions/wp_doing_ajax/
wp_doing_ajax()
現在のリクエストがAjaxリクエストかどうかを判定するために使用されます。WordPressのAjaxリクエストの場合はtrue、それ以外はfalseを返します。
function wp_doing_ajax() {
/**
* Filters whether the current request is a WordPress Ajax request.
*
* @since 4.7.0
*
* @param bool $wp_doing_ajax Whether the current request is a WordPress Ajax request.
*/
return apply_filters( 'wp_doing_ajax', defined( 'DOING_AJAX' ) && DOING_AJAX );
}解決方法
エラーメッセージから明らかに、問題はsiteorigin-panels/siteorigin-panels.phpの45行目にあります。プラグインの互換性の問題です。
問題を解決するのは簡単です。FTPツールを使用して、サーバー上のsiteorigin-panelsフォルダを削除してください。
このプラグインを引き続き使用したい場合は、まずWordPressを新しいバージョンにアップグレードしてから再インストールする必要があります。アップグレードできない場合は、サーバー環境が新しいバージョンのWordPressのハードウェア要件を満たしているか確認してください。WordPress 設定要件 WordPressをインストールするために必要なハードウェア条件
その他の状況
ウェブサイトが開かない状況が発生する場合、必ずしもPluginの問題とは限りません。Naibaは以前、WordPressサイトの503エラーの究極のトラブルシューティングガイドを共有しました。興味があれば読んでみてください。