web-dev-qa-db-ja.com

管理者パネル(wp-admin)にいるかどうか確認しますか?

スクリプトを実行する前に、プラグインにユーザーが管理パネルwp-admin)のどこかにいるかどうかを確認したいです。これには以下が含まれます。

/wp-admin/
/wp-admin/edit.php?post_type=page
/wp-admin/themes.php
etc.

global $pagenowを使うのと同じです。

global $pagenow;
if ( $pagenow == 'upload.php' ) {
    # do something if in the Media page
}

いくつかの調査をしてみると、 get_current_screen() 関数が私に必要なもののように見えますが、これは私が思い付いたもので、うまくいきません:

global $my_admin_page;
$screen = get_current_screen();
if ( $screen->id = $my_admin_page ) {
    return $content;
}

is_admin 関数を使用できます。定義上、「現在の要求が管理インタフェースページに対するものかどうか」をチェックします。

次のようにして、AJAX呼び出しを行っていないことを確認することもできます。

if ( ! is_admin() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) {
    # code here...
}
3
czerspalace