【WordPress】 Bulmaの使用でタグアーカイブの表示が崩れる
CSSフレームワークのBulmaを使用してWordPressテーマを作成しました。フレームワークと言ってもBootstrapなどと違い、CSSを一枚読み込むだけです。使用方法は公式サイトに詳しいですが、WordPressでBulmaを使用する際にハマったポイントと解決方法をまとめておきます。
タグアーカイブの表示が崩れる
タグアーカイブ一覧ページの表示が崩れてしまいます。
原因
BulmaのエレメントであるTagの適用方法がclass="tag"
となっています。これは、WordPressの<body <?php body_class(); ?>>
で、タグアーカイブページ表示時に付与されるクラス名と同じものです。従って、<body class="tag">
にTagが適用されてしまい、表示崩れが起こります。
解決方法
.tag breaks WordPressにあるように現在は修正されたようですが、ver 5.0では崩れたままなので修正します。方法は.tag breaks WordPressで示されているようにCSSを修正するか、body_class()
で付与されるクラス名を修正するかです。
まずは、body_class()
が.tag
を付与しないよう修正します。
表示崩れは解決しましたが、この方法では副作用がありそうなので、素直にBulmaのCSS(Sass)を修正するほうがよさそうです。
Prism.jsの表示が崩れる
ソースコードのハイライトにPrism.jsを用いていますが、タグページと同じくクラス名の重複により表示が崩れてしまいます。解決方法はPrism.jsのpluginであるCustom Classを使用してクラス名を書き変えるか、CSSを修正するかです。
Prism.jsの記事で書いたように、重くなるのは避けたいので、BulmaのCSS該当部分を上書きすることにしました。下記のコードはPrism.jsで選択した言語やプラグインによって変わる可能性があるので、環境に合わせて変更してください。
まとめ
どちらの問題も名前空間(プレフィックス)が無いことが原因で、https://github.com/jgthms/bulma/pull/511を見る限り自分で対処するしかないようです。今後、同問題が起きる可能性を考えるとWordPressなどのCMSではBulmaの使用は避けようと思いました。