我们如何从相关帖子中排除当前帖子

时间:2013-03-13 作者:Adi

当用户打开任何帖子时,他们可以在右侧看到相关内容posts 去那个岗位。但目前在相关posts 我目前的公开帖子也展示了exclude 当前打开的帖子。

2 个回复
SO网友:fuxia

使用参数\'post__not_in\' 要排除帖子ID,请执行以下操作:

$posts = new WP_Query(
    array (
        \'post__not_in\' => array(get_the_ID()) // exclude current post ID
    )
);

SO网友:Marc Dingena

如果您能给我们一些您当前使用的代码片段,它将帮助我们制定一个答案。不幸的是,我没有足够的声誉在OP上发表评论,因此我将根据OP中提供的知识提供我的答案。

加载当前帖子时(可能通过使用single.php), 您可以将post ID保存在PHP变量中,如下所示:

<?php $do_not_duplicate = $post->ID; ?>
稍后,在显示相关帖子的循环中,如果ID匹配,则需要if语句跳过循环。像这样:

<?php
    // Get related posts
    $related = new WP_Query( $args );
    while ( $related->have_posts() ) : $related->the_post();
        if (in_array($post->ID, $do_not_duplicate)) continue;
?>
<!-- Your html for related post listing -->
<?php 
    endwhile;           // End \'while have_posts()\'
    wp_reset_postdata();    // Reset Post Data
?>

结束

相关推荐

Query_Posts()与Get_Posts()多个循环

我有一个模板,最初只有一个循环,它使用query\\u posts,我使用相同的方法又添加了两个循环,但是在阅读了allot关于这些的内容后,我得出结论,我将停止使用它,每个人都反对使用它。original query_posts loop (latest posts)<?php if ( !is_front_page() && tfuse_options(PREFIX.\'_pagination_portfolio\') ){ $cat = get_query_va