0

我正在尝试为自定义分类法列出归类为一个术语的所有帖子。

我创建了一个名为“推荐”的自定义帖子类型,其中包含“推荐类别”的自定义分类。在推荐类别中,我创建了术语“同​​事”和“客户”。我正在尝试创建太多存档页面。一个将列出同事下的所有帖子,另一个列出客户下的所有帖子。我创建了归档页面 taxonomy-testimonial_categories-clients.php 和 taxonomy-testimonial_categories-colleagues.php。并且可以在 cpt testimonials 下创建所有帖子的列表,但不能通过术语同事或客户对其进行过滤。

在对 wordpress.org 进行研究之后,我相信将 tax_query 与新的 WP_Query 一起使用是可行的方法。这是我现在正在使用的代码。

 <?php           

 $args = array(
'post_type' => 'testimonial',
'tax_query' => array(
    array(
        'taxonomy' => 'testimonial_categories',
        'field' => 'slug',
        'terms' => 'colleagues'
    )
)
);

$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();    ?>
<span class="frame small alignleft">                 
            <?php the_post_thumbnail(thumbnail); ?>   
            <span>                                           
          <div class="test-content">                                                                                    
        <?php the_content(); ?>                                         
            </div>   
<?php endwhile; ?>
4

1 回答 1

0

尽管这里为时已晚是唯一对我有用的解决方案,

$my_taxonomy_name = "your taxo. name";
$my_term_name = "your term name";
$my_term_id = -1;

$terms = get_terms($my_taxonomy_name);

if(count($terms)>0){
     foreach ($terms as $term) {
       if($term->name == $my_term_name){
           $term_id=$term->term_id;
           continue;
       }        
     }
$my_posts = array();
$postids_in_term = get_objects_in_term($term_id,'ad_setting'); 
foreach($postids_in_term as $post_id){
    array_push($my_posts,get_post($post_id));
}

var_dump($my_posts);
}

这绝不是优雅的,但是,嘿,它有效!

于 2013-08-05T13:05:00.837 回答