【问题标题】:Automatically setting a menu on location 'primary menu' on theme activation主题激活时自动在“主菜单”位置设置菜单
【发布时间】:2013-10-24 10:59:03
【问题描述】:

目前我正在制作这个菜单: (函数.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'));
}

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

自动选择“主菜单”框,因此当我启动此主题时,我会创建一个菜单并将其设为主菜单。

如何做到这一点?

【问题讨论】:

    标签: wordpress menu themes activation


    【解决方案1】:

    您可以通过以下方式以编程方式设置菜单的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。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多