Как скрыть уведомления плагинов для пользователей без прав администратора

10 нояб. 2015 г., 09:40:34
Просмотры: 13.5K
Голосов: 3

Как скрыть/отключить уведомления плагинов для пользователей без прав администратора в админке? Можете помочь с этим? Спасибо

0
Все ответы на вопрос 5
4

Самый простой способ — скрыть уведомления с помощью CSS, как показано ниже:

    function hide_update_msg_non_admins(){
     if (!current_user_can( 'manage_options' )) { // для пользователей без прав администратора
            echo '<style>#setting-error-tgmpa>.updated settings-error notice is-dismissible, .update-nag, .updated { display: none; }</style>';
        }
    }
    add_action( 'admin_head', 'hide_update_msg_non_admins');

Более подробный ответ можно найти здесь.

10 нояб. 2015 г. 10:48:46
Комментарии

Привет, Адриан! Спасибо за ответ. Однако я попробовал использовать твои сниппеты, но у меня они не сработали. Пользователи не-администраторы (в моем случае Редактор) все равно видят некоторые уведомления плагинов. (Сообщение говорит, что у пользователя нет прав на установку этого плагина). Я хочу скрывать такие сообщения для всех пользователей, кроме администратора. Есть какие-то предложения? Еще раз спасибо.

Nizam Uddin Sikder Nizam Uddin Sikder
10 нояб. 2015 г. 18:12:37

Я немного изменил твой сниппет, и он идеально сработал у меня. Спасибо. function hide_update_msg_non_admins(){ if (!current_user_can( 'manage_options' )) { echo '<style>#setting-error-tgmpa>.updated settings-error notice is-dismissible, .update-nag, .updated { display: none; }</style>'; } } add_action( 'admin_head', 'hide_update_msg_non_admins');

Nizam Uddin Sikder Nizam Uddin Sikder
10 нояб. 2015 г. 18:58:51

Отлично, я обновил код! Пожалуйста, отметь мой ответ как принятый.

Adrian Spiac Adrian Spiac
10 нояб. 2015 г. 19:38:44

Пожалуйста, @NizamUddinSikder, отметьте ответ Adrian_Spiac как правильный, чтобы помочь другим и не тратить их время. Спасибо.

ken4ward ken4ward
25 июл. 2020 г. 18:44:14
1

Вы можете попробовать следующий фрагмент кода в вашем файле functions.php

if ( current_user_can( 'manage_options' ) ) {
} else {
echo ".update-nag , .error, .updated{ display:none; }";
}
15 янв. 2016 г. 00:00:45
Комментарии

Это скроет уведомления и предупреждения для всех пользователей, не являющихся администраторами

Zaheer Ahmad Khan Zaheer Ahmad Khan
15 янв. 2016 г. 00:01:37
0

Это работает для меня:

add_action('admin_head', 'admin_only_warnings');

function admin_only_warnings() {
if(is_admin() && !current_user_can('administrator') ) {
  echo '<style>
    <!-- добавьте ваши классы/идентификаторы ниже -->
    .warning, .error, .updated {display:none !important;}
    } 
  </style>';
}
}
16 янв. 2019 г. 10:42:20
0

Попробуйте этот вариант

function am_disable_admin_notices() {
global $wp_filter;
if (!current_user_can( 'manage_options' )) {
    if (isset($wp_filter['user_admin_notices'])) {
            unset( $wp_filter['user_admin_notices']);
    }
}
add_action( 'admin_print_scripts', 'am_disable_admin_notices' );
21 сент. 2019 г. 13:19:04
0

Я нашел лучшее решение на Kinsta. Я предпочитаю не вмешиваться в CSS админки.

// Скрываем уведомления об обновлениях на дашборде для пользователей без прав администратора
function kinsta_hide_update_nag() {
    if ( ! current_user_can( 'update_core' ) ) {
        remove_action( 'admin_notices', 'update_nag', 3 );
    }
}

add_action('admin_menu','kinsta_hide_update_nag');

Источник: https://kinsta.com/knowledgebase/disable-wordpress-update-notification/

15 сент. 2022 г. 13:33:11