not foundエラーの原因
WordPressで外部ファイルの中でWP関数やfunctions.phpを実行しようとするとnot foundエラーが出ます。
requireなどで外部ファイルを読み込んで使用する場合は大丈夫なのですが、ajaxなどでWP関数を実行するとエラーが出ると思います。
解決方法
WP関数やfunctions.phpで定義した関数を実行するには、wp-load.phpの読み込みが必要です。
外部ファイルではwp-load.phpが読み込まれてないのでnot foundエラーが出る感じだと思います。
なのでwp-load.phpを読み込んでやればOKです。
以下のように書きます。
wp-load.phpの読み込み
$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] )[0];
require_once( $parse_uri . 'wp-load.php' );
一行目はwp-load.phpまでのパスを取得しているのですが、これは下記の記事で解説しています。
以上になります。
コメント