Cum să dezactivezi notificările pluginurilor pentru utilizatorii non-administratori
Cum să ascund/dezactivez notificările pluginurilor pentru utilizatorii non-administratori în panoul de control? Poți să mă ajuți cu asta? Mulțumesc

Cea mai simplă metodă ar fi să ascundeți notificările prin CSS, vedeți mai jos:
function hide_update_msg_non_admins(){
if (!current_user_can( 'manage_options' )) { // utilizatorii non-administratori
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');
Un răspuns mai detaliat poate fi găsit aici.

Salut Adrian! Îți mulțumesc pentru răspuns. Totuși, am încercat să folosesc fragmentele tale de cod. Nu au funcționat pentru mine. Utilizatorii non-administratori (în cazul meu Editor) pot vedea în continuare unele notificări de la plugin-uri. (Se afișează că utilizatorul nu are permisiunea să instaleze acel plugin). Vreau să ascund acest tip de mesaje pentru orice utilizator care nu este administrator. Ai vreo sugestie? Îți mulțumesc din nou.

Am modificat ușor fragmentul tău de cod și a funcționat perfect pentru mine. Mulțumesc. 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');

Super, am actualizat codul! Te rog să marchezi răspunsul meu ca aprobat.

Acest lucru funcționează pentru mine:
add_action('admin_head', 'admin_only_warnings');
function admin_only_warnings() {
if(is_admin() && !current_user_can('administrator') ) {
echo '<style>
<!-- adaugă clasele/ID-urile tale mai jos -->
.warning, .error, .updated {display:none !important;}
}
</style>';
}
}

Încearcă aceasta
function am_disable_admin_notices() {
global $wp_filter;
if (!current_user_can( 'manage_options' )) { // Dacă utilizatorul nu are drepturi de administrator
if (isset($wp_filter['user_admin_notices'])) {
unset( $wp_filter['user_admin_notices']); // Elimină notificările pentru utilizatorii obișnuiți
}
}
add_action( 'admin_print_scripts', 'am_disable_admin_notices' );

Am găsit cea mai bună soluție pe Kingsta. Prefer să nu interferez cu CSS-ul de admin.
// Ascunde notificările de actualizare din panoul de control pentru utilizatorii non-administrator
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');
Sursa: https://kinsta.com/knowledgebase/disable-wordpress-update-notification/
