In questo articolo andiamo ad analizzare come personalizzare la Admin Bar di WordPress aggiungendo nuove voci di menu.
La Admin Bar è quella comoda barra orizzontale che appare nella parte superiore del tuo sito WordPress quando sei loggato. Essa offre un accesso rapido a diverse funzioni utili, come la creazione di nuovi post, la gestione dei commenti e la personalizzazione del sito. Ma cosa succede se desideri aggiungere le tue proprie voci di menu per accedere più rapidamente a funzioni specifiche o pagine personalizzate? In questo articolo, esploreremo come fare esattamente questo senza l’utilizzo di plugin!
Aggiungere una nuova voce di menu nella admin bar
Apri il file functions.php
con un editor di testo e inserisci il seguente codice PHP alla fine del file:
function aggiungi_nuova_voce_admin_bar($wp_admin_bar) {
$args = array(
'id' => 'voce_personalizzata',
'title' => 'La Mia Voce Personalizzata',
'href' => 'https://www.tuosito.com/pagina-personalizzata',
'parent' => 'top-secondary', // posiziona questa voce di menù a destra
);
$wp_admin_bar->add_node($args);
}
add_action('admin_bar_menu', 'aggiungi_nuova_voce_admin_bar', 999);
In questo esempio, abbiamo creato una funzione chiamata aggiungi_nuova_voce_admin_bar
che aggiunge una nuova voce di menu con l’ID voce_personalizzata
, il titolo “La Mia Voce Personalizzata” e un link alla tua pagina personalizzata. Il parametro parent
impostato a top-secondary
consente di inserire la voce di menù a destra:
Per inserire il menù a sinistra rimuovere l’attributo parent
:
function aggiungi_nuova_voce_admin_bar($wp_admin_bar) {
$args = array(
'id' => 'voce_personalizzata',
'title' => 'La Mia Voce Personalizzata',
'href' => 'https://www.tuosito.com/pagina-personalizzata'
);
$wp_admin_bar->add_node($args);
}
add_action('admin_bar_menu', 'aggiungi_nuova_voce_admin_bar', 999);
Aggiungere sottovoci / sottomenu alla Admin Bar
Se desideri organizzare meglio le tue voci di menu, puoi aggiungere sottovoci. Ecco come farlo:
function aggiungi_sottovoce_admin_bar($wp_admin_bar) {
//creazione voce principale
$args_top = array(
'id' => 'main_custom',
'title' => 'Voce Principale'
);
$wp_admin_bar->add_node($args_top);
//creazione sotto voce
$args_sub = array(
'id' => 'sub_custom',
'title' => 'Sottovoce',
'parent' => 'main_custom', // ID della voce di menu principale
'href' => 'https://www.tuosito.com/pagina-sottovoce',
);
$wp_admin_bar->add_node($args_sub);
}
add_action('admin_bar_menu', 'aggiungi_sottovoce_admin_bar', 1000);
Aggiungere icona alla voce di menù
Per rendere la tua voce di menu più visivamente accattivante, puoi aggiungere un’icona accanto al titolo. WordPress supporta le icone di Dashicons. Ecco un esempio utilizzando Dashicons:
function aggiungi_nuova_voce_admin_bar($wp_admin_bar) {
$args = array(
'id' => 'voce_personalizzata',
'title' => '<span class="ab-icon dashicons dashicons-admin-site"></span> La Mia Voce con Icona',
'href' => 'https://www.tuosito.com/pagina-personalizzata'
);
$wp_admin_bar->add_node($args);
}
add_action('admin_bar_menu', 'aggiungi_nuova_voce_admin_bar', 999);
Rimuovere dalla admin bar una voce di menù
Se desideri rimuovere una voce esistente dalla Admin Bar, puoi farlo con il seguente codice:
function rimuovi_voce_admin_bar($wp_admin_bar) {
$wp_admin_bar->remove_node('ID_voce_da_rimuovere');
}
add_action('admin_bar_menu', 'rimuovi_voce_admin_bar', 999);
Sostituisci 'ID_voce_da_rimuovere'
con l’ID della voce che desideri rimuovere. Per trovare l’ID di una voce della Admin Bar in WordPress è necessario ispezionare il codice html. Solitamente è sufficiente togliere il prefisso wp-admin-bar-
all’id del div.
Esempio:
function rimuovi_voce_admin_bar($wp_admin_bar) {
//id html "wp-admin-bar-new-content" -> inserisco "new-content"
$wp_admin_bar->remove_node('new-content');
}
add_action('admin_bar_menu', 'rimuovi_voce_admin_bar', 999);
Esempio 1: Mostrare una Voce di Menu Solo agli Editori
Se desideri che una specifica voce di menu sia visibile solo agli utenti con il ruolo di “Editore”, puoi utilizzare il seguente codice:
function aggiungi_voce_solo_editori($wp_admin_bar) {
if (current_user_can('editor') || current_user_can('administrator')) {
$args = array(
'id' => 'voce_solo_editori',
'title' => 'Strumenti per Editori',
'href' => admin_url('tools.php'),
);
$wp_admin_bar->add_node($args);
}
}
add_action('admin_bar_menu', 'aggiungi_voce_solo_editori', 9999);
Esempio 2: aggiungere un contatore dei commenti non letti
Se vuoi avere un rapido accesso al numero di commenti non letti direttamente dalla Admin Bar, puoi fare così:
function aggiungi_contatore_commenti($wp_admin_bar) {
$num_commenti = get_comments(['count' => true, 'status' => 'hold']);
$args = array(
'id' => 'contatore_commenti',
'title' => "Commenti non letti ($num_commenti)",
'href' => admin_url('edit-comments.php?comment_status=moderated'),
);
$wp_admin_bar->add_node($args);
}
add_action('admin_bar_menu', 'aggiungi_contatore_commenti', 1000);
Possibili problemi
Se dopo aver aggiunto la tua nuova voce di menu non la vedi apparire, potrebbe essere causato dal numero di priorità troppo basso nell’hook add_action
. Prova ad aumentarla oppure disabilita tutti i plugin per verificare che non ci sia qualche conflitto.
Spero che questi esempi ti possano aiutare!
Lascia un commento