WordPressでの複数ページ統合についてWebで調べていたがGeminiに聞いてみたらよさそうな方法を提案してくれた。AIすごい!
提案2のクエリループブロックを使用した方法で、このページを作っています。
Geminiへの質問
WordPressで日記サイトを作ろうとしています。日ごとテーマごとに1つのページを作って、同じ日付の異なるテーマのページを統合してその日の日記ページに表示する方法を提案してください。
Geminiの回答
WordPressで「1日の中でテーマごとに記事を書き、それらを自動的に1つの『その日の日記ページ』として統合する」という構成は、非常にユニークで面白い試みですね。
これを実現するための、「管理がしやすく、かつ柔軟な」3つのアプローチを提案します。
1. 【王道】「投稿日」を利用してアーカイブページを日記にする
WordPressの基本機能である「投稿(Post)」をそのまま使い、同じ日に投稿された複数の記事を、その日のアーカイブページ(例:domain.com/2026/01/13/)で1つのページのように見せる方法です。
- 仕組み:
- テーマ(料理、仕事など)ごとに「投稿」を作成。
- すべて同じ公開日に設定して公開。
- WordPress標準の**「日付アーカイブ」**を表示した際、各記事の「全文」が表示されるように設定。
- メリット: プラグイン不要で、URL構造が日付ベースになるため非常に整理されます。
- 実装のコツ:
- 多くのテーマはアーカイブページで「概要(抜粋)」しか表示しません。テーマのカスタマイズ(またはFSE対応テーマ)で、「投稿コンテンツ全体」を表示する設定にする必要があります。
2. 【ノーコード】「クエリループブロック」で統合ページを作る
最新のWordPress(ブロックエディタ)にある「クエリループブロック」機能を使い、特定の日付の記事を自動収集するページを作る方法です。
- 仕組み:
- 日記用の固定ページ(または日記一覧用テンプレート)を作成。
- そこに**「クエリループブロック」**を設置。
- 設定の「フィルター」で「投稿日」を指定(または特定のタクソノミーで管理)。
- メリット: デザインの自由度が高く、テーマごとの区切りに背景色をつけたり、アイコンを入れたりといった装飾が簡単です。
- おすすめ: 「投稿日」でフィルタリングするのが面倒な場合は、「2026-01-13」という名前のタグを各テーマのページに付ける運用にすると、さらに自動化しやすくなります。
3. 【柔軟】ACF(カスタムフィールド)で日付を紐付ける
記事の公開日とは別に「日記の日付」というデータを持たせ、それを基準に表示を統合する方法です。
- 仕組み:
- Advanced Custom Fields (ACF) というプラグインを使い、投稿画面に「日記の日付(カレンダー選択)」項目を追加。
- テンプレート側で「今日の日付と一致する投稿をすべて表示する」というプログラム(WP_Query)を書く。
- メリット: 「昨日のことを今日書く」といった場合でも、投稿日をいじらずに正しい日付の日記として整理できます。
- デメリット: テンプレート(PHP)を少し触る必要があるため、中級者向けです。
比較まとめ
| 手法 | 難易度 | デザイン自由度 | メリット |
| 1. 日付アーカイブ法 | 低 | 中 | 標準機能で完結。URLが綺麗。 |
| 2. クエリループ法 | 低〜中 | 高 | コード不要。装飾がしやすい。 |
| 3. カスタムフィールド法 | 中〜高 | 最高 | 実際の投稿日と日記の日付を分けられる。 |
個人的なイチオシ提案
まずは、「2. クエリループブロック」を使った運用をおすすめします。
理由は、最新のWordPressテーマ(Twenty Twenty-Fourなど)であれば、プログラミング不要で「同じタグが付いた記事を縦に並べて表示する」ことが直感的にできるからです。
- テーマ(トピック)ごとに記事を書く。
- その日の日付タグ(例:
d260113)を共通で付ける。
- タグアーカイブページを表示すると、自動的にその日の記録が統合される。
次に進むためのステップとして、まずは「どの程度の頻度で更新し、1ページあたりの文字数はどのくらいになるか」を具体的にイメージしてみませんか? それに合わせて最適なプラグインやテーマをご紹介できます。