これはまさにあなたが望むものです。
$menu_name = 'menu-id'; //e.g. primary-menu; $options['menu_choice'] in your case
if (($locations = get_nav_menu_locations()) && isset($locations[$menu_name])) {
$menu = wp_get_nav_menu_object($locations[$menu_name]);
$menu_items = wp_get_nav_menu_items($menu->term_id);
}
ここで、$ menu_itemsは、すべてのメニュー項目のすべてのデータを含むオブジェクトです。したがって、foreach
ループを使用して必要なデータを取得することができます。
foreach ($menu_items as $menu_item) {
$id = $menu_item->ID;
$title = $menu_item->title;
$url = $menu_item->url;
if ($parent_id = $menu_item->menu_item_parent) {
//the element has a parent with id $parent_id, so you can build a hierarchically menu tree
}
else {
//the element doesn't have a parent
}
}
あなたは、公式ウェブサイト上で、そのようorderbyのオプションとして、この質問のためのより多くの興味深い情報を見つけることができます:http://codex.wordpress.org/Function_Reference/wp_get_nav_menu_items
Wordpress専用のStackExchangeサイトがありますか? http://wordpress.stackexchange.com –
この回答を確認http://stackoverflow.com/a/37959604/1153703 –