wp_get_nav_menu_object()


WordPressの関数wp_get_nav_menu_object()は、指定されたナビゲーションメニューのオブジェクトを取得するために使用されます。

シンタックス

wp_get_nav_menu_object( mixed $menu );

引数の説明:

  • $menu (mixed) — メニュー名、メニューのID、またはWP_Termオブジェクトを指定します。

例1: メニューオブジェクトを取得する

以下のコードは、指定されたメニュー名からメニューオブジェクトを取得します。

<?php 
$menu_object = wp_get_nav_menu_object( 'main-menu' ); 
?>

例2: メニューのIDからオブジェクトを取得する

メニューのIDを使ってメニューオブジェクトを取得する例です。

<?php 
$menu_object = wp_get_nav_menu_object( wp_get_nav_menu_locations()['primary'] );
?>

例3: メニューオブジェクトの詳細を表示する

メニューオブジェクトのプロパティを取得して表示します。

<?php 
$menu_object = wp_get_nav_menu_object( 'header-menu' );
echo $menu_object->term_id; 
echo $menu_object->name; 
?>

例4: 条件に基づいてメニューオブジェクトを取得する

メニューが存在するかどうかを確認してからオブジェクトを取得します。

<?php 
$menu_name = 'footer-menu';
if ( has_nav_menu( $menu_name ) ) {
    $menu_object = wp_get_nav_menu_object( $menu_name );
}
?>

例5: ナビゲーションメニューのカスタムロジック

カスタムロジックを使用して、複数のメニューを処理します。

<?php 
$menus = ['primary', 'secondary'];
foreach ( $menus as $menu_location ) {
    if ( has_nav_menu( $menu_location ) ) {
        $menu_object = wp_get_nav_menu_object( wp_get_nav_menu_locations()[$menu_location] );
        echo $menu_object->name;
    }
}
?>

注意点:

  • メニュー名やIDが正確でない場合、nullが返される可能性があります。
  • wp_get_nav_menu_object()を使用する前に、対象のメニューが存在することを確認してください。

関連機能: