WordPressのテーマ『Cocoon』。先日2.9.3が公開されました。
Cocoon 2.9.3公開。WordPress 7.0対応、不具合の修正など(Cocoon)
今回の変更点の中に
ナビゲーションメニューの出力から不要なコンテナとIDの出力を削除
というのがありまして……。
私、CSSで利用していたため、いっせいにデザイン崩れが発生!このままだと、あらゆる顧客のテーマに影響が出てしまう……!その修正をしなければならないのか、と思うと(ほげー!)と萎えまくり。
えらいことになりそうだったのですが、解決策を見つけましてホッ。今回は備忘録です。
ということで、WEB制作する人以外には面白くも役にも立ちませんのであしからず~(^-^;
ナビゲーションメニューの出力から不要なコンテナとIDの出力を削除
Cocoon 2.9.2.6以前だと、たとえば、ナビゲーションメニューウィジェットに「footer-sitemap-01」を選択表示させると、下記のようにIDが出力がされていました。
<ul id="menu-footer-sitemap-01" class="menu">
</ul>
「footer-sitemap-01」の頭に「menu-」がついたID名です。ナビゲーションメニューを複数表示させて、それぞれにCSSを適応させる場合、超便利!デザインの振り分けに大活躍。
ところが、今回の変更では「ナビゲーションメニューの出力から不要なコンテナとIDの出力を削除」され、下記のようにIDがなくなっちゃいました。
<ul class="menu">
</ul>
IDどこいったーー!menuだけになっちゃって、デザインがいっせいに総崩れ……!「ほげー!」
解決方法
そんなわけで解決策です!
Cocoon 2.9.3で、IDの出力がなくなったのは「cocoon-master/function.php」に下記が追記されたからです。
// ナビゲーションメニューの日本語IDを削除する
add_filter( 'wp_nav_menu_args', 'cocoon_wp_nav_menu_args_custom' );
if ( !function_exists( 'cocoon_wp_nav_menu_args_custom' ) ):
function cocoon_wp_nav_menu_args_custom( $args ) {
// フォーラムの提案通り、コンテナとIDを削除してシンプルなリストにする
$args['container'] = false;
$args['items_wrap'] = '<ul class="%2$s">%3$s</ul>';
return $args;
}
endif;
こちらを解除してあげれば、解決します!
「cocoon-child-master/function.php」に下記を追記してあげましょう。「cocoon-master」ではなくて、子テーマである「cocoon-child-master」のfunction.phpですよ、お間違えなく。
// ナビゲーションメニューの日本語IDを削除する
add_filter( 'wp_nav_menu_args', 'cocoon_wp_nav_menu_args_custom' );
if ( !function_exists( 'cocoon_wp_nav_menu_args_custom' ) ):
function cocoon_wp_nav_menu_args_custom( $args ) {
// IDを付与したリストにする
$args['items_wrap'] = '<ul id="%1$s" class="%2$s">%3$s</ul>';
return $args;
}
endif;
やったことは
$args['container'] = false;
を削除して
id="%1$s"
を追記しました。
これで、従来のように、ナビゲーションメニューにIDが出力されます。
同じ事で悩んでいる人がいたら、ぜひやってみてください。この記事が少しでも参考になれば幸いです!
今月の顧客の紹介
広島県廿日市市にて、温かみのある木の食器を制作・販売をしている『木の詩』さん。弊工房が企画・広報をしています。
このたび同じく廿日市市大野にある『まちの駅ADOA大野』で商品を常設販売してもらえることになりました~!

宮島まで足を運んだついでに、ぜひ『まちの駅ADOA大野』までいらしてください。
手にとって買っていただけたらうれしいです~。さらに、SNSで紹介してもらえた日には、大変喜びます。
「廿日市かぁ~遠いわぁ」という人は、WEB販売もやっていますので、こちらからもどうぞ。
よろしくお願いしま~す!

コメント