サイトアイコン ドットワン合同会社

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

こんにちは、木村太一です。

弊社では基本的に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チームは読み取れることが望ましいです。

ではまた。

モバイルバージョンを終了