我需要让管理员无法管理选项,但它不起作用。。。
我的代码:
function set_capabilities() {
$editor = get_role( \'administrator\' );
$editor = remove_cap(\'manage_options\');
}
add_action( \'admin_init\', \'set_capabilities\' );
我做错了什么?我需要让管理员无法管理选项,但它不起作用。。。
我的代码:
function set_capabilities() {
$editor = get_role( \'administrator\' );
$editor = remove_cap(\'manage_options\');
}
add_action( \'admin_init\', \'set_capabilities\' );
我做错了什么?您正在创建一个函数并初始化一个覆盖它的局部范围变量。
这里有一种不同的方法:
global $wp_roles; // global class wp-includes/capabilities.php
$wp_roles->remove_cap( \'administrator\', \'manage_options\' );
_基于codex:remove_cap_编辑:
/**
* Remove capability from admins.
*/
function wpcodex_set_capabilities() {
// Get the role object.
$admin = get_role( \'administrator\' );
$admin->remove_cap( \'manage_options\' );
}
add_action( \'init\', \'wpcodex_set_capabilities\' );
有两种不同的方法可以做到这一点:
将以下任一代码段添加到子主题函数文件中。
function set_capabilities() {
$role = get_role( \'administrator\' );
$role = remove_cap(\'manage_options\');
}
add_action( \'init\', \'set_capabilities\' );
或者您也可以使用:function set_admin_capabilities(){
global $wp_roles;
$wp_roles->remove_cap( \'administrator\', \'manage_options\' );
}
add_action( \'init\', \'set_admin_capabilities\' );
我在apache日志中遇到了太多以下错误。PHP Fatal error: Cannot call overloaded function for non-object in wp-includes/capabilities.php on line 1187这是函数current\\u user\\u can($capability)的内部,第1187行如下所示:$current_user = wp_get_current_user(); 我不知道问题出在哪里?