某些日期后Wordpress自定义帖子消失

时间:2015-08-20 16:14:11

标签: php wordpress-theming wordpress

我目前正在为客户开发一个网站(目前在我自己的网站上托管 - http://jamiemcardle.com ),我们在主页上添加了一个显示即将发生的事件的部分。该网站是一个自定义的Wordpress主题,网站上有两种帖子类型:常规WP帖子和一个名为' events'的自定义帖子类型。我需要事件发布类型,以便在日期过后自动消失/删除。

<?php $args = array( 'post_type' => 'event', 'posts_per_page' => 9 );$loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <div class="text-center">
        <div class="feature">
            <i class="icon inline-block mb30 fade-0-4 fa fa-calendar-o" style="font-size: 38px !important;"></i>
            <h4 class="uppercase bold"><?php the_field('date'); ?></h4>
            <h5><?php the_field('description'); ?></h5>
        </div>
    </div>
<?php endwhile; ?>

因此,只要日期字段的值已经过去,就应该免除上述代码。我希望我已经清楚地解释了自己,并期待从任何可能的解决方案中学习。感谢您提前提供任何帮助,

杰米。

1 个答案:

答案 0 :(得分:1)

您的“事件”自定义帖子类型似乎正在使用高级自定义字段。假设这是真的并且您正在使用日期选择器ACF类型,您可以声明两个变量,一个用于事件的日期,另一个用于今天的日期,然后比较它们。如果事件的日期与今天或将来的日期相同,则将它们添加到DOM中,否则不要添加它。

<?php $args = array( 'post_type' => 'event', 'posts_per_page' => 9 );$loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <?php $event_date = get_field('date'); // Get the event's date ?>
    <?php $today = date('F j, Y'); // Get today's date ?>
    <?php if ($event_date >= $today) : ?>
        <div class="text-center">
            <div class="feature">
                <i class="icon inline-block mb30 fade-0-4 fa fa-calendar-o" style="font-size: 38px !important;"></i>
                <h4 class="uppercase bold"><?php the_field('date'); ?></h4>
                <h5><?php the_field('description'); ?></h5>
            </div>
        </div>
    <?php endif; ?>
<?php endwhile; ?>