检查我是否在管理面板中(wp-admin)?

时间:2016-08-30 作者:Ethan O\'Sullivan

我想让我的插件检查用户是否在Admin Panel (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;
}

1 个回复
最合适的回答,由SO网友:czerspalace 整理而成

您可以使用is_admin 作用根据定义,它检查“当前请求是否用于管理接口页”

您可能还想通过执行以下操作来验证您没有执行AJAX调用

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

相关推荐

使用wp_ins_post()插入新帖子后,该帖子对wp_Query不可见,但同样的WP_Query也适用于从wp-admin面板插入的帖子

制作脚本,在特定条件下向数据库添加新的自定义帖子。一切正常。但有一种流动。在用我的脚本将帖子写入数据库后,我无法用WP\\u查询将其提取出来。如果我直接从wp管理面板添加帖子,所有WOKR都可以。但如果我用脚本添加帖子,我无法用WP\\u查询提取它们。新添加的帖子显示在wp admin面板的帖子列表中,包含所有所需的值,这些都很酷,但对wp\\U查询不可见。只有在我在wp管理面板中更改帖子的任何自定义字段并按下更新按钮后,它才可见。参考页面后,一切都开始完美工作。新帖子似乎已经发布,当我列出所有此类可用帖