显示最近的博客文章,但不包括当前文章

时间:2019-11-13 13:33:13

标签: php wordpress

我想在我的单个博客页面的底部显示3条最新帖子,但没有当前帖子。

我的代码:

<div class="blog__posts">
    <h2><?php esc_html_e('andere blogberichten', 'dfib-theme'); ?></h2>
    <a href="<?php echo get_permalink( get_option( 'page_for_posts' ) ); ?>" class="btn btn-overview"><?php esc_html_e('alle blogberichten', 'dfib-theme'); ?></a>
    <div class="blog__posts--wrapper">
        <?php 
        $the_query = new WP_Query( array(
            'posts_per_page' => 2,
        )); 
        ?>
        <?php if ( $the_query->have_posts() ) : ?>
            <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
                <div class="blog__single">
                    <a href="<?php the_permalink(); ?>"><div class="blog__single--img" style="background-image: url(<?php echo get_the_post_thumbnail_url();?>);"></div></a>
                    <h2><?php the_title(); ?></h2>
                    <?php the_excerpt(); ?>
                    <a href="<?php the_permalink(); ?>">lees meer</a>
                </div>

            <?php endwhile; ?>
            <?php wp_reset_postdata(); ?>
        <?php else : ?>
            <p><?php __('No News'); ?></p>
        <?php endif; ?>
    </div>
</div>

它显示3个帖子,但是当我访问最新帖子时,同一帖子再次显示在底部。有没有办法每次都排除当前的?

2 个答案:

答案 0 :(得分:0)

我刚刚在以下网站上找到了解决方案:https://pineco.de/snippets/exclude-current-post-from-wp_query/

我刚刚将此片段添加到了我的查询中:

'post__not_in'  => array(get_the_ID())

答案 1 :(得分:0)

您必须使用post__not_in排除当前帖子。

在WP_Query数组中添加post__not_in,如下所示。

<?php 
    $the_query = new WP_Query( array(
        'posts_per_page' => 2,
        'post__not_in'   => array( get_the_ID() )
    )); 
?>