axxe16
2/6/2017 - 12:28 PM

Nasconde i vari elementi del backend in base al nickname dell'utente

Nasconde i vari elementi del backend in base al nickname dell'utente

<?php
//stampa l'array completa del menu. Per nascondere la pagine prendere l'elemento [2] di ciascuna voce
add_action( 'admin_init', 'wpse_136058_debug_admin_menu' );
function wpse_136058_debug_admin_menu() {
    echo '<pre>' . print_r( $GLOBALS[ 'menu' ], TRUE) . '</pre>';
}

//così nascondo una o più voci di menù per gli utenti che non sono amministratori
//rimuovo elementi nel menù in bakend
add_action( 'admin_menu', 'remove_menus' , 999);
function remove_menus(){
   global $current_user;
   if ($current_user->user_login!='admin'){
	  remove_menu_page( 'index.php' );                  //Dashboard
	  remove_menu_page( 'edit.php' );                   //Posts
	  remove_menu_page( 'upload.php' );                 //Media
	  remove_menu_page( 'edit.php?post_type=page' );    //Pages
	  remove_menu_page( 'edit-comments.php' );          //Comments
	  remove_menu_page( 'themes.php' );                 //Appearance
	  remove_menu_page( 'plugins.php' );                //Plugins
	  remove_menu_page( 'users.php' );                  //Users
	  remove_menu_page( 'tools.php' );                  //Tools
	  remove_menu_page( 'options-general.php' );        //Settings
	  remove_menu_page( 'edit.php?post_type=acf-field-group' );//ACF
	  remove_menu_page( 'duplicator' );
	  remove_menu_page( 'bulk-delete-posts' );
  } else {
	  // qui nascondo per l'admin
  }
}

<?php
//rimuove dalla bacheca tutti gli elementi in dashboard
add_action( 'admin_init', 'remove_dashboard_meta' );
function remove_dashboard_meta() {
		remove_action('welcome_panel', 'wp_welcome_panel');
    remove_meta_box( 'dashboard_incoming_links', 'dashboard', 'normal' );
    remove_meta_box( 'dashboard_plugins', 'dashboard', 'normal' );
    remove_meta_box( 'dashboard_primary', 'dashboard', 'side' );
    remove_meta_box( 'dashboard_secondary', 'dashboard', 'normal' );
    remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' );
    remove_meta_box( 'dashboard_recent_drafts', 'dashboard', 'side' );
    remove_meta_box( 'dashboard_recent_comments', 'dashboard', 'normal' );
    remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' );
    remove_meta_box( 'dashboard_activity', 'dashboard', 'normal');//since 3.8
}