Php 获取与自定义帖子类型、分类和类别匹配的所有帖子
我目前有以下设置:Php 获取与自定义帖子类型、分类和类别匹配的所有帖子,php,wordpress,custom-post-type,taxonomy,custom-taxonomy,Php,Wordpress,Custom Post Type,Taxonomy,Custom Taxonomy,我目前有以下设置: 称为“研讨会”的自定义帖子类型 在车间职位类型中,我有一个称为“车间状态”的分类法 车间状态随后有类别,例如“过去的事件” 我一直在使用下面的代码获取特定帖子类型中的帖子: <?php $loop = new WP_Query( array( 'post_type' => 'workshops', 'posts_per_page' => -1 ) ); ?> <?php while ( $loop->have_posts() ) : $
- 称为“研讨会”的自定义帖子类型
- 在车间职位类型中,我有一个称为“车间状态”的分类法
- 车间状态随后有类别,例如“过去的事件”
<?php $loop = new WP_Query( array( 'post_type' => 'workshops', 'posts_per_page' => -1 ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
content here...
<?php endwhile; wp_reset_query(); ?>
内容在这里。。。
我的问题是:如何更改此设置以从自定义帖子类型和自定义分类中的“过去事件”类别中获取帖子
我的目标是拥有多个页面模板,并分别针对每个类别
我曾尝试更改排列以单独针对类别,但这不起作用。我找不到有关如何针对所有方面的在线资源。您只需添加如下类别属性:
$query = new WP_Query( array( 'category_name' => 'past-event' ) );
因此,在您的示例中,这将成为:
$loop = new WP_Query( array( 'post_type' => 'workshops', 'posts_per_page' => -1, 'category_name' => 'past-event' ) );
如果我理解正确,你可以做一大堆的事情,如中所述,你正在寻找这样的东西:
$args = array(
'post_type' => 'workshops',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'workshop-status',
'field' => 'slug',
'terms' => array( 'past-event'),
'operator' => 'IN'
),
)
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) :
while ( $loop->have_posts() ) : $loop->the_post();
//do your stuff
endwhile;
endif;
wp_reset_postdata();
使用下面的方法。您可以传递类别id、id列表、类别slug等。您可以使用
tax\u query
参数从多个分类中获取文章。