按自定义帖子类型、分类和术语获取帖子

时间:2012-03-14 作者:Rise

好的,我有一个自定义的帖子类型,叫做“服务”。这种自定义帖子类型有一个称为“区域”的分类法,该分类法中有5个术语。

比如说,我有10篇关于“服务”的帖子,有5篇关于“绘画”的帖子,还有5篇关于“摄影”的帖子。

我需要能够从“服务”中查询帖子,但不是显示这10篇帖子,而是只显示与“绘画”相关的5篇帖子。

目前,我可以按分类法和术语进行查询,但这将显示来自“服务”的所有帖子,没有按术语进行筛选。

基本上是从我选择的术语中按post\\u类型查询post。

任何帮助都会很棒。谢谢

<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上指定从哪个帖子类型获取帖子,那么这个问题就可以解决了。

1 个回复
最合适的回答,由SO网友:Rise 整理而成

以下是问题的答案:)

<?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(); 
       // content goes here
    endwhile; 
    wp_reset_postdata(); 
else: 
endif;

?>

结束

相关推荐

WP_SET_OBJECT_TERMS()--是否防止覆盖?

根据我的理解(在尝试和错误之前),wp_set_object_terms( \'post_id\', \'add_this_term\', \'in_this_taxonomy\'); 但是从《法典》来看,添加这个术语显然会覆盖为该文章和该分类法设置的任何其他术语?是这样吗?如果术语是嵌套的呢?