您可以尝试以下操作:
$current_user = wp_get_current_user();
if( user_can( $current_user, \'main-admin\' ) ) {
// Do your stuff
}
有关更多信息,请阅读法典:
user_can
,
wp_get_current_user
Edit: 我的错误是读错了,我以为你指的是一个自定义角色主管理员
不要让我的错误突然变得正确,但也许你可以创建一个用户所属的角色。(可能更容易管理?)
<小时>Add-on 现在尝试给出正确的答案/选项
有几种方法/选项可以实现您的目标,如下2种:
知道名称可以使用:get_currentuserinfo()
global $current_user;
get_currentuserinfo();
if ( $current_user->user_lastname ) {
// Do your stuff
}
法典:
get_currentuserinfo
当您知道可以使用的用户id时get_current_user_id()
:
$user_id = get_current_user_id();
if ( $user_id == 5 ) { // add correct id
// Do your stuff
}
法典:
get_current_user_id
如上所述,您还可以创建一个带有管理员帽的自定义角色,如下所述here 作者:RutwickGangurde。为了保持这里的答案完整,我在这里添加了代码
NB: The setting is saved to the database (in table wp_options, field wp_user_roles), so it needs to run only once
我个人在functions.php
要确保某个函数只运行一次,在这种情况下,这是必须的
将这两个功能添加到functions.php
(先复制一份!)
class run_once
{
function run( $key )
{
$scenario = get_option( \'run_once\' );
if ( isset( $scenario[$key] ) && $scenario[$key] )
{
return false;
}
else {
$scenario[$key] = true;
update_option( \'run_once\', $scenario );
return true;
}
} // end function
} // end class
// Now use the class with this function (which will only run once!)
$run_once = new run_once;
if ( $run_once->run( \'cloneRole\' ) )
{
function cloneRole()
{
global $wp_roles;
if ( ! isset( $wp_roles ) )
$wp_roles = new WP_Roles();
$adm = $wp_roles->get_role( \'administrator\' );
//Adding a \'new_role\' with all admin caps
$wp_roles->add_role( \'main-admin\', \'Main Admin\', $adm->capabilities );
} // end Function
add_action( \'init\', \'cloneRole\' );
} // end if(..)
核心信息关于
add_role
现在,您可以将用户添加到此自定义角色,并在其他情况下使用该角色,如:
$current_user = wp_get_current_user();
if( user_can( $current_user, \'main-admin\' ) )
{
// Do your stuff
}