0

由于 Wordpress 粘性帖子功能允许在帖子发布面板中检查为粘性的帖子放置在帖子首页的顶部。

我想在索引中显示所有帖子而没有粘性帖子:

if ( have_posts() ) :
?>
    <div class="row my-4">
    <?php
        while ( have_posts() ) :
            the_post();

            /**
             * Include the Post-Format-specific template for the content.
             * If you want to overload this in a child theme then include a file
             * called content-___.php (where ___ is the Post Format name) and that will be used instead.
             */
            get_template_part( 'content', 'index' ); // Post format: content-index.php
        endwhile;
    ?>
    </div>
<?php
endif;

wp_reset_postdata();
4

1 回答 1

0

您可以使用pre_get_posts操作挂钩来操作查询。由于您需要修改您的查询index.php,您可以使用is_home条件检查。

add_action('pre_get_posts', 'your_theme_no_sticky_posts_query');

function your_theme_no_sticky_posts_query($query)
{
  if (is_home() && $query->is_main_query()) {
    $query->set('post__not_in', get_option('sticky_posts'));
  }
}

代码进入functions.php您的活动主题。

于 2021-08-29T16:26:17.187 回答