Как собрать json массив из postmeta
При создании записи я создал доп поля дат, ссылки и заголовка, которые назвал event_start, event_date, event_titile, event_url
Как собрать json массив следующего вида (нужно значение event_start перенести в значение start и так смежно с остальными):
{
"start" : "20231113",
"end" : "20231113",
"title": "Заголовок",
"url": "ссылка"
},
{
...
}
Массив будет передаваться в календарь событий, которой читает такой json, как выше написал
Ответы (1 шт):
foreach ($arrayEventId as $value) {
$item = array(
'start' => date('Y-m-d', strtotime(get_post_meta($value, 'event_start', true))),
'end' => date('Y-m-d', strtotime(get_post_meta($value, 'event_end', true))),
'url' => get_post_meta($value, 'event_title', true),
'title' => get_post_meta($value, 'event_url', true)
);
array_push($event_metadate, $item);
}
return $events = json_encode($event_metadate);
Решил проблему, а именно создан json массив со всеми нужными записями (фильтровал по post_type, но тут не имеет значения)
Было решение в комментариях сразу в json гнать, у меня не получалось вывести через echo (ошибка была что-то с массивом и строкой было связано), по этому я итоговый массив привел в json
В start и end мне нужно было передавать дату, по этому я прямо там и изменил их date('Y-m-d', strtotime(get_post_meta($value, 'event_start', true)))
Но спасибо за ответы, навели на решение. Да, может оно не идеальное, я новичек.