ワードプレスのメニューはメンテナンスフリー?

ホームページで最も頻繁に使用されるものは”メニュー”だと思います。
例えば、左図の様なホームページのメインコンテンツへ案内をするメニューがあります。(WordPressではグローバルメニューと呼ばれることもあります)
また、左下の例の様にコンテンツ内に数行だけ書かれているメニューもあります。
様々な装飾(色、太字、下線や背景画など)を別にすればメニューの正体は単純な記述です。
例の”メニュー#1”は、
<a href=”メニュー#1のURL”>メニュー#1</a>
と記述されます。HTMLの中でも最も有名な記述で、ハイパーリンク、リンク、アンカーなどと呼ばれているものです。
ですから、4つのメニューを作成したい時は、
<a href=”メニュー#1のURL”>メニュー#1</a>
<a href=”メニュー#2のURL”>メニュー#2</a>
<a href=”メニュー#3のURL”>メニュー#3</a>
<a href=”メニュー#4のURL”>メニュー#4</a>
と並べるだけです。(色や下線はCSSなどで別途設定されます)
メインメニュー(アコーディオン展開されるサブメニューは出来ませんが)も簡易メニューも基本はこれだけです。
リンク先を並べて体裁を整えるだけ。
しかしですね、簡単なのですが、一つ大きな問題があります。(非常に大きな問題かもしれません)
それは、『リンク先URLが無くなったり変更になるとリンクが切れる』ことです。
また、『リンク先の名称が変更になっても旧名称が残る』ことです。
例えば、<a href=”http://abc.com/kou_blog”>こうさんのブログ</a>とメニューの一つを書いたとします。
ある日思い立って、『こうさんのブログ』を『お店からのお知らせ』に変えてURLも“http://abc.com/info”に変更したとします。
メニューの事を覚えていて、<a href=”http://abc.com/info”>お店からのお知らせ</a>に変更すれば、何の問題もありません。
ところが、メニューはサイトの至る所に設置することが多いです。
結局、メンテナンスを忘れて、リンクの切れた、名称も存在しないメニューが残ることになります。
これはいけない。
名称が異なったりリンクが切れたりしたメニュー項目が残っていると、訪問者に”さびれたサイト”というイメージを植え付けます。
この大問題を解決してくれる素晴らしい機能がWordPressには備わっています。
むしろ、WordPressの最もWordPressらしい面とも言えます。
WordPressではメニュー名を予め登録しておくと、直接リンクのHTML記述をしなくてもシステマティック(直観的)にメニューを生成する機能があります。
メニュー名の登録は少し難しくてPHPというプログラム言語で記述します。(ここからの説明は”ふ~ん”程度に眺めてください)
register_nav_menus(
array(
’ta_headertop_info_menu’ => ‘TAヘッダートップメニュー(連絡先エリア簡易メニュー)’,
’ta_headertop_search_menu’ => ‘TAヘッダートップメニュー(検索エリア簡易メニュー)’,
‘ta_global_navigation’ => ‘TAグローバルメニュー(ナビゲーション)’,
)
);
functions.phpと呼ばれるファイルに上記のオマジナイを書くと3種類のメニュー名が登録されます。
次に登録されたメニュー名を表示させたい箇所に、
wp_nav_menu(
array(
’container’ => ‘div’,
’container_id’ => ‘ta-global-navi’,
’theme_location’ => ‘ta_global_navigation’,
’echo’ => false,
’depth’ => 3,
)
);
という関数を貼り付けます。(上の例は登録された’ta_global_navigation’という名前のメニューを貼り付ける関数です)
ここまで準備ができるとWordPressのメニュー設定画面が利用できます。
左図の様に対象のメニュー名(ここでは’ta_global_navigation’ => ‘TAグローバルメニュー(ナビゲーション)’)に表示させたいページを直観的に配置できます。
WordPressのメニュー操作方法はここでは割愛しますが、
重要なことは、このWordPressのメニュー機能で設置したページ情報(固定ページなどの名称やURL)は各々のページで変更した内容がそのまま実際のメニューに反映されることです。
WordPress標準のメニュー機能を使用するとページ名称やURLの変更を気にしないで済むわけです。(メンテナンスフリー)
心配しないでください。
こんな難解で面倒なこと(メニュー名称登録や表示場所への関数貼り付け)はすべてテーマが行います。(これが”ふ~ん”程度に眺めるの意味です)
ほとんどのテーマがグローバルメニューを予め備えていますので、みなさんはHTMLでアンカーを書いてメニューを作る必要はありません。
TAテーマ001にはたくさんのメニュー(WordPress標準機能が利用できるメニューの意味です)が用意されています。
TAテーマ001の詳細はこちらをご覧ください。
お試しください。