如何从导航栏中删除(而不是排除)菜单项

时间:2012-08-05 作者:OS.

我正在使用以下代码以编程方式构建网站的导航栏:

wp_update_nav_menu_item($menu->term_id, 0, array(
    \'menu-item-title\' =>  $page_data->post_title,
    \'menu-item-classes\' => \'main\',
    \'menu-item-url\' => \'/\', 
    \'menu-item-status\' => \'publish\'));
这会将菜单项添加到我的导航栏中,效果很好。我使用它在创建站点时预先填充许多菜单项。

问题是how do I delete a menu item from the nav menu? (例如,如果用户需要导航栏中的不同菜单项)。我知道我可以使用exclude,但这似乎不是正确的解决方案,因为我不想根据用户的更改不断管理exclude列表。

另一个问题:如何通过代码更改菜单顺序?

谢谢

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

因为菜单项存储为post类型。不确定,但我想我们可以wp_delete_post() 以编程方式删除它。这将从数据库中完全删除该菜单项,因此您再也不能拥有该菜单项。

结束

相关推荐

新的WP_Customize API-它是如何在幕后工作的?

我注意到,如果您通过新的“自定义”功能进行更改,当您在iframe预览文档中的不同页面上导航时,您的更改仍然适用,即使它们未保存。看起来WP正在某处存储临时更改,如果在“自定义”模式下查看站点,它会在站点上应用这些更改。但网站如何知道它处于自定义模式?因为我没有看到任何附加到链接或类似链接的查询参数。