mercredi 22 octobre 2014

Avoir la liste des éléments d'un menu donné dans wordpress

Voici un code qui permet de récupérer la liste des éléments d'un menu donné

Il faut avoir l'id du menu, vous pouvez l'avoir dans l'url de l'espace admin wordpress lors de l'édition du menu en question, ou dans la table term_taxonomy, filtrer par 'nav_menu' dans le champs taxonomy, vous ayez une liste des term_id alors vous pouvez chercher dans la table terms et voir ce que donne le chams name pour le term_id, on choisit le term_id dont le nom correspond au nom de notre menu.
$menu_id = 207; 
$parent = $_GET['parent_id']; // pour avoir les elements de niveau 1 on assigne cette variable à 0

$menu_items = wp_get_nav_menu_items($menu_id );
$menus = array();


$i =0;

 foreach( (array) $menu_items as $key => $menu_item ) {
  if ( $menu_item->menu_item_parent == $parent ){ 
  
  $menus[$i]['title'] = $menu_item->title;
  $menus[$i]['ID'] = $menu_item->ID;
  $menus[$i]['id_cat'] = $menu_item->object_id;
  $i++;
  }
 }
 
 echo json_encode($menus);

0 commentaires :

Enregistrer un commentaire