自定义导航菜单项默认为‘Menu-Item-Type’=>‘Custom’。如何制作一个“页面”菜单项?

时间:2011-04-21 作者:Scott B

我正在使用下面的代码动态创建自定义菜单项。除了所有菜单都创建为“自定义”之外,它工作得很好。在下面的代码中,将菜单项类型设置为“页面”似乎没有效果。

        foreach($thePages as $page){
            wp_update_nav_menu_item($menu->term_id, 0, array(
                \'menu-item-title\' => $page->post_title,
                \'menu-item-type\' => \'page\', 
                \'menu-item-status\' => \'publish\')
            );          
        }
wp包括/导航菜单。php显示该值已硬编码为“Custom”。但是,如果我使用WP菜单管理器手动向菜单添加页面,它会将其列为“页面”,而不是“自定义”。如何将菜单类型设置为“页面”?

2 个回复
最合适的回答,由SO网友:kaiser 整理而成

There\'s a filter:

function wpse15368_update_menu_item_type( $args )
{
    return $args[\'menu-item-type\'] = \'page\';
}
add_action( \'wp_update_nav_menu_item\', \'wpse15368_update_menu_item_type\' );
SO网友:lulalala

也许很奇怪,\'post_type\'是要使用的关键词:

\'menu-item-object\' => \'page\',
\'menu-item-type\' => \'post_type\',
\'menu-item-object-id\' => $post_id
这将使菜单项与您手动创建的菜单项一样。

结束

相关推荐