如何用子项生成菜单?

时间:2013-09-05 17:03:38

标签: php wordpress

我试图在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个子项目。 对此有什么正确的解决方法?

2 个答案:

答案 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);