激活主题时,在“主菜单”位置自动设置菜单

12

目前我正在制作这个菜单: (Functions.php)

$menuname = 'Top Menu';
$menu_exists = wp_get_nav_menu_object( $menuname );

if( !$menu_exists){
$menu_id = wp_create_nav_menu($menuname);

wp_update_nav_menu_item($menu_id, 0, array(
    'menu-item-title' =>  __('Programme'),
    'menu-item-classes' => 'programme',
    'menu-item-url' => home_url( '/programme/' ), 
    'menu-item-status' => 'publish'));

wp_update_nav_menu_item($menu_id, 0, array(
    'menu-item-title' =>  __('Speakers'),
    'menu-item-classes' => 'speakers',
    'menu-item-url' => home_url( '/speakers/' ), 
    'menu-item-status' => 'publish'));
}

当我激活我的主题时,我想要做的是:Activating
(来源:cubeupload.com)

自动选择“主菜单”框,这样当我开始使用这个主题时,我就可以创建一个菜单并将其设为主菜单。

怎么做呢?

1个回答

17

你可以通过编程方式设置菜单的theme_location

$locations = get_theme_mod('nav_menu_locations');
$locations['primary-menu'] = $term_id_of_menu;
set_theme_mod( 'nav_menu_locations', $locations );

将这段代码添加到您的functions.php中。


啊,不好了,这会完全改变数据库中的菜单。 - tinyCoder
我添加了一个答案,基于这个答案 - 在这里有一些更多的功能:将导航设置为菜单显示位置 - Zeth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接