How to hide post in WordPress

时间:2017-05-23 作者:Vy Spirit

我遵循this article 创建一篇特色文章,但它显示了两篇相似的文章:一篇特色文章和一篇新文章。我想把那篇文章用作特色文章时隐藏起来。我该怎么办?以下是我用来显示特色帖子的代码:

    <?php
    $args = array(
    \'posts_per_page\' => 5,
    \'meta_key\' => \'meta-checkbox\',
    \'meta_value\' => \'yes\'
    );
    $featured = new WP_Query($args);

    if ($featured->have_posts()): while($featured->have_posts()): $featured->the_post(); ?>
    <h3><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></h3>
    <p class="details">By <a href="<?php the_author_posts() ?>"><?php the_author(); ?> </a> / On <?php echo get_the_date(\'F j, Y\'); ?> / In <?php the_category(\', \'); ?></p>
    <?php if (has_post_thumbnail()) : ?>
    <figure> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a> </figure>
    <p ><?php the_excerpt();?></p>
    <?php
    endif;
    endwhile; else:
    endif;
    ?>
Image if you want.

1 个回复
SO网友:DᴀʀᴛʜVᴀᴅᴇʀ

我想你需要的是post__not_in 但您没有显示任何代码:

摘自WP_Query:

$query = new WP_Query( array( \'post_type\' => \'post\', \'post__not_in\' => array( 2, 5, 12, 14, 20 ) ) );
如果您想排除您所处的特定职位,请执行以下操作:

\'post__not_in\' => array($post->ID),
关于该主题的其他问题:

**

编辑**

根据您的代码示例,我猜您有两个不同的查询。一个用于全幅图像,其余用于图像左侧和内容右侧区域。我仍然会使用相同的规则\'post__not_in\' => array($post->ID) 但如果您要求省略功能类别,则会使用\'category_not_in\' => \'feature\',. 因此,参数如下所示:

$args = array(
    \'posts_per_page\'    => 5,
    \'meta_key\'          => \'meta-checkbox\',
    \'meta_value\'        => \'yes\',
    \'post__not_in\'      => array($post->ID),
);
$featured = new WP_Query($args);

$args = array(
    \'posts_per_page\'    => 5,
    \'meta_key\'          => \'meta-checkbox\',
    \'meta_value\'        => \'yes\',
    \'category_not_in\'   => \'feature\',
);
$featured = new WP_Query($args);
编码时,我遵循以下几点:

我没有看到wp_reset_postdata(); 在循环结束时。我一直被教导在调用查询后重置查询是很好的。“参考”wp_reset_postdata() or wp_reset_query() after a custom loop?“使用“假设”心态:

您需要的the_category(\', \'); 但如果没有检查类别,则不考虑,因此您可能应该考虑has_category()

结束