WordPressでマルチサイト構築していますが、デフォルトだと、各サイトごとにメニューをカスタムしないといけない。大抵、すべてのページに共通のメニューを使いたいと思うので調べてみた。
<?php switch_to_blog(1); wp_nav_menu(‘menu=topmenu’); restore_current_blog(); ?>
ナビメニューが入ってる部分の前後にswitch_to_blog(1);とrestore_current_blog();を追加したら、見事にすべての子サイトに親サイトのカスタムメニューが追加されてくれました♪これは非常に助かりました。
menu=***の中身は自分がつけたメニューの名前に書き換えます。
こちらのサイトを参考にさせていただきました。
——————-
(12/8後記)
その後、基本テンプレートをTwenty twelveに変えたんですが、ナビメニュー部分のスタイルシートが消えちゃってて、???になったんですが、元のほうを見ると、配列でスタイルシートが組み込まれてたので、同じスタイルを共通仕様のほうにも書いてやりました。
Twenty twelveのメニュー部分が
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) );?>
なので、上のまんまだとスタイルシートが消えちゃいます。
Twenty twelveの基本を使って、
<?php switch_to_blog(1); wp_nav_menu( array( 'menu=topmenu', 'menu_class' => 'nav-menu' ) ); restore_current_blog();?>
でスタイルシート復活。