Как собрать json массив из postmeta

При создании записи я создал доп поля дат, ссылки и заголовка, которые назвал event_start, event_date, event_titile, event_url

Как собрать json массив следующего вида (нужно значение event_start перенести в значение start и так смежно с остальными):

{
  "start" : "20231113",
  "end" : "20231113",
  "title": "Заголовок",
  "url": "ссылка"
},
{
  ...
}

Массив будет передаваться в календарь событий, которой читает такой json, как выше написал


Ответы (1 шт):

Автор решения: Stepan Turbasov
 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)))

Но спасибо за ответы, навели на решение. Да, может оно не идеальное, я новичек.

→ Ссылка