如何检查目前是否在Wordpress管理员?

Mat*_*att 32 wordpress admin wordpress-plugin

我正在创建我的第一个插件,并有一个控制输出的函数.此功能根据是否从WordPress管理员与前端内部进行查看而具有不同的输出.有没有办法轻松测试我的功能是否从管理员与前端内部触发?

我已经尝试有条件地检查查询字符串与我的插件"页面"名称的名称,但似乎在某些服务器/安装上失败.

谢谢

Mat*_*att 56

呃,这太明显了.出于某种原因,我认为这与管理员用户有关. if(is_admin()) { ...output my admin stuff....}

http://codex.wordpress.org/Function_Reference/is_admin

  • 警告警告 Will Robinson:此代码检查您是否在管理区域,而不是您是否以管理员身份登录!! (4认同)

psy*_*brm 20

如果您想知道当前用户是否为ADMIN,那么您应该使用:

   $is_admin = current_user_can( 'manage_options' );
Run Code Online (Sandbox Code Playgroud)

我被上面的答案误导了,所以要注意防止别人犯同样的错误.

  • 如果您不使用当前用户,则可以使用user_can(1,'manage_options'),其中"1"是用户ID.再次,就像"current_user_can()"一样,这与检查用户是否正在查看和管理页面无关. (2认同)

Cha*_*met 14

请注意,is_admin()仅适用于后端.对于您需要使用的公共网站上显示的插件的任何部分current_user_can().

if ( current_user_can( 'administrator' ) ) {
  // your code goes here
}
Run Code Online (Sandbox Code Playgroud)