我目前的代码显示了来自cpt'events'的5个帖子。这是我正在使用的代码:
//get post type ==> events
global $post;
$args = array(
'post_type' => 'events',
'numberposts' => $data['home_events_count'],
'orderby' => 'meta_value',
'meta_key' => 'timestamp_earth_event_start_date',
'meta_query' => $meta_query
);
我想过滤掉'timestamp_earth_event_start_date'早于当前日期的帖子(事件)。
我自己尝试修改代码,但仍显示过去的事件。
任何帮助都将非常感谢!
答案 0 :(得分:1)
尝试这一个传递查询字符串
$numposts=$data['home_events_count'];
query_posts('post_type=events
&post_status=publish&numberposts=$numposts
&posts_per_page=1
&meta_key=timestamp_earth_event_start_date
&orderby=meta_value_num
&order=DESC')
通过传递数组
$args = array(
'post_status' => 'publish',
'post_type' = 'events' ,
'meta_key' => 'timestamp_earth_event_start_date',
'order' => 'DESC',
'orderby' => 'meta_value_num'
);
$event_posts = new WP_Query( $args );
其他选项可以为查询添加过滤器,例如
add_filter( 'posts_orderby', 'my_posts_orderby_date', 10, 2 );
function my_posts_orderby_date( $orderby, $query ) {
global $wpdb;
return " CAST( $wpdb->postmeta.meta_value AS DATE ) " . $query->get( 'order' );
}