/**
 * Nasconde le voci di menu per gli utenti Subscriber,
 * lasciando visibile soltanto "Profilo".
 */
function limit_subscriber_admin_menu() {
    // Controlliamo se l'utente connesso è un Subscriber
    if ( current_user_can('subscriber') && ! current_user_can('manage_options') ) {
        
        // Rimuoviamo le voci di menu che non vogliamo mostrare
        remove_menu_page('index.php');                  // Dashboard
        remove_menu_page('edit.php');                   // Articoli
        remove_menu_page('upload.php');                 // Media
        remove_menu_page('edit.php?post_type=page');    // Pagine
        remove_menu_page('edit-comments.php');          // Commenti
        remove_menu_page('themes.php');                 // Aspetto
        remove_menu_page('plugins.php');                // Plugin
        remove_menu_page('users.php');                  // Utenti
        remove_menu_page('tools.php');                  // Strumenti
        remove_menu_page('options-general.php');        // Impostazioni
    }
}
add_action('admin_menu', 'limit_subscriber_admin_menu', 999);

/**
 * (Facoltativo) Rimuove alcune voci dalla barra di amministrazione
 * in alto per gli utenti Subscriber.
 */
function remove_admin_bar_items_for_subscriber( $wp_admin_bar ) {
    if ( current_user_can('subscriber') && ! current_user_can('manage_options') ) {
        // Rimuove i link Rapido (Nuovo Articolo, Nuova Pagina, ecc.)
        $wp_admin_bar->remove_node('new-content');
        // Rimuove i commenti
        $wp_admin_bar->remove_node('comments');
        // Rimuove il logo di WordPress
        $wp_admin_bar->remove_node('wp-logo');
        // Puoi rimuovere altre voci se necessario...
    }
}
add_action('admin_bar_menu', 'remove_admin_bar_items_for_subscriber', 999);

/**
 * (Opzionale) Se vuoi reindirizzare i Subscriber direttamente
 * alla pagina "Profilo" quando accedono a /wp-admin,
 * puoi usare questa funzione.
 */
function redirect_subscriber_to_profile() {
    if ( current_user_can('subscriber') && ! current_user_can('manage_options') ) {
        // Se non siamo già in "profile.php", reindirizziamo
        global $pagenow;
        if ( $pagenow !== 'profile.php' ) {
            wp_redirect( admin_url('profile.php') );
            exit;
        }
    }
}
add_action('admin_init', 'redirect_subscriber_to_profile');

function mio_css_personalizzato_admin() {
    echo '<style>
        #wp-admin-bar-ppc-admin-notices-panel {
            display: none !important;
        }
    </style>';
}
add_action('admin_head', 'mio_css_personalizzato_admin');