Как сделать мой собственный мета-блок WordPress видимым только для администраторов? - PullRequest
1 голос
/ 24 мая 2011

Я использую свой functions.php для добавления настраиваемого мета-поля на страницу моих сообщений в Административной области WordPress.Однако мне нужно сделать так, чтобы он был виден только администраторам, а не редакторам, авторам и т. Д.

Что бы я сделал, чтобы он был виден только администраторам?

Ответы [ 3 ]

4 голосов
/ 24 мая 2011
function your_function() {
    global $current_user;
    if($current_user->roles[0] == 'administrator') {
        add_meta_box(your parameters);
        // fill in your parameters
    }
}
add_action('admin_init','your_function');
0 голосов
/ 28 апреля 2015

Этот фрагмент работает для пользовательских таксономий. Он удаляет / скрывает настраиваемый мета-блок таксономии для всех не-администраторов, предполагая, что никакая другая роль не имеет возможности update_core. Аналогично, но противоположно ответу @ johannes-pille

function remove_tax_metaboxes() {
    if (!current_user_can('update_core')) {
        remove_meta_box( 'taxdiv', 'post', 'side' );
    }
}
add_action( 'do_meta_boxes', 'remove_tax_metaboxes' );

Обратите внимание, что третий аргумент remove_meta_box может отличаться, см. https://codex.wordpress.org/Function_Reference/remove_meta_box

0 голосов
/ 24 мая 2011
if ( is_user_logged_in() ) {
    get_currentuserinfo();
    # check if current user is admin
    if ( $current_user->wp_user_level >= 10 ) {
        # put your admin-only function here
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...