我有一个我写的插件。一个用户的主题使用蒙版仪表板在其网站上添加列表时遇到兼容性问题。如果用户已登录,并且是参与者,但不是管理员,则我对is\\u admin()的检查将返回true,因为从技术上讲,它们位于仪表板页面上。
所以我的代码检查它们是否是admin,然后运行一系列函数。检查之一是他们是否有权限管理选项。如果他们没有管理选项的权限,它就会失效。这是主题的一个问题,所以我简单地用以下内容包装了我的add\\u action标记
if ( is_super_admin() ) {
add_action( \'admin_init\', \'myplugin_register\');
add_action( \'admin_menu\', \'myplugin_menu\' );
}
当任何管理员访问站点的wp admin区域时,这会引发500错误。我不知道为什么一个简单的检查用户是否是超级管理员会导致网站崩溃。
有关is\\u super\\u admin()的详细信息,请单击此处http://codex.wordpress.org/Function_Reference/is_super_admin
最合适的回答,由SO网友:s_ha_dum 整理而成
从粘贴箱:
if (!function_exists(\'wp_get_current_user\')) {
include_once( ABSPATH . \'wp-admin/includes/pluggable.php\' );
}
if ( is_super_admin() ) {
add_action( \'admin_init\', \'myplugin_register\');
add_action( \'admin_menu\', \'myplugin_menu\' );
}
上没有文件
wp-admin/includes/pluggable.php
.
pluggable.php
位于
wp-includes/pluggable.php
, 但我看不出你有什么理由故意把那个文件包括进去。它加载前端和后端。