doublon possible:
Puis-je ajouter des pages à mon menu personnalisé via un script?
Mon thème a un menu personnalisé appelé "Menu d'en-tête personnalisé" et j'ai un plugin qui définit les paramètres par défaut du site et crée les pages statiques que je souhaite personnaliser afin de créer des menus et des pages à la volée dans le menu personnalisé. .
J'aimerais donc ajouter du code au plugin pour que chacune des pages que je crée soit ajoutée/assignée au menu personnalisé.
Je cherche simplement un point de référence sur la manière d'ajouter des pages à un menu personnalisé à la volée via un script ...
De wp-includes/nav-menu.php, je compte utiliser ceci ...
wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item_data = array() )
Où $ menu_id est l'id de mon "menu d'en-tête personnalisé" et $ menu_item_data est un tableau des pages que j'attribue au menu.
Je suppose qu'il n'a plus besoin d'explication:
$mymenu = wp_get_nav_menu_object('Main Navigation Menu');
$menuID = (int) $mymenu->term_id;
$myPage = get_page_by_title('About Us');
$itemData = array(
'menu-item-object-id' => $myPage->ID,
'menu-item-parent-id' => 0,
'menu-item-position' => 2,
'menu-item-object' => 'page',
'menu-item-type' => 'post_type',
'menu-item-status' => 'publish'
);
wp_update_nav_menu_item($menuID, 0, $itemData);
Pouvez-vous poster le nom de votre plugin? Peut-être que quelqu'un a déjà une solution à cette question spécifique.
Je ne peux pas vous donner une solution. N'ayant pas beaucoup joué avec la "nouvelle" fonctionnalité wp-navmenu, je ne peux que faire quelques suggestions: