在 wordpress 插件中,在 运行 函数之前检查用户是否为管理员
In wordpress plugin check if user is admin before running a function
如何在 运行 Wordpress 插件中的函数之前检查用户是否是管理员。一些看似微不足道的事情是一种痛苦。
我在网上看了几十篇文章,但找不到一个有用的东西。例如,我尝试了以下(在其他六种事物中)这是插件中的一个函数:
global $current_user;
if ( $current_user->role[0]=='administrator' ) {
function remove_post_metaboxes() {
remove_meta_box( 'formatdiv','album','normal' );
}
add_action('admin_menu','remove_post_metaboxes');
}
<?php if (current_user_can( 'manage_options' )) {
// do stuff
} ?>
$current_user = wp_get_current_user();
// print_r($current_user);
if ($current_user->has_cap('administrator')) {
// do something
echo 'is an admin';
}
所以我做错了,ReLeaf 提供的答案部分正确,但没有人指出我没有像我在原始问题中给出的示例那样尝试包装函数,这就是为什么我得到一个空白的管理员屏幕:
global $current_user;
if ( $current_user->role[0]=='administrator' ) {
function remove_post_metaboxes() {
remove_meta_box( 'formatdiv','album','normal' );
}
add_action('admin_menu','remove_post_metaboxes');
}
我应该在函数中加入条件语句:
function remove_post_metaboxes() {
global $current_user;
if ( $current_user->role[0]=='administrator' ) {
remove_meta_box( 'formatdiv','album','normal' );
}
}
add_action('admin_menu','remove_post_metaboxes');
这就是它的完成方式,感谢我向我指出它;)
如何在 运行 Wordpress 插件中的函数之前检查用户是否是管理员。一些看似微不足道的事情是一种痛苦。
我在网上看了几十篇文章,但找不到一个有用的东西。例如,我尝试了以下(在其他六种事物中)这是插件中的一个函数:
global $current_user;
if ( $current_user->role[0]=='administrator' ) {
function remove_post_metaboxes() {
remove_meta_box( 'formatdiv','album','normal' );
}
add_action('admin_menu','remove_post_metaboxes');
}
<?php if (current_user_can( 'manage_options' )) {
// do stuff
} ?>
$current_user = wp_get_current_user();
// print_r($current_user);
if ($current_user->has_cap('administrator')) {
// do something
echo 'is an admin';
}
所以我做错了,ReLeaf 提供的答案部分正确,但没有人指出我没有像我在原始问题中给出的示例那样尝试包装函数,这就是为什么我得到一个空白的管理员屏幕:
global $current_user;
if ( $current_user->role[0]=='administrator' ) {
function remove_post_metaboxes() {
remove_meta_box( 'formatdiv','album','normal' );
}
add_action('admin_menu','remove_post_metaboxes');
}
我应该在函数中加入条件语句:
function remove_post_metaboxes() {
global $current_user;
if ( $current_user->role[0]=='administrator' ) {
remove_meta_box( 'formatdiv','album','normal' );
}
}
add_action('admin_menu','remove_post_metaboxes');
这就是它的完成方式,感谢我向我指出它;)