在归档页面上按自定义字段查询自定义帖子类型

时间:2017-01-05 12:50:34

标签: php wordpress

我在archive-mypostype.php模板中使用以下查询来列出具有特定自定义字段值的自定义帖子。

$args = array(
   'numberposts'    => -1,
   'post_type'      => 'mypostype',
   'meta_key'       => 'custom_field_name',
   'meta_value'     => true,
   'paged'          => get_query_var( 'paged' ),
);

$wp_query = new WP_Query( $args );

if ( $wp_query->have_posts() ) : 
while ( $wp_query->have_posts() ) : $wp_query->the_post();

这些帖子被分配到自定义分类。该查询在自定义帖子类型的根存档上运行良好,但查看每个分类存档页面显示所有帖子,而不仅仅显示当前分类的帖子。如何修改查询以便只能查看当前分类存档的帖子?

1 个答案:

答案 0 :(得分:0)

您可以查看WP_Query codex页面及其taxonomy参数here

使用此参数,您将能够检索特定分类中的帖子。

$args = array(
   'numberposts'    => -1,
      'post_type'      => 'mypostype',         
      'paged'          => get_query_var( 'paged' ),
      'meta_query'     => array(
           array(
               'key'=> 'custom_field_name',
               'value'=> 'true',
           )
      ),
      'tax_query' => array(
           array(
               'taxonomy' => 'your-taxonomy', // change this with the cpt taxonomy name
               'field'    => 'slug',
               'terms'    => get_query_var( 'category_name' ), // change it with the query var needed
           ),
       )
);

希望它有所帮助。