隐藏文章页面上的重复帖子 - Wordpress

时间:2017-03-29 14:41:56

标签: php wordpress foreach

我在Wordpress的页面上显示文章。然后就在那篇文章下面,我正在做一个foreach循环并显示最新的文章。以下是它的外观:

enter image description here

正如你所看到的," Jeffs Wedding Surprise"在底部文章中再次显示。我怎么能这样做,所以同一篇文章不再在我现在正在观看的foreach循环中再次显示。

以下是我如何循环浏览底部的"类似文章" 以及我的精选文章:

<?php if( have_posts() ){
            while( have_posts(['posts_per_page'=>100]) ){
                $articles = the_post();
                $thumb_id = get_post_thumbnail_id($articles);
                $thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail-size', true);
                $thumb_url = $thumb_url_array[0];
        ?>
            <?php } ?>
            <div class="article-heading">
                <h4><?php the_title(); ?></h4>
            </div>
            <div class="article-background">
                <img src="<?=$thumb_url;?>">
                <?php
                $title = get_the_title();
                $content = the_content();
                if(strlen($content)>0){?>
                    <div class="article-details">
                        <?php $content ?>
                    </div>
                <?php } ?>
            </div>
        <?php } ?>


        <div class="similar-section">
            <h3>Similar Articles</h3>
        </div>
        <?php foreach (get_posts(['post_type' => 'add_article', 'posts_per_page'=>3]) as $articles) {
            $thumb_id = get_post_thumbnail_id($articles);
            $thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail-size', true);
            $thumb_url = $thumb_url_array[0];
            $url_to_project = "/previous_work/".$articles->post_name;
            ?>
                <div class="col-md-4">
                    <a class="article-link" href="<?=$url_to_project;?>">
                        <div class="single-article-photo">
                            <img src="<?=$thumb_url;?>">
                        </div>
                        <div class="single-article">
                            <h6><?= $articles->post_title ?></h6>
                            <p><?= substr($articles->post_content,0,200) ?> <span style="text-transform: uppercase; text-decoration: underline">(Read More)</span>...</p>
                        </div>
                    </a>
                </div>
        <?php } ?>

2 个答案:

答案 0 :(得分:1)

您可以添加条件来检查主要文章的标题/ ID,而不是在类似的文章中显示。

在主要文章代码中

$title = get_the_title(); // title of main article

对于类似的文章

 foreach (get_posts(['post_type' => 'add_article', 'posts_per_page'=>3]) as $articles) {
    if($title!=$articles->post_title){
      // display article 
    }
}

答案 1 :(得分:0)

这就是我应该在foreach循环中做的事情:

<?php foreach (get_posts(['post_type' => 'add_article', 'posts_per_page'=>3,'exclude'=>[get_the_ID()]]) as $articles) { ?>

这将排除页面底部&#34;类似文章&#34; 部分中的当前文章。