通过自定义帖子类型,分类和术语获取帖子


13

好的,所以我有一个称为“服务”的自定义帖子类型。此自定义帖子类型具有一个称为“区域”的分类法,该分类法中有5个术语。

假设我在“服务”上有10个帖子,在“绘画”一词中有5个帖子,在“摄影”一词中还有5个帖子。

我需要能够从“服务”中查询帖子,但与其显示那10个帖子,不如显示与“绘画”相关的5个帖子。

目前,我可以按分类和术语进行查询,但这将显示“服务”中的所有帖子,而没有按术语进行过滤。

基本上从我选择的术语中按post_type查询帖子。

任何帮助都是极好的。谢谢。

<ul id="service-list">
<?php 
        $args = array('tax_query' => array( array('taxonomy' => 'areas', 'field' => 'slug','terms' => 'painting')));

        $the_query = new WP_Query( $args );

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

        ?>

    <li class="service">
        <h2><?php the_title(); ?></h2>
        <?php the_content(); ?>
    </li><!-- /.service -->

<?php endwhile; else: ?>

    <p>Nothing Here.</p>

<?php endif; wp_reset_postdata(); ?>

</ul><!-- #service-list -->

因此,如果我可以在$ args上指定从哪个帖子类型中获取帖子,则可以解决。


好的,所以看起来我过度考虑了所有这些,并且解决方案真的很简单:
2012年

请标记您的答案为正确或删除主题。
AlxVallejo 2012年

我需要等待7个小时才能发布解决方案:(
2012年

Answers:


25

这就是问题的答案 :)

<?php 

$args = array(
    'post_type'=> 'services',
    'areas'    => 'painting',
    'order'    => 'ASC'
    );              

$the_query = new WP_Query( $args );
if($the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); 

?>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.