正在编辑循环,以便它针对特定的标记?

时间:2012-11-07 作者:Joe Bobby

我对如何实现这一点感到困惑,但我想做的是在主页的循环中加载带有“评论”标签的帖子。

指数php:

<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>

    <?php
        get_template_part( \'content-reviews\', get_post_format() );
    ?>


<?php endwhile; ?>


<?php else : ?>

<?php get_template_part( \'no-results\', \'index\' ); ?>

<?php endif; ?>

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

使用pre_get_posts 修改主查询的操作。将此放置在functions.php 文件:

function wpa71787_home_tag_query( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( \'tag\', \'reviews\' );
    }
}
add_action( \'pre_get_posts\', \'wpa71787_home_tag_query\' );
您可以设置的任何有效参数WP_Query 使用此方法。

编辑,二次查询(不包括标记的帖子),使用标记ID:

$query = new WP_Query( array( \'tag__not_in\' => array( 42 ) ) );
while( $query->have_posts() ):
    $query->the_post();
    // loop stuff
endwhile;

结束

相关推荐

Sort post's categories by ID

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