- WordPress
-
2024-09-29 - 更新:2025-04-03
WordPressのメニューを表示する際、wp_nav_menuメソッドを使って表示することがあると思います。
その際の例
wp_nav_menu( array( 'menu' => 'GlobalMenu', 'menu_id' => 'global_navi', 'container_class' => 'global_navigation' ) );
wp_nav_menu
ではidやクラス等、ある程度はパラメータを与えることでカスタマイズ出来るようになっています。
しかし、例えばメニューアイテムの最後に任意のアイテムを追加で表示させたいなど、柔軟なカスタマイズをすることが出来ません。
そんな柔軟なカスタマイズを行いたいときの手法をご紹介します。
順に解説していきますが、実際には一連の処理をfunctions.php
にカスタムメソッドとして作成し、メニューを表示したい任意の箇所で実行してください。
解説
メニュー名を指定し、wp_get_nav_menu_object
メソッドでメニュー情報を取得します。
※メニュー名は[外観]->[メニュー]->[メニュー構造]で設定しているメニュー名を指定してください。
// メニュー名 $menu_name = 'GlobalMenu'; // メニュー情報取得 $menu = wp_get_nav_menu_object($menu_name);
取得したメニュー情報を基にメニューアイテムを取得します。
// メニューアイテム取得 $menu_items = wp_get_nav_menu_items($menu->term_id);
