0

我试图在 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 个子项。什么是正确的方法?

4

2 回答 2

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();


?>
于 2013-09-05T17:25:52.233 回答
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);
于 2013-09-05T20:56:29.480 回答