Fatal error: Uncaught Error: Call to undefined function wp()
WordPressサーバー移行したらFatal error: Uncaught Error: Call to undefined function wp()って何奴?
動作していたWordPressをサーバー引越で移動したところ、「Fatal error: Uncaught Error: Call to undefined function wp()」と表示されたりされなかったりとよくわからないエラーが発生しました。
WEBサイト制作やシステム制作していて、エラーが出たりでなかったりっということが一番原因をつかみにくいエラーと思っています。
エラーを解決するために実施したこと
よくわからないエラーをよくわからないと何を対処してよいのかわかりません。そのために一つずつチェックしていきます。
WEBサーバー側やWP側キャッシュとか停止を行います。(キャッシュが有効だとさらにわからないので停止します)
・wp-configで「define( ‘WP_DEBUG’, false );」を「define( ‘WP_DEBUG’, true );」にしてなにかエラーが出ているのか
・サーバー上のエラーログはどうなのか
上記の2箇所を見ても何も問題はありませんでした。なぜ???
そんなときは、別PCや別のIPアドレスからもアクセスして、さらに分析を進めます。
別IPアドレスから管理画面に入ろうとしたら・・・。
あれ、「Forbidden」では入れません・・・。
ということで、FTPでwp-adminフォルダを探索し、「htaccess」を見たところ、IPアドレス指定でのアクセス制限が設定されていました。
このhtaccessを削除したところ、「Fatal error: Uncaught Error: Call to undefined function wp()」エラーも消えました。
結論
「wp-admin」フォルダのアクセス制限は気をつけよう!
ということに至りました。