【SWELL】固定ページごとにヘッダーのグローバルメニューの内容を変更する方法[WordPress]

グローバルメニューのラインナップが雑多だと、専門性・特化性が薄れて残念に見えてしまうことがありますよね?

そこでヘッダーの内容を固定ページに合わせて変更するカスタマイズをしてみました。

SWELLと書いてますが、どのWordPressテーマでも可能です。

目次

[ヘッダー]グローバルメニューを固定ページごとに変更する

新しいメニューの作成

ダッシュボード > メニュー > 新しいメニューを作成しましょう。をクリック

メニューの内容を決める

今回はWordPressというカテゴリーページの記事を表示した時にグローバルメニューを子カテゴリーの内容にしてみます。

名前は「wp-menu1」としています。

最後にメニューを保存ボタンを押し忘れないようにしましょう。

functions.phpの挿入

functions.phpに下記のコードを挿入します。

安全に入れたい場合はCode Snippetsのプラグインがおすすめです。

==============

function custom_nav_args($args){
if ( is_page( array('234' , '237' ) ){
$args['menu'] = 'wp-menu1';
$args['container'] = '';
$args['items_wrap'] = '%3$s';
$args['link_before'] = ''; $args['link_after'] = '';
return $args;
} else {
$args['menu'] = 'header_menu';
$args['container'] = '';
$args['items_wrap'] = '%3$s';
$args['link_before'] = ''; $args['link_after'] = '';
return $args;
}
}
add_filter('wp_nav_menu_args', 'custom_nav_args');

==============

is_page( array('234','237') )のところは作成したメニューを表示させたい固定ページIDをいれています。

備考:固定ページIDとは?

上の画像の赤線の部分が固定ページIDです。

$args['container'] = '';以下は特にSWELLのテーマに合わせて表示が崩れないようにいれています。別テーマの場合は必要ありません(見た目が崩れる場合はテーマに合わせて調べて記述します)

キャッシュの設定

キャッシュが効いているとメニューが上手く切り替わらないので、キャッシュを切ります。

ダッシュボード > SWELL設定 > ヘッダーをキャッシュする のチェックを外しましょう。

またPjaxによる遷移(Barba v2)は使わないようにしましょう。(SWELL)

またフッターを遅延読み込みさせるはチェックを入れています。

※チェックを外すと、グローバルメニューの内容が反映されてしまいます。

スマホ開閉メニューをキャッシュするのチェックも切っておきましょう。

見た目の確認

特定の固定ページを開くと、自然にグローバルメニューが切り替わりました!

before
after

[ヘッダー]グローバルメニューを複数の固定ページごとに変更する

場合によっては複数の固定ページで、異なるグローバルメニューを表示させたい場合もあるでしょう。
基本的に上記で解説したものと手順は同じですが、PHPコードが下記のように異なります。

functions.phpの挿入

functions.phpに下記のコードを挿入します。

==============

function custom_nav_args($args){
if ( is_page('234') ){
$args['menu'] = 'wp-menu1';
$args['container'] = '';
$args['items_wrap'] = '%3$s';
$args['link_before'] = ''; $args['link_after'] = '';
return $args;
} elseif(is_page('237')){
$args['menu'] = 'wp-menu2';
$args['container'] = '';
$args['items_wrap'] = '%3$s';
$args['link_before'] = ''; $args['link_after'] = '';
return $args;
} else {
$args['menu'] = 'header_menu';
$args['container'] = '';
$args['items_wrap'] = '%3$s';
$args['link_before'] = ''; $args['link_after'] = '';
return $args;
}
}
add_filter('wp_nav_menu_args', 'custom_nav_args');

==============

is_page('234')のところは作成したメニューを表示させたい固定ページIDを入れています。

elseif(is_page('237')){のところに別のメニューを表示させたい固定ページIDを入れてください。

見た目の確認

固定ページごとに、自然にグローバルメニューが切り替わりました!

何もなし
特定固定ページ①
特定固定ページ②

Wintosではホームページ制作を行っております。

・ホームページから集客したい
・名刺代わりとしてホームページを作りたい
・採用強化のためにホームページを作りたい

など、Wintosではお客様のご要望に沿ったホームページを制作します。

過去の制作実績としては、

  • 年間5人しか集客できない組織
    ⇒HPを中心に平均年15人の集客に成功
  • オフラインのみでの集客を行っていた理容室
    ⇒GoogleMapとHPの組み合わせで集客力UP

など、成果まで結びつくHP制作を行っています。

お電話でのお問い合わせはこちら▼
050-3635-1015

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次