Comment obtenir les identifiants des objets dans la branche de menu?
-
-
En regardant votremodification - alors laquelleest-ce: afficher le contenu lors du rendu dumenu ou simplement récupérer lesidentifiants?Veuillez clarifieret si ce derniernous devons ajuster letitre ànouveau.:)Looking at your edit - so which one is it: displaying content when rendering menu or just retrieving IDs? Please clarify and if latter we need to adjust title again. :)
- 0
- 2012-08-23
- Rarst
-
vouspensez que wp_get_associated_nav_menu_items ()pourrait vous aider?you think wp_get_associated_nav_menu_items() might help?
- 0
- 2012-08-23
- daniel.tosaba
-
1 réponses
- votes
-
- 2012-08-24
/** * Retrieve IDs of posts in branch of menu. * * @param mixed $menu * @param string $branch_title * * @link http://wordpress.stackexchange.com/questions/2802/display-a-portion-branch-of-the-menu-tree-using-wp-nav-menu * * @return array */ function get_post_ids_from_menu_branch( $menu, $branch_title ) { $menu_object = wp_get_nav_menu_object( $menu ); $menu_items = wp_get_nav_menu_items( $menu_object->term_id ); $items = submenu_limit( $menu_items, (object) array( 'submenu' => $branch_title ) ); $items = wp_list_filter( $items, array( 'object' => 'post' ) ); $ids = wp_list_pluck( $items, 'object_id' ); return $ids; } // example var_dump( get_post_ids_from_menu_branch( 'Test menu', 'Level 1' ) );
I am lazy to write supporting logic from scratch so I am reusing functions from linked answer on branches:
/** * Retrieve IDs of posts in branch of menu. * * @param mixed $menu * @param string $branch_title * * @link http://wordpress.stackexchange.com/questions/2802/display-a-portion-branch-of-the-menu-tree-using-wp-nav-menu * * @return array */ function get_post_ids_from_menu_branch( $menu, $branch_title ) { $menu_object = wp_get_nav_menu_object( $menu ); $menu_items = wp_get_nav_menu_items( $menu_object->term_id ); $items = submenu_limit( $menu_items, (object) array( 'submenu' => $branch_title ) ); $items = wp_list_filter( $items, array( 'object' => 'post' ) ); $ids = wp_list_pluck( $items, 'object_id' ); return $ids; } // example var_dump( get_post_ids_from_menu_branch( 'Test menu', 'Level 1' ) );
-
HOU LA LA!Voilà detrèsbonnesnouvelles.Jamaisentenduparler de `wp_list_filter`et` wp_list_pluck`mais c'estexactement ce queje cherchais.Mercibeaucoup!Vous avez sauvé lajournée;)WOW! That's some really good news. Never heard of `wp_list_filter` & `wp_list_pluck` but this is just what I was after. Many thanks! You saved the day ;)
- 0
- 2012-08-24
- daniel.tosaba
Est-ilpossible d'imprimer le contenu detous les éléments demenu,lors de l'affichage dumenu (ou de labranche dumenu commeen question sur affichage desbranches demenu )?
Unefois quej'ai cliqué sur
About Us
,je souhaite qu'unenouvellepage affiche le contenu detous ses liensenfants.Donc,fondamentalement,je cherche unmoyen d'obtenir les ID de ces articles/pageset de les utiliser dansma requête WP.