我试图在wordpress中生成带子项的菜单。我目前的尝试是这样的,
$mainmenu = wp_create_nav_menu( 'main' );
$submenu = array('menu-item-type' => 'custom',
'menu-item-url' => '/',
'menu-item-title' => 'sub-menu' );
wp_update_nav_menu_item( $mainmenu, 0, $submenu );
var_dump(wp_get_nav_menus());
var_dump()
显示主菜单,但计数为0,我预期1个子项目。
对此有什么正确的解决方法?
答案 0 :(得分:0)
将此选项用于菜单和子菜单。根据您的需要调整样式
<?php
$args = array(
'theme_location' => 'header_menu',
'menu' => 'Main menu',
'sort_column' => 'menu_order',
'container_class' => 'menu-header'
);
$args = array('lang' => $langfornt);
$linkfilter = new ModifyLinkFilter($args);
wp_nav_menu("menu='Main menu'");
$linkfilter->unregister();
?>
答案 1 :(得分:0)
似乎Wordpress没有为你创建关系,因此表wp_term_relationships中没有记录将帖子与post_type“nav_menu_item”(子菜单)链接到主菜单。
使用方法“wp_set_object_terms”我自己创建关系。
http://codex.wordpress.org/Function_Reference/wp_set_object_terms
$mainmenu = wp_create_nav_menu( 'menu' );
$submenu = array('menu-item-type' => 'custom',
'menu-item-url' => '/',
'menu-item-status' => 'publish',
'menu-item-title' => 'sub-menu' );
$subID = wp_update_nav_menu_item( $mainmenu, 0, $submenu );
wp_set_object_terms($subID, 'menu', 'nav_menu', false);