web-dev-qa-db-ja.com

メニュー作成時のデフォルトの「テーマの場所」の設定

アクティブにすると、プライマリナビゲーションを設定し、それにホームページを追加してから正しい場所で有効にするテーマを作成しようとしています。

これが私が今までに持っているものです:

register_nav_menu('Primary', 'Primary Navigation');

$primary_nav_menu_id = wp_create_nav_menu('Primary');

wp_update_nav_menu_item($primary_nav_menu_id, 0, array(
    'menu-item-title' =>  __('Home'),
    'menu-item-classes' => 'home',
    'menu-item-url' => home_url( '/' ), 
    'menu-item-status' => 'publish'
));

上記はメニューを作成し、ホームページへのリンクを追加しますが、どのように私は自動的にこのメニューに 'Primary Navigation'のテーマ位置を割り当てるのでしょうか?

これは可能ですか?

1
0Neji

最初にメニューの場所を収集してから、メインメニューの場所をメニューIDで設定する必要があります。

// Set the menu to primary menu location
$locations = get_theme_mod( 'nav_menu_locations' );
$locations['primary'] = $primary_nav_menu_id;
set_theme_mod ( 'nav_menu_locations', $locations );

ここでは、「一次」が「一次ナビゲーション」を指すテーマの場所であると仮定します。

2
Chittaranjan