WordPress ナビゲーションメニューをページ内にショートコードで表示

WordPressのページの表示を確認したくてサイトマップ的な一覧がほしいので、ページ上にショートコードでメニューを表示させたくて、その方法のメモです。

コード

functions.phpに追加。

functions.php
1
2
3
4
5
6
function print_menu_shortcode($atts, $content = null) {
extract(shortcode_atts(array( 'name' => null, 'class' => null ), $atts));
return wp_nav_menu( array( 'menu' => $name, 'menu_class' => $class, 'echo' => false ) );
}
add_shortcode('menu', 'print_menu_shortcode');

ショートコード

ショートコードの書式は以下の通り。
カスタムメニューで設定したメニュー名(main-menuなど)を指定。クラス名を付けたい場合はそれも指定。

WordPress投稿記事
1
[menu name="メニュー名" class="クラス名"]

参考

参考というかそのままです。

http://stephanieleary.com/2010/07/call-a-navigation-menu-using-a-shortcode/

wp_nav_menu()の他のパラメータも反映されるようにできるわけですが、活用シーンを思いつき次第書き加えようかと思います!
:)





WordPress ナビゲーションメニューをページ内にショートコードで表示

https://fennote.fareastnoise.com/2022/03/24/wp-nav-shortcode/

Author

FEN

Posted on

2022-03-24

Updated on

2023-06-28

Licensed under

コメント