在主题激活时自动在位置"主菜单"上设置菜单

Tho*_*vex 9 wordpress themes activation menu

目前我正在制作这个菜单:(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'));
}
Run Code Online (Sandbox Code Playgroud)

当我激活我的主题时,我要做的是: 激活

自动选择"主菜单"框,这样当我开始这个主题时,我创建一个菜单并使其成为主菜单.

怎么做到这一点?

mik*_*des 14

您可以通过以下theme_location方式以编程方式设置菜单:

$locations = get_theme_mod('nav_menu_locations');
$locations['primary-menu'] = $term_id_of_menu;
set_theme_mod( 'nav_menu_locations', $locations );
Run Code Online (Sandbox Code Playgroud)

将此添加到您的functions.php.