Wordpress:在 Post 模板上显示最新 Post,但在最新 Post 上不显示

Wordpress: Show Latest Post on Post Template, but don't when on the Latest Post

我有一个自定义博客页面 content-single.php,它输出一个自定义模板。

我输出了特定类别的最新 post,但问题是,如果您在该类别的最新 post,您会看到 link 到 post,这没有任何好处。

所以基本上,

标题:“为什么设计很重要” 内容:输出post内容 最近的设计博客:“为什么设计很重要”

这是我的代码(我的 PHP 知识不是那么好,所以很抱歉)。如果有人可以帮助让它不显示此块,它是最新的 post。

非常感谢,

$args = array(
  'posts_per_page' => 1,
  'category_name' => 'design'
);

$q = new WP_Query( $args);

if ( $q->have_posts() ) {
    while ( $q->have_posts() ) {
    $q->the_post();        
?>
<div class="col-12">
  <?php include("inc/components/blog-card-snippet.php"); ?>
</div>

<?php
    } // end while
    wp_reset_postdata();
} else {
?>
    <div class="col">
        <p>No Blogs marked as <strong>Design</strong> to show</p>
    </div>
<?php
}

回答

Alexandru Burca 提供的修复是更新 $args 以包含 post__not_in

$args = array(
  'posts_per_page' => 1,
  'category_name' => 'design',
  'post__not_in' => array(get_the_ID())
);

使用post__not_in。将 $args 更改为

$args = array(
  'posts_per_page' => 1,
  'category_name' => 'design',
  'post__not_in' => array(get_the_ID())
);

这里有更多信息https://developer.wordpress.org/reference/classes/wp_query/#post-page-parameters