如何在自定义菜单中动态添加页面

时间:2011-03-31 作者:Scott B

Possible Duplicate:
Can I add pages to my custom menu via script?

我的主题有一个名为“自定义标题菜单”的自定义菜单,我有一个插件,可以设置网站默认值并创建我想要自定义的静态页面,以便在自定义菜单中动态添加帖子和页面。

因此,我想向插件添加一些代码,以便将我创建的每个页面添加/分配到自定义菜单。

我只是在寻找一个关于如何通过脚本将页面动态添加到自定义菜单的参考点。。。

从wp includes/nav菜单。php,我希望使用这个。。。

wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item_data = array() )
其中,$menu\\u id是我的“自定义标题菜单”的id,$menu\\u item\\u data是我分配给菜单的页面数组。

2 个回复
SO网友:kaiser

我想这不需要再解释了:

$mymenu = wp_get_nav_menu_object(\'Main Navigation Menu\');
$menuID = (int) $mymenu->term_id;
$myPage = get_page_by_title(\'About Us\');

$itemData =  array(
    \'menu-item-object-id\' => $myPage->ID,
    \'menu-item-parent-id\' => 0,
    \'menu-item-position\'  => 2,
    \'menu-item-object\' => \'page\',
    \'menu-item-type\'      => \'post_type\',
    \'menu-item-status\'    => \'publish\'
  );

wp_update_nav_menu_item($menuID, 0, $itemData);

SO网友:Roman

你能发布你插件的名称吗?也许有人已经有了这个特定问题的解决方案。

我不能给你一个解决办法。没有太多使用“新”wp navmenu功能,因此我只能提出一些建议:

在插件中搜索在WordPress表中创建新帖子的函数/方法

  • 将具有给定id的帖子添加到菜单中:
    • 在wp\\u posts表中添加帖子-wp nav菜单项是带有帖子类型“wp nav item”的简单帖子。您还需要添加正确的术语,并在wp\\u term\\u relationships表中建立关系
  • 结束

    相关推荐

    Menu API not switching menus?

    我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph