Как исключить админа из изменений в WordPress php? - PullRequest
1 голос
/ 21 июня 2019

Я бы хотел исключить администратора из некоторых изменений на моем сайте, но не уверен, как это сделать.

У меня есть этот php:

add_action('wp_dashboard_setup', 
'wpse_73561_remove_all_dashboard_meta_boxes', 9999 
);

function 
wpse_73561_remove_all_dashboard_meta_boxes()
{
global $wp_meta_boxes;
$wp_meta_boxes['dashboard']['normal']['core'] = array();
$wp_meta_boxes['dashboard']['side']['core'] = array();
}

Это работает, чтобы применить изменения в целом, но, чтобы исключить администратора, я попробовал это и добавил его в первый php:

add_action( 'admin_head', 'wpso_add_admin_custom_css' ); 
function wpso_add_admin_custom_css() {
// Bail if Admin.
if ( current_user_can( 'manage_options' ) ) {
    return;
}

Так что же не так с кодом:

add_action( 'admin_head', 'wpso_add_admin_custom_css' ); 
function wpso_add_admin_custom_css() {
// Bail if Admin.
if ( current_user_can( 'manage_options' ) ) {
    return;
>? 

add_action('wp_dashboard_setup', 
'wpse_73561_remove_all_dashboard_meta_boxes', 9999 
);

function 
wpse_73561_remove_all_dashboard_meta_boxes()
{
global $wp_meta_boxes;
$wp_meta_boxes['dashboard']['normal']['core'] = array();
$wp_meta_boxes['dashboard']['side']['core'] = array();
}

Ответы [ 2 ]

0 голосов
/ 24 июня 2019

Вы можете проверить доступ пользователя с помощью current_user_can() и залог, если администратор.

function wpse_73561_remove_all_dashboard_meta_boxes() {
    global $wp_meta_boxes;
    if ( current_user_can( 'manage_options' ) ) {
        return;
    }
    $wp_meta_boxes['dashboard']['normal']['core'] = array();
    $wp_meta_boxes['dashboard']['side']['core']   = array();
}
add_action( 'wp_dashboard_setup', 'wpse_73561_remove_all_dashboard_meta_boxes', 9999 );
0 голосов
/ 21 июня 2019

Вы можете использовать is_admin(), чтобы применять эти действия только к административным или неадминистративным запросам. https://codex.wordpress.org/Function_Reference/is_admin

Например:

if (!is_admin()) {
    add_action( 'admin_head', 'wpso_add_admin_custom_css' );
    function wpso_add_admin_custom_css() {
        // ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...