如何按类别slug查询_posts

时间:2013-11-05 15:25:17

标签: wordpress

我使用以下代码列出我的wordpress网站上的一些页面:     

$args = array( 'posts_per_page' => 12, 'order'=> 'ASC', 'post_type' => 'tcp_product', 'paged' => $paged);
?>
  <?php query_posts($args); ?>
  <?php while (have_posts()) : the_post(); ?>
  <a href="<?php the_permalink(); ?>" id="prod-link">
  <?php if( has_sub_field('images') ): ?>
  <?php $img = get_sub_field('image') ?>
  <img src="<?php echo $img['sizes']['product-index-pic'] ?>" />
  <?php endif; ?>
  </a>
  <?php endwhile; ?>
  <!-- #posts -->
  <div class="pagination">
    <?php posts_nav_link( ' ', '<img src="' . get_bloginfo('template_url') . '/assets/images/prev.jpg" />', '<img src="' . get_bloginfo('template_url') . '/assets/images/next.jpg" />' ); ?>
  </div>
  <!-- .pagination --> 

我想知道是否有办法限制基于特定类别slug的那些? 提前致谢

2 个答案:

答案 0 :(得分:5)

tax_query用于获取与某些分类相关联的帖子。

  • {tax} string ) - 使用分类法slug。 从版本3.1开始不推荐使用,赞成'tax_query'。
  • tax_query array ) - 使用分类参数(3.1版提供)。
    • 分类字符串) - 分类。
    • 字段字符串) - 按('id'或'slug')选择分类术语
    • 术语 int / string / array ) - 分类术语。
    • include_children boolean ) - 是否包含子级别用于分层分类法。默认为true。
    • 运算符 string ) - 要测试的运算符。可能的值为“IN”,“NOT IN”,“AND”。
$args = array(
    'post_type' => 'tcp_product',
    'posts_per_page' => 12,
    'tax_query' => array(
        array(
            'taxonomy' => 'tcp_product_taxonomy',
            'field' => 'slug',
            'terms' => 'your-cat-slug'
        )
     )
);

$query = new WP_Query($args);

if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post;
        // do something
    }
}

答案 1 :(得分:5)

您可以像这样使用变量category_name

$args = array( 'category_name' => ***YOUR CATEGORY SLUG***, 'posts_per_page' => 12, 'order'=> 'ASC', 'post_type' => 'tcp_product', 'paged' => $paged);