WordPress: personalizzare la pagina di scrittura post

Istruzioni per modificare la struttura delle pagine admin di Wordpress, nascondendo gli elementi inutili.

Se gestite un blog WordPress dando agli utenti la possibilità di registrarsi, avrete gli iscritti suddivisi su più ruoli. Normalmente WordPress mostra a tutti gli utenti registrati la stessa pagina di editing dei post, ma in alcuni casi potrebbe essere utile poterla personalizzare, nascondendo alcuni pannelli.

Sono infatti presenti dei box inutili per degli utenti alle prime armi: campi personalizzati, revisioni, trackback, tutti dettagli che creano solo confusione. E’ possibile modificare il layout delle pagine di amministrazione di WordPress tramite il pannello impostazioni schermo, ma è comunque una soluzione che solo gli utenti più esperti sono in grado di notare.

Fortunatamente esiste un’altra soluzione: la possibilità di modificare i componenti della pagina direttamente tramite il file functions.php del tema utilizzato. E’ sufficiente inserire le seguenti righe di codice:

function customize_post_page() {
  global $current_user;
  get_currentuserinfo();

  if ($current_user->user_level < 2) {
    remove_meta_box('postcustom','post','normal');
    remove_meta_box('postexcerpt','post','normal');
    remove_meta_box('trackbacksdiv','post','normal');
    remove_meta_box('tagsdiv-post_tag','post','normal');
  }
}

add_action('admin_init','customize_post_page');

Con questa modifica, ogni utente registrato con il ruolo di sottoscrittore non vedrà nelle pagine di scrittura post i riquadri di campi personalizzati, excerpt, trackback e tag.

La funzione remove_meta_box prevede vari parametri, che potete trovare ben descritti sul Codex ufficiale. Un consiglio ulteriore è quello di prevedere un’eventuale modifica alla riga

if ($current_user->user_level < 2) {

perché i livelli utente di WordPress sono ormai deprecati e potrebbero diventare obsoleti. Potrebbe essere il caso quindi di controllare il ruolo dell’utente in maniera differente, facendo affidamento alla pagina Roles and Capabilities del Codex ed usando la funzione current_user_can.

Vuoi far crescere il tuo progetto online?

Tommaso Baldovino

UX/UI Designer, professionista del web con più di 15 anni di esperienza su WordPress. Sono disponibile a seguire nuovi progetti dall'ideazione alla realizzazione finale. Scrivo ogni 2 settimane la mia newsletter.

5 commenti su “WordPress: personalizzare la pagina di scrittura post”

  1. Carino, ma lì ancora non ci sono arrivato. Sto impazzendo nel tentare di semplificare l’amministrazione (cioè l’interfaccia) per gli utenti-simil-utonti!

  2. Molto interessnte questo post! Grazie Tom.

    Sicurametne lo dovrò applicare ai miei blog/siti così le persone non vanno nel panico quando vedono cose che non capiscono il senso.

  3. Grazie per l’ottima dritta,utile! ;)
    Suggerisco anche il plugin Adminimize, lo trovai tempo fa cercando una soluzione simile.
    Ti permette di nascondere un pò di tutto, utile per i clienti tonti o troppo smanettoni.
    Un saluto.

  4. Confermo l’ottimo Adminimize segnalato da Gabriele. Ti permette di nascondere parti dell’interfaccia utente… e volendo aggiungere parti da nascondere tramite il loro ID html.