Come nascondere i menu nell'area di amministrazione di WordPress

13 feb 2014, 07:43:26
Visualizzazioni: 17.1K
Voti: 5

Voglio nascondere alcuni menu nel pannello di amministrazione: Aspetto, Plugin e Strumenti.

Come posso nasconderli senza usare plugin?

E come posso ripristinarli facilmente in un secondo momento?

2
Commenti

Non capisco bene la tua domanda riguardo al renderli nuovamente visibili. Rimuovendo le funzioni nella mia risposta qui sotto, dovrebbero riapparire.

iyrin iyrin
13 feb 2014 08:33:08

Per tutti i ruoli e le capacità?

Brad Dalton Brad Dalton
13 feb 2014 12:58:33
Tutte le risposte alla domanda 3
5

Puoi farlo con remove_menu_page. Aggiungi l'appropriato slug del menu nel tuo functions.php del tema o del tuo plugin.

<?php remove_menu_page( $menu_slug ) ?>

Nota che gli utenti possono comunque accedere a questi menu utilizzando un link diretto. Se intendi bloccare un utente dall'accesso a un menu, dovrai impostare un ruolo utente e assicurarti che non abbia le relative capabilities.

Ecco una lista di esempi di slug per i menu inclusi in un'installazione pulita di WordPress.

<?php
function remove_menus(){  

  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', 'remove_menus' );  
?>
13 feb 2014 08:22:57
Commenti

Questo rimuove anche i tag dalla barra di amministrazione sul frontend per gli utenti loggati?

Brad Dalton Brad Dalton
13 feb 2014 12:59:56

Sembra che non influisca sulla barra di amministrazione.

iyrin iyrin
13 feb 2014 13:20:01

@RyanLoremIpsum: come possiamo nascondere solo i tag dei post? (non tutto il menu dei post)

Lena Queen Lena Queen
13 feb 2014 13:27:17

Non capisco la domanda. Se stai chiedendo come rimuovere una voce del sottomenu "Tag" dal menu "Articoli" nel pannello di amministrazione, questo può essere fatto con remove_submenu_page( $menu_slug, $submenu_slug );. Esempi possono essere trovati su remove submenu page nel codex di WordPress.

iyrin iyrin
13 feb 2014 13:37:26

@RyanLoremIpsum questa è una domanda aggiuntiva, e grazie per l'aiuto

Lena Queen Lena Queen
13 feb 2014 17:53:14
0

Questo è un bel pezzo di codice dal plugin Core Functionality di Bill Erickson.

/**
 * Rimuovi Voci di Menu
 * @since 1.0.0
 *
 * Rimuovi le voci di menu non utilizzate aggiungendole all'array.
 * Vedi la lista commentata delle voci di menu per riferimento.
 *
 */
function ni_remove_menus () {
    global $menu;

    // Esempio:
    //$restricted = array(__('Dashboard'), __('Articoli'), __('Media'), __('Link'), __('Pagine'), __('Aspetto'), __('Strumenti'), __('Utenti'), __('Impostazioni'), __('Commenti'), __('Plugin'));
    end ($menu);
    while (prev($menu)){
           $value = explode(' ',$menu[key($menu)][0]);
           if(in_array($value[0] != NULL?$value[0]:"" , $restricted) {
               unset($menu[key($menu)]);
           }
    }
}
add_action( 'admin_menu', 'ni_remove_menus' );

Rimuovi il commento dall'array $restricted e includi le voci di menu che desideri nascondere. L'esempio contiene tutte le voci di menu per riferimento.

13 feb 2014 08:58:59