Esiste un modo per codificare le voci di menu personalizzate quando viene installato il primo tema? Sto creando un tema che renderà automaticamente alcune pagine comuni una volta installato. Quindi devo sapere se posso anche aggiungerli al menu personalizzato di Wordpress in modo che il client non debba aggiungerli manualmente?
In altre parole: come inserire / creare una voce di menu personalizzata a livello di codice?
Fammi sapere se qualcosa di poco chiaro. La guida alla pagina del codice appropriata è benvenuta. Grazie!
aggiornamento: codice provato da qui Targeting menu specifico con wp_nav_menu_items
Registrazione menu:
function register_my_menus() {
register_nav_menus(
array('main-menu' => __( 'Main Menu' ) )
);
}
add_action( 'init', 'register_my_menus' );
Uso del modello:
<?php wp_nav_menu( array( 'theme_location' => 'main-menu' ) ); ?>
Codice per l'aggiunta di nuovi elementi:
function new_nav_menu_items($items) {
if( $args->theme_location == 'main-menu' ){
$homelink = '<li class="home"><a href="' . home_url( '/' ) . '">' . __('Home') . '</a></li>';
$items = $homelink . $items;
return $items;
}
}
add_filter( 'wp_nav_menu_items', 'new_nav_menu_items', 10, 2 );
quando si aggiunge il codice per l'aggiunta di nuovi elementi nel menu di navigazione nei functions.php
file nulla accade nella pagina del menu nel pannello di amministrazione, ma le voci di menu correnti scompaiono nel sito!