WordPressでオリジナルのメニューを作りたい

カスタム

wpphp_custommenu

ヘッダーやサイドバーに固定ページの一覧を表示する形式をよく見かけますが
固定ページが多かったり、特定のページだけをメニューに表示したいとき
全ての一覧が表示されてしまうと困ります。。が、
WordPressにはカスタムメニューといって、
自分で自由にメニューを作れる機能が備わっています。

さっそくカスタムメニューを使ってオリジナルのメニューを作ってみましょう。

テーマ内の functions.phpを作成、編集する

テーマファイル内に functions.php がなければ、同名ファイルを作成します。

管理画面でメニュー機能を使えるようにする

<?php

add_theme_support('menus');

?>

上のソースを functions.php に追加します。

wpphp_custommenu_sample01

これで管理画面に「メニュー」が追加されました!

管理画面からメニューを作成する

wpphp_custommenu_sample02

メニュー設定画面です。まずは右側にあるメニューの新規作成をします。

wpphp_custommenu_sample03

メニュー名を入力して保存します。
この名前は後にclass名にもなるので、なるべく英数字を使ったほうがいいかもしれません。

wpphp_custommenu_sample04

メニューが登録されたので、
次はメニューに入れたい自由なURLや固定ページ、カテゴリーを登録します。

wpphp_custommenu_sample05

登録しました!メニューにページが追加されましたね。
実はこの画面でドラッグ&ドロップで順番を入れ替えることもできます。

最後に「メニューの保存」をクリックして完成です。

作ったメニューを表示してみる

<?php wp_nav_menu(); ?>

メニューを表示したい場所にこの1行を追加します。
表示も簡単ですね。

もし複数メニューを追加した場合は、下記のように引数で名前を指定してあげましょう。

<?php wp_nav_menu( array('menu' => 'header_menu' )); ?>

メニューはリスト形式で出力されます。

<div class="menu-header_menu-container">
	<ul id="menu-header_menu" class="menu">
		<li id="menu-item-223" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-223"><a href="https://site-manage.net/management/">運営サポート</a></li>
		<li id="menu-item-224" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-224"><a href="https://site-manage.net/flow/">導入までの流れ</a></li>
		<li id="menu-item-225" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-225"><a href="https://site-manage.net/price/">価格・プラン</a></li>
		<li id="menu-item-226" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-226"><a href="https://site-manage.net/company/">会社概要</a></li>
	</ul>
</div>

自作メニューの完成です!
あとはお好みでCSSを使って調整をしていきましょう。

カスタム

関連記事