wp_get_nav_menu_name()


WordPressの関数wp_get_nav_menu_name()は、指定したメニューの名前を取得するために使用されます。

構文

wp_get_nav_menu_name( string $location );

引数の説明:

  • $location (string) — メニューの位置スラッグ(例: 'primary''footer')。

例1: メインメニューの名前を取得する

この例では、メインメニューの名前を取得して表示します。

<?php echo wp_get_nav_menu_name( 'primary' ); ?>

例2: フッターメニューの名前を取得して出力する

フッターメニューの位置スラッグを指定して名前を取得します。

<?php
$footer_menu_name = wp_get_nav_menu_name( 'footer' );
echo $footer_menu_name;
?>

例3: メニュー名を条件付きで表示

メニュー名が取得できた場合にだけ出力します。

<?php
$menu_name = wp_get_nav_menu_name( 'header' );
if ( $menu_name ) {
    echo 'メニュー名: ' . $menu_name;
} else {
    echo '指定されたメニュー位置にはメニューが登録されていません。';
}
?>

例4: 複数のメニュー位置をループで取得する

複数のメニュー位置からそれぞれの名前を取得して表示します。

<?php
$locations = array( 'primary', 'footer', 'header' );
foreach ( $locations as $location ) {
    echo $location . ' メニュー名: ' . wp_get_nav_menu_name( $location ) . '<br>';
}
?>

例5: メニュー名をテーマカスタマイザーで利用

テーマカスタマイザー内でメニュー名を取得して設定フィールドに反映します。

<?php
$wp_customize->add_setting( 'custom_menu_name', array(
    'default' => wp_get_nav_menu_name( 'primary' ),
) );
$wp_customize->add_control( 'custom_menu_name_control', array(
    'label' => 'メニュー名',
    'section' => 'title_tagline',
    'settings' => 'custom_menu_name',
) );
?>

注意事項

  • $locationに指定する値は、テーマで登録されているメニュー位置スラッグである必要があります。
  • メニューが登録されていない場合、空文字列が返されます。

関連機能: