在URL中按类别过滤博客存档

时间:2016-06-01 作者:powerbuoy

我创建了一个相当基本的表单,允许用户按分类法过滤post类型的归档。

在自定义帖子类型上,只需设置?taxonomy_name=term_slug 在URL中。WP还支持一系列术语?taxonomy_name[]=term_slug1&taxonomy_name[]=term_slug2.

然而,奇怪的是,在非自定义帖子类型(即“post”帖子类型)的存档上,这会停止工作。背景?category=term_slug 什么都不做。

我怎样才能,最好不用pre_get_posts 或其他更高级的内容,按分类法过滤常规帖子(categorypost_tag)?

1 个回复
最合适的回答,由SO网友:Sumit 整理而成

即使默认帖子存储在同一个表中,但它们具有不同的行为和特征。CPT有帖子类型归档,但归档的默认帖子类型称为blog,分类法过滤器称为标记/类别归档。

您可以使用访问类别/标记存档

对于类别:

/?cat={category_id} //e.g. ?/cat=5
对于标记:

/?tag={tag_slug} //e.g. ?/tag=my_tag_slug
如果您愿意使用pre_get_posts 您可以按照自己的方式自定义它(这是我在WordPress<;3中喜欢的),否则请坚持默认方式。

另一个注意事项:我建议保留博客的默认帖子,不要使用它们来构建具有这些类型的自定义内容,而是尽可能多地使用CPT,以便将站点从博客扩展到CMS:)

相关推荐

I receive taxonomy id

您好,我想从字段中获取值,但我收到的id代码如下:function add_product_column( $columns ) { //add column $columns[\'new_column\'] = __( \'New column\', \'woocommerce\' ); return $columns; } add_filter( \'manage_edit-product_columns\', \'add_pr