对于我的Wordpress网站,我通常使用wp_nav_menu()函数来显示自定义菜单。但这一次,我希望将所有菜单元素都放在php中的数组中:
array(
"Menu 1" => array("title" => "Menu 1", "url" => "http://...", "subitems"=> array(...),
"Menu 2" => ...
)
这只是一个例子。我尝试用SQL获取菜单,但我没有找到任何效果很好的东西。我的菜单包含页面,类别和外部链接。为了完成这一点,我的网站使用WPML,所以还有其他菜单...
你能帮助我吗?
答案 0 :(得分:0)
我建议您使用wp_get_nav_menu_items() - 函数来检索菜单,然后从中选择要保留的几个元素。
例如:
// the name of your menu
$menu_name = 'custom_menu_slug';
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);
foreach ( (array) $menu_items as $key => $menu_item ) {
// build the array
}
}
更多信息:https://codex.wordpress.org/Function_Reference/wp_get_nav_menu_items