カスタムメニュー

menuWordPress3.0よりカスタムメニューという機能が追加された。これもテーマレビューで指摘されるまで気がつかなかった。カスタムメニューに対応しているテーマでは、管理画面の[外観]-[メニュー]でグローバルナビゲーションやサイドバーに表示するメニューを作成することができる。地味ながら「これは使える!」といいたい機能だ。

さてテーマでカスタムメニューに対応するには、after_setup_theme フックでメニュー登録を行う。例えばグローバルナビゲーションをカスタマイズしたい場合は、functions.php に以下を記述しておけばよい。

function mysetup() {
  register_nav_menus( array(
    'primary' => 'Primary Navigation'),
  ));
}

add_action( 'after_setup_theme', 'mysetup' );

これで管理画面に「ご利用中のテーマは1個のメニューに対応しています。」と表示され、メニューの編集が可能となる。
作成したメニューはheader.phpなどで表示する。

<?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>

1件のコメント

  1. pyonko
    2012年1月7日 08:55

    やりたいことがあるのですが、いろいろググっても出てきません。そこで、方向を変えて検索したところ、ここに辿り着きました。
    カスタムメニューに、新着マーク(Newマーク)を表示できないでしょうか?また、カテゴリーリストにおいて新着を含むカテゴリーの横に新着マークを表示したい、というのもあります。
    エントリーのタイトルを出力する箇所に表示することは、いろいろなTIPSを見てできるのですが、カスタムメニューやカテゴリーリスト(wp_list_gategories()関数など)のようにWordPressの機能の中で使いたいのですが、方法はないでしょうか?

コメントをどうぞ

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>