我正在以编程方式构建导航菜单,如下所示:
$menu_exists = wp_get_nav_menu_object( \'test_menu\' );
if( !$menu_exists){
$menu_id = wp_create_nav_menu(\'test_menu\');
buildMenu($menuArray,$menu_id);
}
function buildMenu($array,$menu_id) {
foreach ($array as $menu) {
var_dump( wp_update_nav_menu_item($menu_id, 0, array(
\'menu-item-title\' => $menu[0]->post_title,
\'menu-item-object\' => \'page\',
\'menu-item-object-id\' => $menu[0]->ID,
\'menu-item-type\' => \'post_type\',
\'menu-item-status\' => \'publish\',
\'menu-item-parent-id\' => $menu[0]->post_parent)));
if(!empty($menu[1])) {
buildMenu($menu[1],$menu_id);
}
}
}
在哪里$menuArray
是post对象的集合。这是可行的,但是所有菜单项都被添加到顶层menu-item-parent-id
被忽略。WordPress是否期望menu-item-parent-id
是导航菜单id还是post id?