カスタムメニューのテーマにサポートを追加するにはどうすればよいですか?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/9

  •  16-10-2019
  •  | 
  •  

質問

私のテーマにバージョン3.0に追加されたカスタムメニューの機能を追加する方法に関するいくつかのチュートリアルを読みましたが、それらはすべて多少異なっているようで、余分なコードが含まれているかどうかはわかりません。さらに、メニュー互換としてテーマを登録するコードがRCとパブリックリリースの間で変更されたことを読みました。

私のテーマにカスタムメニューのサポートを追加する最も簡単な方法は何ですか?

役に立ちましたか?

解決

最も簡単な方法は、を使用することです register_nav_menus function.これは接続する必要があります 'after_setup_theme':

function my_cool_menu_function(){
  register_nav_menus( array(
    'primary' => 'Primary Navigation'
  ));
}

add_action( 'after_setup_theme', 'my_cool_menu_function' );

次に、テーマでは、そのメニューの位置を呼び出すだけです。

wp_nav_menu( array( 'theme_location' => 'primary' ) );

他のヒント

これを追加します functions.php あなたのテーマの。持っていない場合は、作成してください。

<?php
add_theme_support('menus');
function register_my_menus() {
    $args = array( 
        'menu-1' => __( 'Main Menu' )
    );
    register_nav_menus( $args );
}
add_action( 'init', 'register_my_menus' );
?>

そして、これはどこにでも行くことができます、私はそれを持っています header.php (見る wp_nav_menu() docs):

<?php
$args = array(
    'menu' => 'Main Menu',
    'sort_column' => 'menu_order',
    'container' => 'div',
);
wp_nav_menu( $args ); ?>

これにより、カスタムナビゲーションを最も単純な形式に含める方法は、識別子ではないものを使用してナビゲーションを選択すると思います。

<div class="access">
  <?php wp_nav_menu(); ?>
</div>

関数に渡すことができる基本的なオプションもあります。ここに私が一般的に使用するものは次のとおりです。

$navArgs=array(
    'menu_id' => 'nav',    // target the nav menu
    'container' => '',     // don't wrap the menu in <ul>
);
ライセンス: CC-BY-SA帰属
所属していません wordpress.stackexchange
scroll top