質問: 下記ソースをsidebar.phpに記載しており リンク1を踏んだ時のみ特定の親子カテゴリを除外した結果を表示しようとしています。 リンク1を表示した時のみ、 別テンプレートを呼び出すようにすればいいとも考えたのですが、 処理が難しく実現出来ていません。 極力シンプルなやり方で実現したいのですが どのような処理をすれば実現出来るのでしょうか。 よろしくお願いいたします。 ``` リンク1 リンク2 リンク3 リンク4 ```
回答: 2つ方法を思いつきました。 まずは検索してしまう方法。多分 search.php が表示されると思います。(検索キー「s=」がないため、もしかしたら category.php の可能性も) ``` リンク1 ``` 【複数カテゴリでor検索】 もうひとつは、固定ページを作成してその中で WP_Query を使って絞り込んだものを表示するか、pre_get_posts を使ってそのページのクエリだけ差し替えてしまう方法。 pre_get_posts を使ってクエリの差し替えがうまくできればページング(ページわけ)もできると思います。 専用のページテンプレートを用意したり、記事呼び出しを自分で書き直すなど、手間が多いとは思います。 【[WP]WordPressのページファイル(page.php)で個別にテンプレート名を付ける方法】 【Wordpressで独自のページテンプレートを作成して固定ページに適用するための手順】 【WordPressでホームやアーカイブ毎に表示条件を変える(is_main_query と pre_get_posts フック) | Gatespace's Blog】 【[Wordpress]pre_get_postsを使いこなす!pre_get_posts使い方まとめ | EMiAC-Works】