2013-02-22 50 views
0

我當前的循環顯示5個即將發生的事件,但是當事件的日期通過時,我無法使這些事件帖子無法顯示。這裏是我的代碼...隱藏比當前日期更早的舊事件帖子

<? 

wp_reset_query(); 
query_posts(array('post_type' => 'events', 
        'showposts' => 5, 
        'meta_key'=>'event_date', 
        'orderby' => 'meta_value', 
        'order' => ASC)); 

while (have_posts()) : the_post(); 

?> 

<li> 
<?php $eventDate = DateTime::createFromFormat('Ymd', get_field('event_date')); ?> 
<h4><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h4> 
<span class="date"><strong>Event Date:</strong> <? echo $eventDate->format('d/m/Y'); ?></span> 
</li> 

<?php endwhile;?> 

...任何幫助將是非常讚賞

+0

[某個日期後發佈的WordPress查詢帖子可能重複](http://stackoverflow.com/questions/10778122/wordpress-query-posts-published-after-a-certain-date) – 2013-02-22 16:17:25

+0

不,這是不同。這些是具有名爲event_date的自定義字段的事件帖子。當事件日期過去時,我希望帖子不被包含在循環中。 – Amesey 2013-02-22 16:26:41

回答

0

由於您的文章有自定義字段,你可以做這樣的事情:

<?php 

// Get the current date 
$current_date = date('M d, Y'); 
$current_date = strtotime($current_date); 


query_posts(array('post_type' => 'events', 
       'showposts' => 5, 
       'meta_key'=>'event_date', 
       'orderby' => 'meta_value', 
       'order' => ASC)); 

while (have_posts()) : the_post(); 

    // Get the custom field 
    $post_date = get('date'); 
    $post_date = strtotime($post_date); 


    // If older than current date, don't show it 
    if($post_date > $current_date): 

?> 

    <li> 
    <?php $eventDate = DateTime::createFromFormat('Ymd', get_field('event_date')); ?> 
    <h4><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h4> 
    <span class="date"><strong>Event Date:</strong> <? echo $eventDate->format('d/m/Y'); ?></span> 
    </li> 


<?php 
    endif; 
endwhile; 
?> 

希望這有助於。

相關問題