お知らせ一覧にカテゴリタブを設置しました|「全て」表示の実装も対応
WordPressで「お知らせ一覧にカテゴリタブを設置したい」というご相談は意外と多くいただきます。見た目の切り替えだけであれば簡単に実装できそうに見えますが、実際にはURL構造やWordPressの仕様を踏まえた設計が重要になります。
今回のケースでは、「全て」「カテゴリ別」をタブで切り替えつつ、一覧ページでも違和感のない動きにしたいというご要望でした。見た目だけでなく、サイト全体の構造としても自然になるよう調整を行っています。
実際の対応内容とあわせて、同様の構成を検討されている方の参考になれば幸いです。
今回のご相談内容
WordPressで作成されたサイトにおいて、お知らせ一覧に「全て」「お知らせ」「イベント」などのカテゴリタブを設置したいというご相談をいただきました。
トップページではタブ切り替えが実装されていたものの、一覧ページ側でも同様の見せ方にしたいというご要望がありました。また、クライアント様としては「挙動が変わることなく、自然な形でカテゴリが切り替わること」を重視されていました。
発生していた症状・エラー内容
一覧ページにタブを設置する際、「全て」リンクとして /category/ を指定すると、ページが404エラーになってしまう状態でした。
また、別の方法として投稿一覧ページへリンクする対応も検討されましたが、URLや挙動がこれまでと変わってしまうため、クライアント様の意図と合わない状況でした。
原因の特定ポイント
WordPressの仕様として、「カテゴリ一覧の親ページ(/category/)」は存在せず、個別のカテゴリページ(/category/news/ など)のみが表示対象となります。
そのため、「全ての投稿」を表示する専用のカテゴリは標準では用意されておらず、そのままでは「全て」タブを実現することができません。
この仕様を理解した上で、どのように「全て」を表現するかが今回のポイントでした。
実際に行った対応内容
今回は以下のような対応を行いました。
まず、WordPressのデフォルトカテゴリ(未分類)を「all」という名称に変更し、「全て」タブとして利用する形に調整しました。
その上で、functions.phpにて pre_get_posts を利用し、「allカテゴリが選択された場合のみ、カテゴリの絞り込みを解除して全投稿を表示する」処理を追加しています。
これにより、見た目上は通常のカテゴリページと同じ構造を保ちながら、「全ての投稿一覧」として機能するようになりました。
対応後の結果・改善点
一覧ページのタブ切り替えが、トップページと違和感なく統一されました。
「全て」タブについても、URL構造を崩さずに /category/all/ で全投稿が表示されるようになり、ユーザーにとっても自然な導線となっています。
クライアント様からも、「動きが分かりやすくなった」とご評価をいただきました。
今回の対応から分かったこと
WordPressでは一見シンプルに見える機能でも、仕様を理解せずに実装すると不自然な挙動やエラーにつながることがあります。
特に「カテゴリ」と「一覧表示」の関係は誤解されやすく、「全て」という概念をそのまま扱えない点には注意が必要です。
今回のように、既存の仕組みを活かしつつ少しだけ制御を加えることで、自然でメンテナンスしやすい構成にすることができます。
同様のトラブルを防ぐために
お知らせ一覧やブログ一覧にタブ機能を追加する際は、以下の点を意識しておくと安心です。
- カテゴリページの仕様(親ページが存在しない)を理解する
- 見た目だけでなくURL構造も含めて設計する
- クライアントの運用や更新しやすさも考慮する
見た目だけで解決しようとすると、後から不具合や違和感が出るケースもあるため、初期設計の段階で整理しておくことが重要です。
メディアプライムスタイルのサポートについて
メディアプライムスタイルでは、WordPressの保守・運用・トラブル対応を中心に、サイトの状況に合わせた最適なご提案を行っています。
「こういう見せ方にしたいけど、どう実現すればいいか分からない」といったご相談も多くいただいております。既存の構成を活かしながら、無理のない形での改善をご提案いたします。
小さな違和感や気になる点でも構いませんので、お気軽にご相談ください。
🐾 さぽたん日記からのご案内
ホームページを育てるお手伝い
ホームページは作って終わりではなく、
小さな修正や改善を重ねながら育てていくものです。
日々の対応内容を「さぽたん日記」でご紹介しています。