WordPress「外観」で設定したナビゲーションメニューをheader部に出力

機能追加

引数の種類

wp_nav_menu()は、以下のような引数を取ります。

  1. $args: メニューの表示に関する設定を含む連想配列
    • theme_location: メニューの位置。テーマで登録したメニュー位置を指定します。
    • menu: 表示する特定のメニューの名前またはID。
    • container: メニューを囲むHTMLタグ(例:'nav''div'など)。デフォルトは'div'
    • depth: 表示する階層の深さ(例:0で無制限、1でトップレベルのみ)。
    • fallback_cb: メニューが存在しない場合に呼び出すコールバック関数。

使用方法

wp_nav_menu()は、通常、テーマのヘッダー部分で呼び出され、設定したナビゲーションメニューを表示します。メニューを正しく表示するためには、テーマ内でメニュー位置を登録する必要があります。

サンプルコード

以下は、ナビゲーションメニューをヘッダーに出力する基本的なサンプルコードです。

<?php
// functions.phpでメニュー位置を登録する
function register_my_menus() {
    register_nav_menus(array(
        'header-menu' => __('ヘッダーメニュー'),
    ));
}
add_action('init', 'register_my_menus');

// ヘッダー部分にメニューを出力
?>
<header>
    <nav>
        <?php
        wp_nav_menu(array(
            'theme_location' => 'header-menu', // 登録したメニュー位置
            'container' => 'div',               // メニューを囲むタグ
            'depth' => 1,                       // トップレベルのメニューのみ表示
            'fallback_cb' => false              // メニューがない時は何もしない
        ));
        ?>
    </nav>
</header>

引数の使用例

上記のコードでは、wp_nav_menu()を使用して、header-menuという位置に登録したメニューを表示しています。container'div'に設定し、depth1にすることで、トップレベルのメニューのみを表示します。

まとめ

このように、wp_nav_menu()を使用することで、WordPressの「外観」から設定したナビゲーションメニューを簡単にヘッダー部に出力できます。テーマ開発において、ユーザーが管理しやすいメニューを提供するために非常に重要な関数です。

他にもカスタムメタボックスを追加する記事なども書いています。

コメント

タイトルとURLをコピーしました