当分类有帖子时,仅显示?

时间:2012-07-03 作者:ad2003

我想按如下分类法查询帖子:

<?php
global $post;
$terms = get_the_terms( $post->ID , \'movies\', \'string\');
$do_not_duplicate[] = $post->ID;

if(!empty($terms)){
    foreach ($terms as $term) {
        query_posts( array(
        \'movies\' => $term->slug,
        \'showposts\' => 4,
        \'caller_get_posts\' => 1,
        \'post__not_in\' => $do_not_duplicate ) );
        if(have_posts()){
            while ( have_posts() ) : the_post(); $do_not_duplicate[] = $post->ID; ?>
do stuff 

            <?php endwhile; wp_reset_query();
        }
    }
}
?>
但我只想展示这一点,同时也会出现具有相同分类法的帖子。

我该怎么做?

类似于:if有分类法和post?

谢谢

公元

1 个回复
SO网友:mrwweb

如果你看看the array that get_the_terms() returns, 您将看到它包含一个“count”。

如果我正确理解了您的问题,那么您将查找计数大于1的所有帖子(即条款多于当前帖子)。所以,我认为你可以简单地改变你的foreach 对此的声明(第二行是更改):

foreach ($terms as $term) {
  if( $term->count > 1 ) {
    query_posts( array(
    \'movies\' => $term->slug,
    \'showposts\' => 4,
    \'caller_get_posts\' => 1,
    \'post__not_in\' => $do_not_duplicate ) );
    if(have_posts()){
        while ( have_posts() ) : the_post(); $do_not_duplicate[] = $post->ID; ?>
              // do stuff 
        <?php endwhile; wp_reset_query();
    }
  }
}
此外,get_the_terms() 只接受两个参数(至少根据法典),所以我不确定第三个参数在做什么。可能什么都没做?如果您试图从两种分类法中获取术语,请查看wp_get_object_terms()

结束

相关推荐

Creating Custom Query

我在这里碰到了某种绊脚石,我找不到克服它的方法。我正在尝试创建一个自定义的WP查询,它可以按原籍国搜索帖子,同时选择多个国家。我有一个将国家映射到地区的表,因此初始查询将搜索所选地区,并以数组形式返回该地区的所有国家。例如,如果选择非洲,它将返回非洲境内的一系列国家。if(!empty($_REQUEST[\'region\'])){ $region = $_REQUEST[\'region\']; $regionresult = mysql_query(\"S