WordPressでHTMLやCSSを入れたのに、思った通りに表示されないことがあります。
たとえば、「HTMLを入れたらそのまま文字として表示された」「CSSを書いたのに中央寄せできない」「カスタムHTMLブロックに入れたらレイアウトが崩れた」「追加CSSが効かない」といったケースです。
WordPressでは、記事本文、カスタムHTMLブロック、追加CSS、テーマ設定、ブロック設定など、HTMLやCSSに関係する場所がいくつかあります。
この記事では、WordPressでHTML・CSSがうまく表示されないときの原因と解決策を、初心者向けに整理します。
この記事では、HTMLがそのまま表示される、CSSが反映されない、中央寄せできない、スマホだけ崩れる、テーマ側のCSSに負けるといった悩みを中心に解説します。
カスタムHTML、追加CSS、ブロック設定、テーマ設定の違いも含めて、確認する順番で見ていきましょう。
この記事で分かること
- WordPressでHTMLがそのまま表示される原因
- CSSが効かないときの確認ポイント
- HTMLで中央寄せしたいときの考え方
- カスタムHTMLブロックの使い方
- 追加CSSとブロック設定の違い
- スマホだけ崩れるときの解決策
- 自分で触らない方がいいケース
WordPressでHTML・CSSがうまく表示されない主な原因
WordPressでHTMLやCSSがうまく表示されない原因は、1つではありません。
コードの書き方が間違っている場合もありますが、そもそもHTMLやCSSを入れる場所が違っていることもあります。
特に、ブロックエディターでは、通常の段落ブロック、カスタムHTMLブロック、追加CSS、ブロックの追加CSSクラスなどを使い分ける必要があります。
よくある原因
- HTMLを段落ブロックに貼っている
- CSSをHTML本文側にそのまま書いている
- 追加CSSに書くべき内容をカスタムHTMLに書いている
- セレクタの指定が間違っている
- テーマ側のCSSに上書きされている
- キャッシュが残っている
- スマホ表示の確認ができていない
- テーマやブロックの仕様と合っていない
まずは、どこに何を書いたのかを整理しましょう。
HTMLは構造を作るもの、CSSは見た目を調整するものです。この役割を分けて考えると、原因を切り分けやすくなります。
原因1:HTMLを入れる場所を間違えている
WordPressでHTMLがうまく表示されない原因として多いのが、HTMLを入れる場所を間違えているケースです。
通常の段落ブロックにHTMLコードを貼ると、意図したHTMLとして処理されず、文字として表示されたり、ブロックエディター側で自動変換されたりすることがあります。
HTMLを直接書きたい場合は、基本的に「カスタムHTML」ブロックを使います。
解決策:カスタムHTMLブロックに入れる
- 編集画面でブロック追加ボタンを押す
- 「カスタムHTML」ブロックを選ぶ
- HTMLコードを貼り付ける
- プレビューで表示を確認する
- 問題なければ更新する
- 公開画面でも表示を確認する
たとえば、次のようなHTMLはカスタムHTMLブロックに入れます。
<div class="sample-box">
<p>ここに文章を入れます。</p>
</div>カスタムHTMLブロックでは、HTMLを直接書けます。ただし、テーマやWordPressの安全性の仕組みによって、一部のタグや属性が使えないこともあります。
原因2:CSSを書く場所を間違えている
HTMLは表示されているのに、デザインが変わらない場合は、CSSを書く場所を間違えている可能性があります。
CSSは、基本的には「追加CSS」やテーマ側のCSS欄に書きます。
ただし、特定のカスタムHTML内だけで使うデザインであれば、カスタムHTMLブロック内に <style> を書いて管理する方法もあります。
解決策:CSSの置き場所を使い分ける
- サイト全体に効かせたいCSSは「追加CSS」に書く
- 特定ページだけの装飾ならカスタムHTML内に書く方法もある
- ブロック単位で変えたいなら追加CSSクラスを使う
- テーマ独自のCSS欄がある場合は仕様を確認する
- 同じCSSを複数箇所に書かない
- どこに何を書いたかメモしておく
カスタムHTML内にCSSを書く場合は、次のような形になります。
<style>
.sample-box {
background-color: #f7f7f7;
padding: 20px;
text-align: center;
}
</style>
<div class="sample-box">
<p>中央寄せしたい文章です。</p>
</div>この方法は、特定ページ内だけで使う装飾には便利です。
一方で、複数ページで同じデザインを使う場合は、追加CSSにまとめた方が管理しやすくなります。
原因3:中央寄せの指定が間違っている
「HTMLを中央寄せしたいのにできない」という場合、CSSの指定方法が合っていない可能性があります。
中央寄せには、文字を中央にする方法、画像やボックスを中央にする方法、横並びの要素を中央にする方法があります。
すべてを同じ text-align: center; で解決できるわけではありません。
解決策:中央寄せしたい対象に合わせてCSSを変える
- 文字を中央にしたい場合は
text-align: center;を使う - ボックス自体を中央にしたい場合は
margin: 0 auto;を使う - 画像を中央にしたい場合は表示形式も確認する
- 横並び要素を中央にしたい場合はflexを使うこともある
- 親要素に幅や余白が指定されていないか確認する
- スマホ幅でも中央に見えるか確認する
文字だけを中央寄せしたい場合は、次のように書きます。
.center-text {
text-align: center;
}幅のあるボックス自体を中央寄せしたい場合は、次のように書きます。
.center-box {
width: 80%;
margin: 0 auto;
}横並びの要素を中央寄せしたい場合は、flexを使う方法もあります。
.center-flex {
display: flex;
justify-content: center;
}中央寄せができないときは、中央寄せしたい対象が「文字」なのか「ボックス」なのか「横並び要素」なのかを分けて考えましょう。
原因4:ブロックに付けたクラス名とCSSが一致していない
WordPressでは、各ブロックに追加CSSクラスを設定できる場合があります。
ブロックにクラス名を付けて、そのクラスに対してCSSを書くことで、特定のブロックだけ見た目を変えることができます。
ただし、ブロック側に入力したクラス名と、追加CSS側のクラス名が一致していないと反映されません。
解決策:クラス名とCSSの指定を一致させる
- 対象ブロックをクリックする
- 右側のブロック設定を開く
- 「高度な設定」または「追加CSSクラス」を確認する
- 入力したクラス名をコピーする
- 追加CSS側ではクラス名の前に
.を付けて書く - 公開画面で反映を確認する
たとえば、ブロック側の追加CSSクラスに次のように入力します。
my-center-area追加CSS側には、次のように書きます。
.my-center-area {
text-align: center;
}ブロック側では my-center-area、CSS側では .my-center-area と書く点に注意しましょう。
原因5:CSSの基本的な書き間違いがある
CSSは、少しの書き間違いでも反映されないことがあります。
よくあるのは、クラス名の前のドット忘れ、かっこの閉じ忘れ、セミコロン忘れ、全角文字の混入などです。
コードをコピペした場合でも、自分のサイトに合っていないセレクタだと効きません。
解決策:CSSの基本ミスを確認する
- クラス名の前に
.があるか確認する - ID指定なら
#があるか確認する {と}が閉じているか確認する- 各指定の最後に
;があるか確認する - 全角スペースや全角記号が混ざっていないか確認する
- プロパティ名のスペルミスがないか確認する
- 対象のHTMLにクラス名が付いているか確認する
たとえば、正しいCSSの基本形は次のようになります。
.sample-box {
background-color: #f7f7f7;
padding: 20px;
text-align: center;
}CSSが効かないときは、まず小さなコードで試すのがおすすめです。
最初から複雑な装飾を入れると、どこが原因なのか分かりにくくなります。
原因6:テーマ側のCSSに上書きされている
CSSの書き方が合っていても、テーマ側のCSSに上書きされて反映されないことがあります。
テーマやブロックによっては、かなり具体的なCSSがすでに設定されています。
その場合、追加CSSに書いた指定が優先順位で負けてしまうことがあります。
解決策:指定を少し具体的にする
- 親要素を含めて指定する
- 対象のクラス名を正確に確認する
- 広すぎる指定を避ける
- 他のページに影響しないよう範囲を限定する
!importantは最終手段として使う- 変更前のCSSをメモしておく
たとえば、単純な指定で効かない場合は、親要素を含めて書く方法があります。
.entry-content .my-center-area {
text-align: center;
}ただし、強い指定を増やしすぎると、あとでCSSが管理しづらくなります。
!important を多用すると、別の調整をしたいときに困ることがあるため、必要な場面だけにしましょう。
原因7:キャッシュが残っている
HTMLやCSSを直したのに表示が変わらない場合、キャッシュが原因のこともあります。
WordPressのキャッシュ系プラグイン、サーバーキャッシュ、ブラウザキャッシュ、CDNなどによって、古い表示が残ることがあります。
CSSの修正は、キャッシュの影響を受けやすい部分です。
解決策:キャッシュを削除して別環境で確認する
- WordPressのキャッシュ系プラグインを削除する
- サーバー側のキャッシュを削除する
- CDNを使っている場合はCDNキャッシュを削除する
- ブラウザキャッシュを削除する
- シークレットモードで確認する
- スマホとPCの両方で確認する
- 別ブラウザでも確認する
管理画面のプレビューでは変わっているのに、公開ページで変わらない場合は、キャッシュが原因の可能性があります。
特に、高速化プラグインやサーバーキャッシュを使っている場合は、修正後にキャッシュ削除を行いましょう。
原因8:スマホ表示だけ崩れている
PCではきれいに表示されているのに、スマホだけ崩れることがあります。
これは、横幅を固定していたり、余白を大きく取りすぎていたり、スマホ用のCSSが不足していたりする場合に起こりやすいです。
特に、HTMLで作ったボックス、横並びのカード、表、ボタンなどはスマホで崩れやすい部分です。
解決策:スマホ表示を前提にCSSを書く
- 横幅を固定しすぎない
width: 100%;やmax-widthを使う- 余白を大きくしすぎない
- 横並び要素はスマホで縦並びにする
- スマホ用のメディアクエリを書く
- 実機または検証ツールで確認する
- 公開前にPCとスマホの両方を見る
たとえば、PCでは横並び、スマホでは縦並びにしたい場合は、次のように書きます。
.card-list {
display: flex;
gap: 20px;
}
@media screen and (max-width: 767px) {
.card-list {
display: block;
}
}スマホ表示の崩れは、CSSを少し調整するだけで改善することもあります。
ただし、構造そのものが複雑な場合は、HTMLの組み方から見直した方がよいこともあります。
HTML・CSSを触る前に確認したいこと
HTMLやCSSを修正するときは、いきなりコードを追加するのではなく、現在の状態を確認してから進めましょう。
特に事業用サイトでは、見た目だけでなく、問い合わせボタンやフォーム、スマホ表示への影響も確認する必要があります。
作業前に確認すること
- どのページを変更したいのか
- どの部分の表示を変えたいのか
- HTMLを触る必要があるのか
- CSSだけで対応できるのか
- サイト全体に影響する指定ではないか
- スマホ表示も問題ないか
- 元に戻せる状態になっているか
一度に大きく変更すると、どのコードが原因で崩れたのか分かりにくくなります。
HTMLやCSSを調整するときは、1つずつ変更して、その都度表示を確認しましょう。
自分で触らない方がいいケース
HTMLやCSSは、軽微な調整であれば自分で対応できることもあります。
ただし、サイト全体のレイアウトやテーマファイル、問い合わせ導線に関わる部分は、自己判断で触ると崩れる可能性があります。
特に、会社サイトや店舗サイトなど、問い合わせ獲得に使っているサイトでは慎重に対応しましょう。
相談した方がいいケース
- HTMLとCSSの違いが分からない
- カスタムHTMLを入れたらページが崩れた
- スマホ表示だけ大きく崩れている
- トップページやサービスページを触っている
- 問い合わせボタンやフォーム周りに影響している
- テーマファイルを直接編集しようとしている
- 元に戻す方法が分からない
相談するときは、「どのページのどの部分をどう変えたいのか」をスクリーンショット付きで伝えるとスムーズです。
また、すでに入れたHTMLやCSSがある場合は、そのコードも一緒に共有すると原因を見つけやすくなります。
よくある質問
HTMLを直接入れたい場合は、基本的にカスタムHTMLブロックを使います。通常の段落ブロックに貼ると、HTMLとして処理されず文字として表示されたり、意図しない形に変換されたりすることがあります。
サイト全体に効かせたいCSSは、外観のカスタマイズ内にある追加CSSや、テーマ独自のCSS欄に書くことが多いです。特定のカスタムHTML内だけで使う装飾なら、カスタムHTMLブロック内にstyleタグで書く方法もあります。
文字を中央寄せしたい場合は text-align: center; を使います。ボックス自体を中央にしたい場合は、幅を指定したうえで margin: 0 auto; を使うことがあります。中央寄せしたい対象によってCSSが変わります。
CSSの書き間違い、クラス名の不一致、テーマ側CSSによる上書き、キャッシュ、スマホ用CSSの不足などが考えられます。まずは小さなCSSで試し、キャッシュを削除してから確認しましょう。
まとめ:HTML・CSSがうまく表示されないときは、場所と対象を確認しよう
WordPressでHTML・CSSがうまく表示されないときは、まずコードを入れる場所を確認しましょう。
HTMLはカスタムHTMLブロック、CSSは追加CSSやテーマ独自のCSS欄に書くのが基本です。
また、中央寄せのような見た目調整では、文字を中央にしたいのか、ボックス自体を中央にしたいのかでCSSが変わります。
この記事のまとめ
- HTMLを直接書くならカスタムHTMLブロックを使う
- CSSは追加CSSやテーマ独自のCSS欄に書くのが基本
- 特定パーツだけならカスタムHTML内にCSSを書く方法もある
- 中央寄せは対象によってCSSの書き方が変わる
- ブロックにクラスを付ける場合は、CSS側でドットを付ける
- CSSが効かないときは基本的な書き間違いを確認する
- テーマ側CSSに上書きされている場合もある
- キャッシュとスマホ表示も必ず確認する
HTMLやCSSは、慣れると細かいデザイン調整ができる便利な方法です。
ただし、事業用サイトで使う場合は、見た目だけでなく、スマホ表示や問い合わせ導線への影響も確認しながら慎重に進めましょう。
