2012-08-15 48 views
1

我想限制get_posts按日期 我试着用()结果应用过滤器下面,但它不工作对我来说...WordPress的get_posts

谁能告诉我,如果即时通讯正确地这样做呢?为什么不按预期执行?

add_filter('posts_where', 'filter_dates_between'); 

$args=array(
     'post_type'=>'log', 
     'suppress_filters' => false, 
     'post_status'=>'private', 
     'numberposts'=> -1, 
     'meta_key'=>'_wpcf_belongs_agent_id','meta_value'=>$agentId); 

$logs=get_posts($args); 

remove_filter('posts_where', 'filter_dates_between'); 

这里是过滤功能

function filter_dates_between($where ='' ) { 
       global $dateFrom,$dateTo,$wpdb; 

       $where .= $wpdb->prepare(" AND post_date >= %s", $dateFrom); 
       $where .= $wpdb->prepare(" AND post_date <= %s", $dateTo); 

       return $where; 
    } 

回答

0

你的代码是好的。我认为问题来自您传递的日期,其中像字符串一样对待。

确保到底它在这个示例格式

"AND post_date >= '2009-03-01' AND post_date <= '2009-03-15'" 

或者干脆

"AND cast(post_date as datetime) between cast... AND cast... 
+0

将测试明天,让你知道哪冒出来的 – 2012-08-19 16:47:37

相关问题