Stai cercando un modo per visualizzare le sottopagine nei menu? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per aggiungere automaticamente sottopagine ai menu in WordPress.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
/**
* Auto add subpages to nav menus
*/
function custom_walker_nav_menu_start_el ( $item_output, $item, $depth, $args) {
// filter only page menu items
if( $item->object == 'page' ) {
// set args
$args = array(
'depth' => 1,
'child_of' => $item->object_id,
'echo' => 0,
'title_li' => ''
);
// check for children
$children = wp_list_pages( $args );
// append them as list if any
if ( $children )
$item_output = $item_output . '<ul class="children" >' . $children . '</ul>';
}
return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'custom_walker_nav_menu_start_el', 10, 4 );
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come aggiungere correttamente snippet di codice in WordPress, in modo da non compromettere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: 11 migliori plugin WordPress per scrittori e come creare un modulo di invio guest post in WordPress.
Questo funziona ancora bene a settembre 2021. Tuttavia, questo comporterà un problema se anche quelle pagine sono già state aggiunte manualmente.
Quindi usa questo snippet quando vuoi che le pagine figlie appaiano sotto la posizione del menu della pagina genitore. Ma rimuovi le voci di menu aggiunte manualmente da Aspetto.
Ciao Rik, grazie per il consiglio.