Personalizzare o sostituire il menu Admin di WordPress

Può essere necessario sostituire le voci del menu admin di WordPress per rendere più chiaro il contenuto di una sezione a coloro che lavorano sul sito web che si sta gestendo.

Un esempio ricorrente è la necessità di modificare la voce Articoli di WordPress in News. Spesso infatti molti utilizzatori del più diffuso CMS al mondo usano la sezione Articoli per pubblicare le novità aziendali di un tradizionale sito vetrina. Questi siti spesso sono privi di un blog e pubblicano saltuariamente qualche importante aggiornamento. Non essendo presente un blog sul sito del cliente (se siete una web agency o un consulente web) o della vostra azienda (se lo avete realizzato da soli), la voce predefinita Articoli può apparire fuorviante per il gestore del sito o per il collega.

Come da tradizione per WordPress esistono molti plugin che posso sopperire all’esigenza di sostituire le voci del menu admin di WordPress. È però altrettanto vero che i plugin rappresentano una delle principali cause di lentezza di un sito e pertanto meno plugin si utilizzano e migliori saranno le prestazioni di un sito web.

La cosa migliore è dunque agire sul codice ed in questo caso il file “function.php”. Questo file contiene tutte le informazioni importanti che vanno a rettificare la struttura di default del vostro WordPress. È dunque fondamentale fare attenzione a ciò che si scrive perchè il sito può non funzionare più correttamente in caso di un errore di scrittura di codice. Fate sempre un backup in locale, sul vostro PC, del file “function.php” originale e lavorate su una copia del medesimo che manderete online a lavoro ultimato.

Modificare la voce Articoli di WordPress in News

Facciamo un esmepio pratico e proviamo a modificare la voce Articoli di WordPress sostituendola con News.

Con FileZilla o con altro software scaricate via FTP il file function.php di WordPress. Il file si trova nella cartella del tema del sito (se avete un child-theme, recatevi qui).

Una volta aperto il file function.php con un editor adeguato (come Notepad++ o Brackets) inserite la seguente funzione che modifica la voce Articoli di WordPress:

$menu[5][0] = ‘News’;

In questo modo andiamo a richiamare la key corrispondente di Articoli nel menu admin di WordPress (la numero 5) e rinominiamo in News.

Ecco la funzione completa:

function edit_admin_menus() {
    global $menu;
    $menu[5][0] = 'News'; // Cambia Articoli in News
}
add_action( 'admin_menu', 'edit_admin_menus' );

Sulla base di quanto appena scritto possiamo modificare tutte le voci del menu admin di WordPress stando attenti ad usare global $menu; o global $submenu; a seconda della posizione della voce nella gercarchia del menu stesso.

Per sostituire i sottomenu della voce Articoli, ad esempio, dobbiamo costruire la seguente funzione:

function edit_admin_menus() {

      global $menu;
      global $submenu;

      // Rinominiamo Articoli in News:
      $menu[5][0] = 'News';

      // Rinominiamo anche i sottomenu: 
      $submenu['edit.php'][5][0] = 'Tutte le news';
      $submenu['edit.php'][10][0] = 'Nuova news';

      // Rinominiamo Categorie in Categorie delle News:
      $submenu['edit.php'][15][0] = 'Categorie delle News';

      // Rinominiamo Tags in Tags News:
      $submenu['edit.php'][16][0] = 'Tags News';
}
add_action( 'admin_menu', 'edit_admin_menus' );

Le keys utili a sostituire il menu Admin di WordPress

Quello che segue è l’elenco delle keys che identificano ciascuna voce di menu e submenu (Menu [Key] e Submenu [Key]):

  • Dashboard [2] – index.php
    • Home [0] – index.php
    • Updates [19] – update-core.php
  • Posts [5] – edit.php
    • All Posts [5] – edit.php
    • Add New [10] – edit.php
    • Categories [15] – edit-tags.php?taxonomy=category
    • Tags [16] – edit-tags.php?taxonomy=post-tag
  • Media [10] – upload.php
    • Library [5] – upload.php
    • Add New [10] – media-new.php
  • Links [15] – link-manager.php
    • All Links [5] – link-manager.php
    • Add New [10] – link-add.php
    • Link Categories [15] – edit-tags.php?taxonomy=link_category
  • Pages [20] – edit.php?post_type=page
    • All Pages [5] – edit.php?post_type=page
    • Add New [10] – post-new.php?post_type=page
  • Comments [25] – edit-comments.php
    • All Comments [0] – edit-comments.php
  • Appearance [60] – themes.php
    • Themes [5] – themes.php
    • Widgets [7] – widgets.php
    • Menus [10] – nav-menus.php
  • Plugins [65] – plugins.php
    • Installed Plugins [5] – plugins.php
    • Add New [10] – plugin-install.php
    • Editor [15] – plugin-editor.php
  • Users [70] – users.php
    • All Users [5] – users.php
    • Add New [10] – user-new.php
    • Your Profile [15] – profile.php
  • Tools [75] – tools.php
    • Available Tools [5] – tools.php
    • Import [10] – import.php
    • Export [15] – export.php
  • Settings [80] – options-general.php
    • General [10] – options-general.php
    • Writing [15] – options-writing.php
    • Reading [20] – options-reading.php
    • Discussion [25] – options-discussion.php
    • Media [30] – options-media.php
    • Privacy [35] – options-privacy.php
    • Permalinks [40] – options-permalinks.php
  • Separator 1 [4] – separator1
  • Separator 2 [59] – separator2
  • Separator Last [99] – separator-last

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *