Usare WordPress come un CMS

In questo tutorial WordPress vedremo come rimuovere dal menu admin le voci indesiderate o non necessarie. Questo tipo di modifica torna utile in primo luogo per la seguente operazione: usare WordPress come un CMS. Infatti, l’utilizzo di questo software come Content Management System puro determina l’eliminazione di tutti i menu item non indispensabili per la gestione quotidiana.

Le azioni da compiere per modificare l’area admin saranno diverse a seconda della versione in uso. Dobbiamo pertanto effettuare 2 codifiche distinte: una per le versioni precedenti a WordPress 3.1, una per WordPress 3.1 e versioni superiori.

Codifica per WordPress 3.1 e superiori

Per WordPress 3.1 e superiori, basta incollare un piccolo snippet di codice nel file functions.php con indicate le voci di menu da eliminare:

add_action( 'admin_init', 'my_remove_menu_pages' );

    function my_remove_menu_pages() {
        remove_menu_page('link-manager.php');
        remove_menu_page('plugins.php');
    }

In questo caso abbiamo “suggerito” al programma che dovranno essere rimosse le voci inerenti a link e plugin. È ovviamente possibile eliminare il numero di voci desiderato.

Voci di menu cancellabili

remove_menu_page(edit.php);
remove_menu_page(upload.php);
remove_menu_page(link-manager.php);
remove_menu_page(edit.php?post_type=page);
remove_menu_page(edit-comments.php);
remove_menu_page(themes.php);
remove_menu_page(plugins.php);
remove_menu_page(users.php);
remove_menu_page(tools.php);
remove_menu_page(options-general.php);

Codifica per versioni precedenti a WordPress 3.1

La codifica per le versioni WP più vecchie appare un po’ più “pesante” e marcata della precedente. La procedura operativa è però molto simile.

Aprite il file functions.php ed incollate queste stringhe:

function remove_menus () {
        global $menu;
        $restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
        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', 'remove_menus');

Fate molta attenzione alla riga numero 3, dove è visibile l’array $restricted: è lui il “gestore” che permette di rimuovere le voci di menu desiderate dalla nostra bacheca. Per comodità ho inserito un po’ tutte le voci che possono essere tolte: ovviamente è possibile codificare a piacimento mantenendo/eliminando le parti preferite.

Le voci vanno cancellate insieme a parentesi e underscore (linea in basso), così: __(‘Links’). Ricordate inoltre di non eliminare le parentesi di apertura e chiusura dell’array.