如何在wordpress中使用两种自定义分类法显示帖子
我有一个自定义的帖子类型-诗歌。 我创建了两个分类法——城市和作者。 当我点击“巴黎”菜单项时,我需要显示该城市的所有作者和他的诗歌列表。 怎么做?如何在wordpress中使用两种自定义分类法显示帖子,wordpress,custom-post-type,taxonomy,custom-taxonomy,Wordpress,Custom Post Type,Taxonomy,Custom Taxonomy,我有一个自定义的帖子类型-诗歌。 我创建了两个分类法——城市和作者。 当我点击“巴黎”菜单项时,我需要显示该城市的所有作者和他的诗歌列表。 怎么做? 谢谢。如果你不擅长编码,你可以使用免费内容视图插件,并结合你必须结合的内容。我是这样开始的。如果你不擅长编码,你可以使用免费内容视图插件,并结合你必须结合的内容。我是这样开始的。您可能会想看一下。这为您提供了创建自定义WordPress查询所需的所有信息。包括分类参数 您希望使用AND关系传递给tax查询参数。与此示例大致相同的内容: $args
谢谢。如果你不擅长编码,你可以使用免费内容视图插件,并结合你必须结合的内容。我是这样开始的。如果你不擅长编码,你可以使用免费内容视图插件,并结合你必须结合的内容。我是这样开始的。您可能会想看一下。这为您提供了创建自定义WordPress查询所需的所有信息。包括分类参数 您希望使用AND关系传递给tax查询参数。与此示例大致相同的内容:
$args = array(
'post_type' => 'post',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'city',
'field' => 'slug',
'terms' => 'london',
),
array(
'taxonomy' => 'author',
'field' => 'slug',
'terms' => 'dickens',
),
),
);
$query = new WP_Query( $args );
编辑:以下每条评论10/30/17
如果你把作者的文章保存为post-meta,你可以根据它来订购。但是如果你的作者也是一个分类法的话,那就有点棘手了,因为没有一个好的方法来按照分类法排序。看这个
相反,我们可以使用get\u terms
获取所有作者分类术语
$authors = get_terms( 'author', array(
'hide_empty' => false,
) );
这给了我们所有作者术语,这些术语至少分配了一篇文章给他们
现在我们有了这些术语,我们可以对每个作者进行查询,以获取该城市中该作者的诗歌。像这样:
foreach ( $authors as $author ) {
$args = array(
'post_type' => 'poem',
'tax_query' => array(
relation => 'AND',
array(
'taxonomy' => 'city',
'field' => 'slug',
'terms' => 'london',
),
array(
'taxonomy' => 'author',
'field' => 'term_id',
'terms' => $author->term_id,
),
),
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post();
// Put your post markup here
endwhile;
endif; wp_reset_query();
}
你可能会想看一看。这为您提供了创建自定义WordPress查询所需的所有信息。包括分类参数 您希望使用AND关系传递给tax查询参数。与此示例大致相同的内容:
$args = array(
'post_type' => 'post',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'city',
'field' => 'slug',
'terms' => 'london',
),
array(
'taxonomy' => 'author',
'field' => 'slug',
'terms' => 'dickens',
),
),
);
$query = new WP_Query( $args );
编辑:以下每条评论10/30/17
如果你把作者的文章保存为post-meta,你可以根据它来订购。但是如果你的作者也是一个分类法的话,那就有点棘手了,因为没有一个好的方法来按照分类法排序。看这个
相反,我们可以使用get\u terms
获取所有作者分类术语
$authors = get_terms( 'author', array(
'hide_empty' => false,
) );
这给了我们所有作者术语,这些术语至少分配了一篇文章给他们
现在我们有了这些术语,我们可以对每个作者进行查询,以获取该城市中该作者的诗歌。像这样:
foreach ( $authors as $author ) {
$args = array(
'post_type' => 'poem',
'tax_query' => array(
relation => 'AND',
array(
'taxonomy' => 'city',
'field' => 'slug',
'terms' => 'london',
),
array(
'taxonomy' => 'author',
'field' => 'term_id',
'terms' => $author->term_id,
),
),
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post();
// Put your post markup here
endwhile;
endif; wp_reset_query();
}
在这个例子中,术语是严格指出的,但我想显示每个作者的所有帖子,包括所有城市的分类(伦敦、巴黎、马德里等)。我想我明白了。假设所有的诗都有作者,我将更新答案,以获得特定城市的所有诗,按作者排序。在本例中,严格指出了术语,但我希望显示每个作者的所有帖子,以及所有城市分类(伦敦、巴黎、马德里等)OK。我想我明白了。假设所有的诗都有作者,我将更新答案,以获得特定城市的所有诗,按作者排序。