fusionをカスタムメニューに対応させる
WordPressのfusionというテーマがなかなか面白い。
一つ残念なのは、グローバルメニューが「カスタムメニュー」に対応していない点。
というわけで、自力で対応させてみた。
まずは、functions.phpに次のコードを入れる。
register_nav_menus(array(
'global-nav' => 'グローバルナビゲーション',
'footer-nav' => 'フッターナビゲーション')
);
「フッターナビゲーション」の方は、ここでは使わないけれど、
まぁ、将来の拡張用ってことで。
続いて、header.phpの中で、グローバルメニューを表示している部分を変更する。
下の方にある。オリジナルコードはこうなっている。
< ?php
if((get_option('show_on_front')<>'page') && (get_option('fusion_topnav')<>'categories')) {
if(is_home() && !is_paged()){ ?>
- ]*)>\]*)>(.*?)\< \/a>@i', '
- $3', wp_list_categories('show_count=0&echo=0&title_li=')); }
else { echo preg_replace('@\
- ]*)>\]*)>(.*?)\< \/a>@i', '
- $3', wp_list_pages('echo=0&title_li=&')); }
?>
< ?php } else { ?>
< ?php
}
} ?>
< ?php
if(get_option('fusion_topnav')=='categories') { echo preg_replace('@\
これを、こう変更する。
< ?php wp_nav_menu(array(
'link_before' => '',
'link_after' => '',
'theme_location' => 'global-nav'
)); ?>
ようするに、div id="tabs"の中をごっそり書き換えてしまうってこと。
それと、メニューのリンクテキストをspanタグで二回囲んでやるのがミソ。
ディスカッション
コメント一覧
まだ、コメントがありません