J'essaie de créer un thème qui, lorsqu'il est activé, configure une navigation principale, y ajoute la page d'accueil et l'active ensuite au bon endroit.
Voici ce que j'ai jusqu'à présent:
register_nav_menu('Primary', 'Primary Navigation');
$primary_nav_menu_id = wp_create_nav_menu('Primary');
wp_update_nav_menu_item($primary_nav_menu_id, 0, array(
'menu-item-title' => __('Home'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url( '/' ),
'menu-item-status' => 'publish'
));
Ce qui précède crée le menu, ajoute un lien vers la page d'accueil, mais comment puis-je attribuer automatiquement à ce menu l'emplacement du thème "Navigation principale"?
Est-ce possible?
Vous devez d'abord collecter les emplacements de menu, puis définir l'emplacement du menu principal avec l'ID de menu.
// Set the menu to primary menu location
$locations = get_theme_mod( 'nav_menu_locations' );
$locations['primary'] = $primary_nav_menu_id;
set_theme_mod ( 'nav_menu_locations', $locations );
Ici, je suppose que "primaire" est l’emplacement du thème faisant référence à "Navigation principale".