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

Самый простой способ — скрыть уведомления с помощью 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');
Более подробный ответ можно найти здесь.

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

Я немного изменил твой сниппет, и он идеально сработал у меня. Спасибо. 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');

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

Это работает для меня:
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>';
}
}

Попробуйте этот вариант
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' );

Я нашел лучшее решение на 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/
