这有点晚了,但我必须自己找出这个问题的另一部分,并想与大家分享。
要创建默认菜单并将其放置到主题位置,您需要在主题中预先存在一个位置,并且需要确保您在菜单中链接的任何页面也已创建。
在主题的功能中。php,注册任何菜单位置。我注册了两个:
function my_register_navs() {
register_nav_menus(
array( \'header-menu\' => __( \'Header Menu\' )
, \'footer-menu\' => __( \'Footer Menu\' ) )
);
}
add_action( \'init\', \'my_register_navs\' );
接下来,您需要在站点创建时创建菜单。我没有用钩子,而是打了电话
wpmu_create_blog
手动,但您可以
wpmu_new_blog
如果你愿意的话。
// Create the menus
$hdr_menu = array(
\'menu-name\' => \'Header Menu\'
, \'description\' => \'The primary navigation menu for this website\'
);
$header_menu = wp_update_nav_menu_object( 0, $hdr_menu );
$ftr_menu = array(
\'menu-name\' => \'Footer Menu\'
, \'description\' => \'The menu that appears at the bottom of most pages in this website\'
);
$footer_menu = wp_update_nav_menu_object( 0, $ftr_menu );
// Set the menus to appear in the proper theme locations
$locations = get_theme_mod(\'nav_menu_locations\');
$locations[\'header-menu\'] = $header_menu;
$locations[\'footer-menu\'] = $footer_menu;
set_theme_mod(\'nav_menu_locations\', $locations);
最后,您需要将项目添加到菜单中。对每个菜单中的每个项目重复此代码。
// Build menu item
$menu_item = array(
\'menu-item-object-id\' => $page_id
, \'menu-item-parent-id\' => 0
, \'menu-item-position\' => $menu_order
, \'menu-item-object\' => \'page\'
, \'menu-item-type\' => \'post_type\'
, \'menu-item-status\' => \'publish\'
, \'menu-item-title\' => $label
);
// Add to nav menu
wp_update_nav_menu_item( $header_menu, 0, $menu_item );
希望这有帮助!以下是一些外部参考资料: