Nelle prime due parti di questa serie, ti ho mostrato come personalizzare la schermata di accesso di WordPress e la dashboard. In questa terza parte ti mostrerò come personalizzare i menu di amministrazione in WordPress.
In questo tutorial imparerai come:
Creerò un plugin per farlo - se hai già creato un plugin dopo aver seguito le parti 1 e 2 di questa serie potresti preferire aggiungere il codice da questo tutorial a quel plugin, dandoti un plugin con tutti la personalizzazione dell'amministratore.
Per completare questo tutorial avrai bisogno di:
All'inizio del mio plugin, sto aggiungendo le seguenti linee:
/ * Nome plugin: WPTutsPlus Personalizza l'Admin Parte 3 - menu di amministrazione URI plugin: http://rachelmccollin.co.uk Descrizione: Questo plugin supporta il tutorial in wptutsplus. Personalizza il dashboard di WordPress. Versione: 1.0 Autore: Rachel McCollin Autore URI: http://rachelmccollin.com Licenza: GPLv2 * /
La maggior parte dei siti che creo in WordPress non sono blog: sono generalmente siti client che, se usano post, li useranno per notizie piuttosto che per post di blog. Quindi ho intenzione di rinominare "Post" nel menu di amministrazione su "Notizie". Puoi rinominare qualsiasi tipo di contenuto di WordPress come vuoi, ad esempio:
Per rinominare i post, aggiungi il seguente codice al tuo plugin:
// Rinomina i post in Notizie nella funzione Menu wptutsplus_change_post_menu_label () global $ menu; sottomenu $ globale; $ menu [5] [0] = 'Notizie'; $ submenu ['edit.php'] [5] [0] = 'Novità articoli'; $ submenu ['edit.php'] [10] [0] = 'Aggiungi elemento notizie'; add_action ('admin_menu', 'wptutsplus_change_post_menu_label');
Questo codice fa riferimento a menu di $
e $ sottomenu
variabili globali - i numeri tra parentesi quadre indicano a WordPress a quali voci del menu mi riferisco, poiché ogni voce di menu ha il proprio numero che corrisponde al suo ordine nel menu. Allego la mia funzione per rinominare i post su admin_menu
hook, che è il hook di azione che userò in questo tutorial.
Questo cambia il menu di amministrazione come mostrato nello screenshot:
Nota: la Dashboard mostrata nello screenshot è stata personalizzata in modo che non assomigli al dashboard standard. Vedere la parte 2 di questa serie per ulteriori dettagli.
Come puoi vedere, dove normalmente si trova il menu 'Post', si legge 'Notizie'. Questo ti dà accesso ai post nello stesso modo di prima ma con un'etichetta diversa. Il tipo di post non è cambiato.
Il passo successivo è rinominare gli elementi del sottomenu per i post e qualsiasi altro uso del termine "post" nelle schermate di amministrazione.
Nel tuo plugin, aggiungi quanto segue:
// Modifica la funzione dei sottomenu wptutsplus_change_post_object_label () global $ wp_post_types; $ labels = & $ wp_post_types ['post'] -> etichette; $ labels-> name = 'News'; $ labels-> singular_name = 'News Item'; $ labels-> add_new = 'Aggiungi elemento news'; $ labels-> add_new_item = 'Aggiungi elemento news'; $ labels-> edit_item = 'Modifica elemento news'; $ labels-> new_item = 'News Item'; $ labels-> view_item = 'Visualizza articolo News'; $ labels-> search_items = 'Cerca nelle notizie'; $ labels-> not_found = 'No News Items found'; $ labels-> not_found_in_trash = 'Nessuna notizia trovata nel cestino'; add_action ('admin_menu', 'wptutsplus_change_post_object_label');
Ora non solo la voce di menu di primo livello è cambiata, ma tutti i riferimenti ai post, come mostrato nello screenshot:
Il sottomenu presenta nuove etichette, come il link "Aggiungi elemento novità" e il titolo della schermata di modifica.
Il menu di amministrazione è più vicino a riflettere la struttura dei miei siti client, ora che i post sono indicati come notizie. Ma posso semplificare ulteriormente le cose rimuovendo tutte le voci di menu che non mi servono.
Nella maggior parte dei siti client che costruisco, i commenti sono disattivati. Quindi posso rimuoverli dal menu di amministrazione per evitare di confondere i clienti.
Nel tuo plugin, aggiungi quanto segue:
// Rimuovi la voce di menu Comments per tutti tranne la funzione Administrators wptutsplus_remove_comments_menu_item () $ user = wp_get_current_user (); if (! $ user-> ha_cap ('manage_options')) remove_menu_page ('edit-comments.php'); add_action ('admin_menu', 'wptutsplus_remove_comments_menu_item');
Questo usa il remove_menu_page
agganciare lo slug per la pagina di modifica dei commenti, che è edit-comments.php
.
Nota: ho incluso la funzione in un controllo per manage_options
capacità, in modo che la voce di menu Commenti non sia nascosta agli amministratori, per ogni evenienza!
Come puoi vedere nello screenshot, la voce del menu Commenti è stata rimossa.
La personalizzazione finale che sto per fare è riordinare il menu di amministrazione, in modo che gli elementi che i miei clienti utilizzeranno più frequentemente siano più in alto. In questo caso, ho intenzione di spostare la voce di menu Pagine sopra il supporto.
Lo fai usando due filtri:
custom_menu_order
, che attiva il menu_order
filtro e deve avere __return_true
come il suo valore.menu_order
, a cui si allega la propria funzione che definisce il nuovo ordine di menu.Nel tuo plugin, aggiungi quanto segue:
// Sposta le pagine sopra la funzione Media wptutsplus_change_menu_order ($ menu_order) return array ('index.php', 'edit.php', 'edit.php? Post_type = page', 'upload.php',); add_filter ('custom_menu_order', '__return_true'); add_filter ('menu_order', 'wptutsplus_change_menu_order');
Questo riordina il menu nell'ordine specificato nell'array, in modo che il Media appaia dopo le Pagine. Ora hai un semplice menu di amministrazione personalizzato.
La personalizzazione del menu di amministrazione di WordPress può rendere il processo di gestione di un sito più semplice e veloce per te e per i tuoi clienti, dando agli elementi di menu etichette più appropriate, rimuovendo elementi indesiderati e assicurando che il menu sia nell'ordine più utile. Puoi farlo ulteriormente spostando verso l'alto e verso il basso qualsiasi tipo di messaggio personalizzato nel tuo menu, rinominando forse i media e altro.