Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WP#u查询可以';在两个日期之间进行筛选_Php_Wordpress_Advanced Custom Fields_Custom Post Type_Wordpress Rest Api - Fatal编程技术网

Php WP#u查询可以';在两个日期之间进行筛选

Php WP#u查询可以';在两个日期之间进行筛选,php,wordpress,advanced-custom-fields,custom-post-type,wordpress-rest-api,Php,Wordpress,Advanced Custom Fields,Custom Post Type,Wordpress Rest Api,我正在使用WP Rest API作为移动应用程序的后端。该应用程序是一个简单的待办事项列表,其中任务有一个task\u日期 我得出了以下结论: 任务是一种自定义帖子类型 task\u date是使用ACF创建的字段(日期选择器采用Ymd格式) 所以,我创建了这个端点 GET/calendar-params{date\u from,date\u to}(params是Ymd字符串日期) 它应该返回所有任务,这些任务的task\u日期介于date\u from和date\u to之间 这是我想出

我正在使用WP Rest API作为移动应用程序的后端。该应用程序是一个简单的待办事项列表,其中任务有一个
task\u日期

我得出了以下结论:

  • 任务
    是一种自定义帖子类型
  • task\u date
    是使用ACF创建的字段(日期选择器采用
    Ymd
    格式)
所以,我创建了这个端点

GET/calendar-params{date\u from,date\u to}
(params是
Ymd
字符串日期)

它应该返回所有任务,这些任务的
task\u日期介于
date\u from
date\u to
之间

这是我想出的代码:


公共函数获取任务日历($req){
$params=$req->get_params();
$args=数组(
“post_类型”=>“任务”,
'fields'=>数组(“ID”,“post_title”),
“元查询”=>数组(
'关系'=>'和',
排列(
'键'=>'任务日期',
'比较'=>'>=',
“值”=>date(“Ymd”,strotime($params[“date_from”]),
'类型'=>'日期'
),
排列(
'键'=>'任务日期',
'比较'=>'

你能试着省去日期吗

说,

只有当日期以
YYYY-MM-DD
格式存储时,
类型
日期才与
比较
一起使用


我猜这可能与
=
/
相同。你能试着省去
'type'=>'DATE'
吗?上面说,“只有当日期以YYYY-MM-DD格式存储时,'type'日期才与'compare'值一起工作。”-我猜这可能与>=/相同实际上,ACF允许我选择如何存储日期(不同的日期字符串格式),我选择了
Ymd
。但我会尝试你的建议,看看它是否有效。谢谢。不,不是真的-它允许你选择在编辑视图中显示的格式,以及当你获取要在模板中使用的值时-但它存储在数据库中的格式始终是YYYYMMDD。因此,我不需要将
任务\ u日期
字段强制转换为date(),对吗?这只是一个字符串比较。我可以确认它可以像你说的那样将日期作为字符串进行比较。非常感谢。请随意添加它作为答案,以便我可以检查它。
            array(
                'key' => 'task_date',
                'compare' => '>=',
                'value' => date("Ymd", strtotime($params["date_from"])),
                'type' => 'DATE'
            ),