web-dev-qa-db-ja.com

URL内のカテゴリでブログアーカイブをフィルタする

私は、ユーザーが分類法によって投稿タイプのアーカイブをフィルタリングできるようにする、かなり基本的なフォームを作成しました。

カスタム投稿タイプでは、これをURLに?taxonomy_name=term_slugを設定するだけで簡単に行えます。 WPは、?taxonomy_name[]=term_slug1&taxonomy_name[]=term_slug2を含む一連の用語もサポートしています。

しかし奇妙なことに、nonカスタム投稿タイプ(つまり「投稿」投稿タイプ)のアーカイブでは、これは機能しなくなります。 ?category=term_slugを設定しても絶対に何もしません。

できればpre_get_postsやその他の高度なものを使わずに、通常の投稿を分類法(categorypost_tag)でフィルタリングするにはどうすればよいですか。

1
powerbuoy

デフォルトの投稿が同じテーブルに格納されていても、動作や特性が異なる場合でも同様です。 CPTには投稿タイプのアーカイブがありますが、デフォルトの投稿タイプのアーカイブはブログと呼ばれ、分類フィルターはタグ/カテゴリアーカイブと呼ばれます。

カテゴリ/タグアーカイブにアクセスするには

カテゴリの場合:

/?cat={category_id} //e.g. ?/cat=5

タグの場合:

/?tag={tag_slug} //e.g. ?/tag=my_tag_slug

もしあなたがpre_get_postsを使っても構わないと思うなら、あなたはこれをあなたが望むやり方でカスタマイズすることができます( それがWordPress <3 で私が好きなものです)。

もう1つの注意:ブログ用のデフォルトの投稿はそのような種類のカスタムメイドのビルドに決して使わないことをお勧めします。代わりに、ブログからCMSにあなたのサイトを使いたいだけCPTを使ってください:)

0
Sumit