2017-02-21 133 views
1

这个问题已被问及加载和尝试了各种不同的方式,但似乎无法做到这一点!WordPress的ACF自定义字段日期 - 隐藏过期事件

我有一个自定义帖子类型'事件'与自定义字段'日期'通过acf完成。

我可以用日期列出所有事件并按日期排序。但我想隐藏超过当前日期的日期。我的代码是:

<?php 

    query_posts(array( 
    'post_type' => 'events', 
    'meta_key'   => 'date', 
    'orderby'   => 'meta_value_num', 
    'order'    => 'ASC' 
    )); 
    if (have_posts()) : while (have_posts()) : the_post(); 
?> 

<div class="event-block"> 
    <div class="event-block-info"> 
    <h2><?php the_title(); ?></h2> 
    <p><?php 
     $endDateText = date_i18n("d M Y", strtotime(get_field('date'))); 
     echo $endDateText; 
    ?></p> 
    <div class="event-block-image"> 
    <?php the_post_thumbnail('medium'); ?> 
    </div> 
    <div class="content"> 
    <?php the_content(); ?> 
    </div> 
    </div> 
</div> 


<?php endwhile; endif; wp_reset_query(); ?> 

感谢您的帮助

回答

0

试图比较你从与实际时间ACF领域获得赛事结束日期,避免打印出过去的事件。

...

if (have_posts()) : while (have_posts()) : the_post(); 

if(strtotime(get_field('date'))<time()){ 
    continue; 
    } 
?> 
<div class="event-block"> 

....

+0

大,它的工作谢谢 – user1961395

+0

这为主要活动页面,其中列出的所有事件的工作。然而,在我的主页上,我只想简单介绍即将发生的事件。我想我可以复制这个,并添加一个'posts_per_page => 1'似乎是考虑到隐藏的事件,所以没有显示。 任何想法基于什么已完成,如何显示1即将发生的事件? – user1961395

+0

您可以查询meta_key'date'大于今天的所有帖子,并按'date'顺序排列结果。比得到结果数组的第一个元素 – fabio

相关问题