0

我正在尝试在侧边栏中添加“电影评论”部分,但它也改变了我的主循环。这是我的代码:

//Movie All Reviews
function display_movie_reviews( $query ) {
    if ( $query->is_category('movies') ) {
        $query->set( 'tag', 'movie-reviews' );
    }
}
add_action( 'pre_get_posts', 'display_movie_reviews' );

它正在显示我想要的评论,但类别页面site.com/movies/仅显示评论

这是侧边栏的循环:

<ul>
    <?php if ( have_posts() ) : ?>
    <?php /* Start the Loop */ ?>
    <?php add_action( 'pre_get_posts', 'display_movie_reviews' ); ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <?php get_template_part( 'sidebar-reviews', get_post_format() ); ?>
    <?php endwhile; ?>
    <?php else : ?>
    <?php get_template_part( 'no-results', 'index' ); ?>
    <?php endif; ?>
</ul>

sidebar-reviews

<li>
    <a class="sidebar-thumb" href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'sidebar-thumb',array('title' => "")); ?></a>       
    <div class="sidebar-text">
        <a class="sidebar-link" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        <span class="sidebar-rating"><!-- rating here --></span>
    </div>
</li>
4

1 回答 1

0

试试wp_reset_query(); http://codex.wordpress.org/Function_Reference/wp_reset_query

此函数会破坏在自定义循环上使用的先前查询。应在循环之后调用函数以确保条件标签按预期工作。

于 2012-12-09T02:28:37.887 回答