WordPressではトップページ(ホームページ)の表示方法を設定から選択できますが、「最新の投稿」をホームページに設定している場合、固定ページのように個別編集画面からCSSを追加することができません。
固定ページをトップにしている場合は編集画面やテーマ機能からスタイル調整が可能ですが、投稿一覧トップの場合はその対象となるページが存在しないため、直接スタイルを追加する方法が分かりにくいポイントです。
この記事では、WordPressでトップページを「最新の投稿」に設定しているサイトにおいて、トップページだけにCSSを適用させる方法を解説します。テーマを大きく改造せず、functions.phpへ追記するだけで対応できるため、シンプルに実装可能です。
WordPressのホームページ表示タイプの基本

WordPressの「表示設定」では、ホームページを以下の2種類から選択できます。
- 最新の投稿(投稿一覧がトップ)
- 固定ページ(任意ページをトップに設定)
固定ページを使用する場合は、そのページに対してCSSやブロック設定を直接追加できます。しかし、投稿一覧をトップにした場合は編集対象のページが存在しないため、インラインCSSやページ固有のスタイルを追加できません。
このようなケースでは、テーマ側から条件分岐を行い、トップページ判定時のみスタイルを読み込ませる方法が有効です。
functions.phpでトップページ専用CSSを読み込む
トップページが投稿一覧の場合でも、WordPressの条件分岐タグを利用すれば対象ページを判定できます。以下のコードをテーマのfunctions.phpに追加することで、トップページだけにCSSを適用できます。
/**
* トップページ(最新投稿表示)にCSSを追加
*/
function custom_inline_style_home() {
// 投稿一覧トップを判定
if ( is_home() ) {
// 空のスタイルを登録
wp_register_style( 'custom-home-style', false );
wp_enqueue_style( 'custom-home-style' );
// ここに適用したいCSSを書く
$css = "
.header{
border-bottom:none !important;
}
.contents{
padding-top:3em !important;
padding-bottom:3em !important;
}
";
// インラインCSSとして追加
wp_add_inline_style( 'custom-home-style', $css );
}
}
add_action( 'wp_enqueue_scripts', 'custom_inline_style_home' );コードの仕組み解説
上記コードのポイントを理解しておくと応用が効きます。
① is_home() でトップページ判定
is_home() は「最新投稿一覧ページ」であるかを判定するWordPress関数です。投稿トップとして表示されている場合のみ処理が実行されます。
② 空スタイル登録 → enqueue
wp_register_style() と wp_enqueue_style() を使用し、スタイル読み込みのフックを作成しています。これによりWordPress標準の読み込みフローに乗せた安全な追加が可能になります。
③ wp_add_inline_style()
指定したCSSをインラインスタイルとして出力します。テーマファイルを直接編集する必要がなく、条件付き読み込みにも対応できます。
実務カスタマイズ例
例えば以下のような用途で活用できます。
- トップページだけヘッダー境界線を消す
- 投稿一覧余白を調整する
- トップ専用ヒーローレイアウトに変更
- LP風デザインへ変更
- ファーストビュー高さ制御
CSSを追加するだけなので、テーマアップデートの影響を最小限にしながら見た目を調整できます。
注意点(重要)
- functions.php編集前はバックアップ推奨
- 構文ミスでサイトが表示不能になる可能性あり
- 子テーマ利用がベスト
- キャッシュ系プラグイン使用時はクリア確認
functions.phpはテーマの中核ファイルのため、編集は慎重に行いましょう。
まとめ
投稿一覧をトップページに設定しているWordPressサイトでも、条件分岐とインラインスタイルを利用すればページ専用CSSを適用できます。
固定ページ化せずにデザイン調整が可能なため、ブログ主体サイト・メディア運用・アフィリエイトサイトなどで非常に便利なテクニックです。
トップページの印象はサイト全体の第一印象に直結します。必要に応じてカスタマイズし、デザイン最適化を進めてみてください。