web-dev-qa-db-ja.com

致命的なエラー:未定義の関数post_exists()への呼び出し

私は自分のクラスで他のワードプレス関数を使用しているのと同じように、この関数を使用しています。

私はそれがなぜ "宣言に行く"ファイルwp-admin/includes/post.phpを指している間にそれが関数を見つけることができないのか理解することができません。

wP管理ファイル機能はグローバルとして存在しません。

3
justnajm

wp-admin内のファイルは、管理者エリアにいるときにのみロードされます。ページや投稿を見ているときには、これらの関数はロードされません。その場合は、最初にファイルを要求する必要があるので、関数内で次のようなことをしたいと思います。

if ( ! is_admin() ) {
    require_once( ABSPATH . 'wp-admin/includes/post.php' );
}

if ( ! is_admin() )truename__の場合はWordPressが自動的にファイルをインクルードするので、is_admin()falsename__の場合にのみ含める必要があるため、is_admin()の部分は重要です。また、post_exists()関数を呼び出そうとしているこのスニペットbeforeを必ず含めてください。

それでもうまくいかない場合は、これを試してください。

if ( ! function_exists( 'post_exists' ) ) {
    require_once( ABSPATH . 'wp-admin/includes/post.php' );
}
8
Wes Moberly