我如何列出当前类别和特色类别帖子列表?

时间:2013-01-26 作者:Genxer

我有一个特色的帖子类别。Im标记了一些帖子的特色。当我查看分类页面(例如体育)时,我想在侧栏上列出已标记的帖子列表(例如特色和体育)

我尝试了以下代码。这对我很有用,但当我使用代码时,我看到两个类别的帖子(例如体育),一个是受代码影响的类别帖子列表,另一个是列出相同的帖子列表。

我的示例图片!Here

我怎样才能解决这个问题?我的代码:

<?php
//55 is my Featured Category id
if ( is_category() ) {
  $current_cat = get_query_var(\'cat\');
}
query_posts(array(\'category__and\' => array(55, $current_cat )));

if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

        <li><a href="<?php the_permalink(); ?>">
          <?php the_title(); ?>
          </a>  </li>
 <?php endwhile; else: ?>
 <?php endif; ?>

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

我想你是在问你的自定义二次回路对主回路的影响,对吗?

query_posts() 改变主回路。一个快速解决方法是打电话wp_reset_query() 在自定义循环重置查询数据后:

<?php wp_reset_query(); ?>
但是,它使用起来更高效、更友好WP_Query() 而不是query_posts() (尤其是在进行二次循环时)。这应该与使用WP_Query():

<?php
if ( is_category() ) {
    $current_cat = get_query_var(\'cat\');
}

$args = array(
    \'category__and\' => array( 55, $current_cat )
);

$my_query = new WP_Query( $args );
?>

<?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?>
    <li>
        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>  
    </li>
<?php endwhile; ?>

<?php wp_reset_postdata(); ?>
参考文献:

http://codex.wordpress.org/Function_Reference/query_posts

http://codex.wordpress.org/Class_Reference/WP_Query

结束

相关推荐

Sort post's categories by ID

我有一个博客,其中几个帖子的类别必须先输出,然后再输出其他类别。与其他类别相比,这些类别的ID较低。我正在使用get_the_category_list 但它并没有像我预期的那样工作。这让我很困惑,因为我记得有一个主题做得很好。有人能给我指出正确的方向吗?谢谢<?php get_the_category_list( array( \'orderby\' => \'ID\', \'order\' => \'ASC\' ) ); ?>&