Wordpress根据自定义字段显示未来事件

时间:2015-01-18 14:42:56

标签: wordpress date custom-post-type

我知道类似的问题被问了一百万次,我尝试了不同类型的解决方案,但没有任何成功

我有Cpt比赛

<?php
        $paged = ( get_query_var('paged') ) ?get_query_var('paged') : 1;
        $contest = new WP_Query(
                        array(
                        'post_type' => 'contests',
                        'posts_per_page' => '15',
                        'meta_key'=> '_closingdate',
                        'orderby'=> 'meta_value',
                        'order' => 'ASC',   
                        'paged' => $paged
)); 
?>

<?php if ($contest->have_posts()) :  while ($contest->have_posts()) : $contest->the_post();?>
<div class="row">
                    <div class="cell_left"><p><a title="<?php the_title(); ?>" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></p></div>
                    <div class="cell"><p class="posted"><?php echo date('d-m-Y', strtotime(get_post_meta($post->ID, "_closingdate",true)));?></p></div>                                           
                  </div>
                   <?php endwhile;?> 


            </div>



            <div class="navigation">      
            <?php wp_pagenavi( array( 'query' => $contest ) ); ?>          
          <?php wp_reset_query();?> 

    </div>
                   <?php endif; ?>

这没有任何问题

现在我尝试仅显示今天和未来截止日期的“竞赛”。 我在堆栈溢出时发现了这个,但我无法让它工作。

<?php
$paged = ( get_query_var('paged') ) ?get_query_var('paged') : 1;
$today = date('Ymd');
$contest = new WP_Query(array(
        'post_type' => 'contests',
        'posts_per_page' => '15',
        'meta_key' => '_closingdate',
        'orderby' => 'meta_value',
        'paged' => $paged,
        'order' => 'ASC',
            'meta_query' => array(
                    array(
                        'key' => '_closingdate',
                        'meta-value' => $value,
                        'value' => $today,
                        'compare' => '>=',
                        'type' => 'CHAR',
                         )
                            )
));
?> 

有人能为我解决这个问题吗?

干杯

1 个答案:

答案 0 :(得分:0)

尝试使用php time函数:

在你的情况下

<?php
$paged = ( get_query_var('paged') ) ?get_query_var('paged') : 1;
$contest = new WP_Query(array(
        'post_type' => 'contests',
        'posts_per_page' => '15',
        'meta_key' => '_closingdate',
        'orderby' => 'meta_value',
        'paged' => $paged,
        'order' => 'ASC',
            'meta_query' => array(
                    array(
                        'key' => '_closingdate',
                        'value' => time(),
                        'compare' => '>=',
                         )
                            )
));
?>