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

http://codex.wordpress.org/Function_Reference/wp_reset_query を試してくださいwp_reset_query();

この関数は、カスタム ループで使用された以前のクエリを破棄します。条件付きタグが期待どおりに機能するようにするには、ループの後に関数を呼び出す必要があります。

于 2012-12-09T02:28:37.887 に答える