排序Wordpress帖子时间戳

时间:2014-04-07 18:47:56

标签: php jquery wordpress datepicker timestamp

我有自定义帖子类型的活动。我想只在今天或即将到来的时候展示活动。

我遇到的问题是,如果我有多个事件,订单不会按照日期进行。

我确实尝试回显时间戳并且它已关闭 - 它需要转换为php时间戳 - 有没有办法在jquery中将时间戳除以1000之后保存它?或者我完全离开这里

任何帮助将不胜感激!

自定义字段

<input type="text" class="datepicker" size="30" />
<input type="hidden" id="event_date" size="30" />

datepicker js

jQuery(document).ready(function(){
        jQuery('.datepicker').datepicker({
            dateFormat : 'DD, MM dd',
            altField: "#event_date",
        altFormat: '@'
        });
});

回调php

<?php $classarg = array('post_type' => 'class', 'meta_query' => array(array('key' => 'event_date', 'value' => time(), 'compare' => '>=',),),'orderby'=> 'key', 'posts_per_page'=> '-1', 'order'=>'ASC');
$classes = new WP_Query($classarg ); if ( $classes->have_posts() ) {while ( $classes->have_posts() ) { $classes->the_post();?>

<h2><?php the_title();?></h2>

<?php the_content();?>

<?php }} wp_reset_postdata();?>

1 个答案:

答案 0 :(得分:0)

我意识到我错过了meta_key参数,而orderby必须是meta_value_num

所以现在可以使用

 <?php
    $classarg= array(
        'post_type' => 'class',
        'posts_per_page' => -1,
        'nopaging' => true,
        'post_status' => 'publish',
        'meta_key' => 'event_date',
        'meta_query' => array(array('key' => 'event_date', 'value' => time(), 'compare' => '>=',),),
        'orderby'=> 'meta_value_num',
        'order' => 'ASC'
    );
    $classes = new WP_Query($classarg  ); 
    if ( $classes->have_posts() ): while ( $classes->have_posts() ) : $classes->the_post();?>

    <h2><?php the_title();?></h2>

    <?php the_content();?>

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