如何以编程方式将所有页面和子菜单添加到后端菜单

时间:2015-09-30 作者:kali

我有一个拥有大量内容的大型网站,我想自动将所有页面及其子页面添加到后端的菜单中,这样我就可以通过拖放轻松地重新排列它们。我尝试使用自动子菜单之类的插件,但它不起作用,当我使用它时,我无法手动添加任何页面,一旦我保存它们,它们就会再次从菜单中消失。是否有代码可以在数据库中使用,以添加所有页面及其子页面?

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

您需要的帮助程序是wp\\u create\\u nav\\u menu()和wp\\u update\\u nav\\u menu\\u item()。

这将允许您创建一个菜单,然后使用查询帖子循环,以编程方式动态添加站点中的每个页面。

您可以使用get\\u pages()帮助程序从数据库中检索所有页面。

<?php
// These are default args and don\'t need to be set explicitly.
// I\'ve included them here for reference.
$args = array(
    \'hierarchical\' => 1,
    \'post_type\' => \'page\',
    \'post_status\' => \'publish\'
);

$pages = get_pages($args);

// loop goes here
// foreach or while will work, whatever you are comfortable with
?>