Come limitare i menù di amministrazione WP per un certo ruolo

Come Limitare I Menù Di Amministrazione Wp Per Un Certo Ruolo

Come dicevo nel mio articolo precedente, non ho mai trovato un plugin di WordPress che mi permettesse un controllo granulare soprattutto dei menù presenti nel backend.
Per certi ruoli, è accessibile anche il tema per esempio, anche se non sarebbe necessario.
Qui ho salvato uno script da salvare nel file functions.php del tema o negli snippets se usate il plugin relativo che vi permette un controllo granulare della visualizzazione dei menù nel backend di WordPress per il ruolo Moderatore.

/* Limit the admin menus of Moderator */
function hide_moderator() {

	// Use this for specific user role. Change moderator part accordingly
	if (current_user_can('moderator')) {

		/* DASHBOARD */
		//  remove_menu_page( 'index.php' ); // Dashboard + submenus
		//  remove_menu_page( 'about.php' ); // WordPress menu
			remove_submenu_page( 'index.php', 'update-core.php');  // Update

		/* WP DEFAULT MENUS */
			remove_menu_page( 'edit-comments.php' ); //Comments
			remove_menu_page( 'plugins.php' ); //Plugins
			remove_menu_page( 'tools.php' ); //Tools
		//	remove_menu_page( 'users.php' ); //Users
		//	remove_menu_page( 'edit.php' ); //Posts
		//	remove_menu_page( 'upload.php' ); //Media
		// 	remove_menu_page( 'edit.php?post_type=page' ); //Pages
		// 	remove_menu_page( 'themes.php' ); //Appearance
			remove_menu_page( 'options-general.php' ); //Settings



		/* SETTINGS PAGE SUBMENUS */
		 	remove_submenu_page( 'users.php', 'users.php');  // All users
		 	remove_submenu_page( 'users.php', 'user-new.php');  // Add User



		/* SETTINGS PAGE SUBMENUS */
		// 	remove_submenu_page( 'options-general.php', 'options-permalink.php');  // Permalinks
		// 	remove_submenu_page( 'options-general.php', 'options-writing.php');  // Writing
		// 	remove_submenu_page( 'options-general.php', 'options-reading.php');  // Reading
		// 	remove_submenu_page( 'options-general.php', 'options-discussion.php');  // Discussion
		// 	remove_submenu_page( 'options-general.php', 'options-media.php');  // Media
			remove_submenu_page( 'options-general.php', 'options-general.php');  // General
		// 	remove_submenu_page( 'options-general.php', 'options-privacy.php');  // Privacy

		/* APPEARANCE SUBMENUS */
		 	remove_submenu_page( 'themes.php', 'widgets.php' ); // hide Widgets
		// 	remove_submenu_page( 'themes.php', 'nav-menus.php' ); // hide Menus
			remove_submenu_page( 'themes.php', 'themes.php' ); // hide the theme selection submenu
			remove_submenu_page('themes.php', 'theme-editor.php'); // hide Theme editor
			remove_submenu_page('themes.php', 'site-editor.php'); // hide Theme editor beta
			remove_submenu_page('themes.php', 'ma_customfonts' ); // Custom Fonts

		/* HIDE CUSTOMIZER MENU */
			$customizer_url = add_query_arg( 'return', urlencode( remove_query_arg( wp_removable_query_args(), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ), 'customize.php' );
			remove_submenu_page( 'themes.php', $customizer_url );

		/* Plugin related submenus under Settings page */
		// remove_submenu_page( 'options-general.php', 'webpc_admin_page' ); // WebP converter
		// remove_submenu_page( 'options-general.php', 'kadence_blocks' ); // Kadence Blocks

		
    		remove_submenu_page( 'edit.php?post_type=sp_wp_carousel', 'wpcp_settings' ); // wpcp settings
    		remove_submenu_page( 'edit.php?post_type=sp_wp_carousel', 'wpcp_help' ); // wpcp help
    		remove_submenu_page( 'edit.php?post_type=sp_wp_carousel', 'wpcp_tools' ); // wpcp tools

		
		/* 3rd party plugin menus */
			remove_menu_page( 'wpcb_menu_page_php' ); // Code snippets
			remove_menu_page( 'rank-math' ); // Rank Math
			remove_menu_page( 'gf_edit_forms' ); // Gravity Forms
			remove_menu_page( 'edit.php?post_type=acf-field-group' ); // ACF
			remove_menu_page( 'cptui_main_menu' ); // CPT UI
			remove_menu_page( 'ct_dashboard_page' ); // Oxygen
			remove_menu_page( 'maxmegamenu' ); // Max Mega Menu
			remove_menu_page( 'oxy_extras_menu' ); // Pxy Extra
			remove_menu_page( 'smush' ); // Smush
			remove_menu_page( 'wp-mail-smtp' ); // SMTP
			remove_menu_page( 'easy-wp-smtp' ); // Any Font
			remove_menu_page( 'duplicator' ); // Duplicator
			remove_menu_page( 'mlang' ); // Polylang
			remove_menu_page( 'ald_setting' ); // Polylang


		/* Remove admin notice */
			remove_all_actions( 'admin_notices' );	
	}
}
add_action('admin_head', 'hide_moderator');

/* Remove top admin bar menu */
function remove_wp_admin_bar_options( $wp_admin_bar ) {
	if (current_user_can('moderator')) {   
		/* il node in questione è l'id del tag li 'senza wp-admin-bar-' */
		$wp_admin_bar->remove_node('menu-toggle');
		$wp_admin_bar->remove_node('wp-logo');
		$wp_admin_bar->remove_node('updates');
		$wp_admin_bar->remove_node('new-content');
		$wp_admin_bar->remove_node('rank-math');
		$wp_admin_bar->remove_node('rocket-settings');
		$wp_admin_bar->remove_node('docs');
		$wp_admin_bar->remove_node('faq');
		$wp_admin_bar->remove_node('support');
		$wp_admin_bar->remove_node('customize');
	}
}
add_action( 'admin_bar_menu', 'remove_wp_admin_bar_options', PHP_INT_MAX );

Se vuoi una mano con la personalizzazione del tuo sito in WordPress, contattami attraverso questo modulo

Richiedi informazioni

Raccontami il tuo progetto, tracking, accessibilità, campagne adv da sistemare o semplicemente un sito che non vuol saperne di funzionare. Insieme possiamo migliorarlo.

    Accetto la Privacy Policy
    Autorizzo al trattamento dei miei dati personali, per ricevere le informazioni richieste attraverso questo modulo di contatto. I dati da te inseriti attraverso questo modulo verranno utilizzati solo per essere da me ricontattato.

    Recensioni

    Pubblicato su Google Google
    Flavio Corò profile picture
    Flavio Corò
    22/09/2023
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Ho avuto il piacere di contattare la Sig.ra Sara tramite suggerimento da parte di un mio cliente per riisolvere una pratica burocratica/lavorativa e devo dire che la VELOCITÀ, PROFESSIONALITÀ, e COMPETENZA fanno parte del Suo bagaglio lavorativo,qualita al giorno d'oggi per niente scontate.Pienamente soddisfatto.
    Pubblicato su Google Google
    Sonico Beauty profile picture
    Sonico Beauty
    17/01/2023
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Sara ci ha aiutato a risolvere piu' problemi in pochi minuti e con molta professionalità. Massima disponibilità e grande conoscenza nel mondo web. Assolutamente consigliata. Grazie mille
    Pubblicato su Google Google
    Studio Legale Avvocato Armando Baffioni Venturi profile picture
    Studio Legale Avvocato Armando Baffioni Venturi
    07/11/2022
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Contattata tramite il suo sito web si è rivelata una persona affabile e preparata, pronta nel recepire le mie necessità e nel darmi le indicazioni corrette da seguire. Assolutamente da consigliare anche per assistenze e consulenze da remoto.
    Pubblicato su Google Google
    Hermann Gils profile picture
    Hermann Gils
    28/10/2022
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Molto esperta, preparata e competente!
    Pubblicato su Google Google
    Antonio Cimadomo profile picture
    Antonio Cimadomo
    07/08/2022
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Definire La Sig.a Sara Gasparini persona capace, Umile, molto intelligente e disponibile è il minimo che si possa fare. E' stata una grande emozione per me averla 'scovata'. Persone come Sara alzano, e di tanto, il livello sociale/culturale. Ringrazio ancora Sara per esserci.... Antonio p.s. Peccato ci siano solo 5 stelle :-(
    Pubblicato su Google Google
    Max R_DJ profile picture
    Max R_DJ
    16/06/2021
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Molto professionale e preparata, ha risolto subito un mio problema inerente alle recensioni Google sul mio sito web. Complimenti Sara!
    Pubblicato su Google Google
    Fabrizio Aureli profile picture
    Fabrizio Aureli
    18/03/2021
    Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
    Ottima collaboratrice

    Scrivimi una recensione

    Questo QR Code ti permette di lasciarmi una recensione in maniera facile e veloce.

    Altrimenti usa il bottone qui sotto.

    Lascia una recensione su Google