最新更新的类别列表查询,从显示中排除一个

时间:2015-05-08 作者:vyperlook

我有这个问题:

$cat_array = array();
    $args=array(
      \'post_type\' => \'post\',
      \'post_status\' => \'publish\',
      \'exclude\' => \'187\',
      \'posts_per_page\' => 19,
      \'caller_get_posts\'=> 1
      );
    $my_query = null;
    $my_query = new WP_Query($args);
    if( $my_query->have_posts() ) {
      while ($my_query->have_posts()) : $my_query->the_post();
        $cat_args=array(\'orderby\' => \'none\');
        $cats = wp_get_post_terms( $post->ID , \'category\', $cat_args);
        foreach($cats as $cat) {
          $cat_array[$cat->term_id] = $cat->term_id;
        }
      endwhile;
    }
    if ($cat_array) {
      foreach($cat_array as $cat) {
        $category = get_term_by(\'ID\',$cat, \'category\');
        echo \'<li><a href="\' . esc_attr(get_term_link($category, \'category\')) . \'" title="\' . sprintf( __( "View latest posts in %s" ), $category->name ) . \'" \' . \'>\' . $category->name.\'</a>\'.\'</li>\';
      }
    }
    wp_reset_query();
其中列出了最新更新的类别。一切都很好。但我想从那里的列表中排除一个特定类别。这可以像我在查询中一样完成\'exclude\' => \'187\', 但问题在于以下示例:我有一篇文章属于两个类别,一个类别是我不想显示的类别,另一个类别是我想显示的类别。如果我像上面所说的那样简单地排除它,那么列表中不会显示任何类别,因为它将完全排除该帖子。我怎样才能显示其他类别,并隐藏我不想显示的类别?

有什么线索吗?

谢谢

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

solved this with

 if ($cat_array) {
      foreach($cat_array as $cat) {
        $category = get_term_by(\'ID\',$cat, \'category\');
     if($category->name != \'Excluded category\'){
        echo \'<div class="catspace"><a href="\' . esc_attr(get_term_link($category, \'category\')) . \'" title="\' . sprintf( __( "latest posts %s" ), $category->name ) . \'" \' . \'>\' . $category->name.\'</a>\'.\'</div>\';
     }else{echo \'<div class="catspace">\'. \'\'   .\'</div>\';    }
     }
   }
SO网友:TheDeadMedic

只需跳过您的foreach:

foreach ( $cat_array as $cat ) {
    if ( $cat != EXCLUDED_CAT_ID ) {
        // Output
    }
}

结束

相关推荐

GET_CATEGORIES上的用户定义顺序?

下面是一些将特定类别调用到我们的首页帖子循环的基本代码。它工作正常,只是我的客户希望类别按特定顺序显示。我知道互联网上还有其他关于这一点的帖子,但我没有看到任何像我的客户所问的那样解决这一问题的帖子。我可以接受下面代码中创建的$categories变量,并将这些对象调用到一个新数组中吗?在这种情况下,所有对象前面都有一个数字,如:[0] => values [1] => values [2] => values .... 输出转储时。我可以把输出结果按我