【Snow Monkey】グローバルメニューを出し分ける方法

こんにちわ、@taichi_kimuraです。

弊社では基本的にWordPressとSnowMonkeyを使ったサイト制作をさせていただいております。

色々なことがローコードで開発できますが、今回はグローバルメニューの出し分けについてです。

この記事は社内マニュアルとしての内容も含まれます。予めご了承ください。

Snow Monkeyのカスタマイズは「my snow monkey」プラグインの利用を前提にしています。

Snow Monkeyでグローバルメニューを出し分ける

日本語サイトのグローバルメニュー
英語ページのグローバルメニュー

特設ページやカスタム投稿タイプなどでグローバルメニューを出し分けしたいときって無いでしょうか?

UIデザインの面でも、メニューを出し分けたり追加したりすることは必要なデザイン要素だと思います。

複雑な出し分けでなければ、ちょっとしたコードの追加で実装できるので身につけておきましょう。

my-snow-monkey.phpに追記する

やり方は非常にかんたんで、コードを追加するだけです。

メニューの差し替え

add_filter(
	'wp_nav_menu_args',
	function( $args ) {
		if ( is_home() ) { // 差し替え条件
			if ('global-nav' === $args['theme_location']) { // どのナビゲーションを差し替えるか
				$args['menu'] = 'Testing Menu'; // メニュー管理画面で入力した名前
			}
		}
		return $args;
	}
);

ちなみに、ロゴの差し替えの場合

add_filter(
	'get_custom_logo',
	function( $html ) {
		if ( is_home() ) { // 差し替え条件
			$html = preg_replace(
				'|<img .+? />|',
				'<img class="custom-logo" src="" />', // 表示したい img タグ
				$html
			);
		}
		return $html;
	}
);

wordpressの条件分岐についてはこちらを参照しましょう。

条件分岐が複雑で管理が煩雑になりそうな場合は別のWordPressを立てることも視野に入れましょう。

記載内容の詳細については割愛しますが、弊社webチームは読み取れることが望ましいです。

ではまた。

この記事を書いた人

木村 太一

ドットワンの代表です。1979年生まれ。3女の父。ゴルフと筋トレが趣味。立川にあるキヤノン代理店に就職後、1万件以上飛び込み営業したのち独立。たくさんの企業を見てきた経験と自分自身も零細企業の経営者ということを活かし、相手の立場に立ったDX推進、ITコンサルを行っております。

お気軽にお問い合わせください

ホームページ、ネットショップの集客方法から、IT機器や、顧客管理、採用に関することまでご相談ください。
WEBマーケティングのノウハウを生かして、お客様のお悩みを解決します。