Wordpress ACF поля выбора даты не работают
Я создал "каникулы" custom-post-type
в котором есть два пользовательских поля -> "startdate" и "enddate". Очевидно, что оба типа полей - "Выбор даты".
Но по какой-то причине я не знаю, я не могу получить эти поля. Он не возвращает ничего или ноль. В моем functions.php
У меня есть это:
function get_vacation_dates(){
$startDate = get_field('vacation_start', false, false);
$endDate = get_field('vacation_end', false, false);
$start_date = new DateTime($startDate);
$end_date = new DateTime($endDate);
$args = array(
'post_type' => array('ferieperioder'),
'post_status' => array('publish'),
'posts_per_page' => -1,
'post__in' => $post->ID,
'meta_key' => array(
'key' => 'vacation_start',
'value' => $startDate
),
array(
'key' => 'vacation_end',
'value' => $endDate
)
);
$query = new WP_Query($args);
echo json_encode($query);
die();
}
add_action('wp_ajax_nopriv_get_vacation_dates', 'get_vacation_dates');
add_action('wp_ajax_get_vacation_dates','get_vacation_dates');
Я не знаю, правильно ли это вообще, так как я хочу, чтобы каждый отпуск_периода (может быть несколько "отпускных" постов) возвращался как json для некоторой обработки AJAX.
Например, я хочу массив json, как это:
[ {
"vacation_name" : "summer",
"vacation_start" : "01-07-2019",
"vacation_end" : "30-07-2019"
},
{
"vacation_name" : "winter",
"vacation_start" : "01-12-2019",
"vacation_end" : "14-12-2019"
},
]
или что-то типа того...
Как я могу этого достичь?
1 ответ
Я думаю, что вы должны сделать это с meta_query следующим образом:
$args = array(
'post_type' => array('ferieperioder'),
'post_status' => array('publish'),
'posts_per_page' => -1,
'post__in' => $post->ID,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'vacation_start',
'value' => $startDate,
'type' => 'DATE',
'compare' => '>='
),
array(
'key' => 'vacation_end',
'value' => $endDate,
'type' => 'DATE',
'compare' => '<='
)
)
);