在wordpress get_帖子上应用过滤器

在wordpress get_帖子上应用过滤器,wordpress,add-filter,Wordpress,Add Filter,我希望按日期限制get_posts()结果 我试着使用以下工具,但它对我不起作用 谁能告诉我我做得对吗?为什么表现不如预期 add_filter( 'posts_where', 'filter_dates_between' ); $args=array( 'post_type'=>'log', 'suppress_filters' => false, 'post_status'=>'private', 'numb

我希望按日期限制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;
    }
function filter\u dates\u介于($where='')之间{
全局$dateFrom,$dateTo,$wpdb;
$where.=$wpdb->prepare(“和post_date>=%s”,$dateFrom);

$where.=$wpdb->prepare(“和post_date您的代码很好。我认为问题在于您传入的日期被视为字符串

最后,确保它的格式是这个示例格式

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

我明天会测试,让你知道结果
    "AND cast(post_date as datetime) between cast... AND cast...