$events = new WP_Query( array( 'post_type' => 'events', 'posts_per_page' => -1 ) );
while( $events->have_posts() ) {
$events->the_post();
$title = get_the_title();
$status = get_post_status( get_the_ID() );
$date = get_the_date();
}
Не оптимально ли выбрать их из БД?
{ "date": "2019-07-15 10:15:20", "title": "Событие 1", "description": "Анонс меоприятия", "url": "https://alexanderyurchenko.ru/events/" }
$.ajax({
url: '/wp-json/wp/v2/events/'
})
.done( function( data ) {
var items = data.map( function( item ) {
var obj = {};
obj.title = item.title.rendered;
obj.date = item.date;
return obj;
});
console.log( items );
});
function get_events()
{
global $wpdb;
$events = $wpdb->get_results(
"
SELECT id, post_date ,post_title
FROM $wpdb->posts
WHERE post_status = 'publish'
AND post_type = 'events'
"
);
return $events;
}
function get_json($arr)
{
$data = '[';
foreach ($arr as $item) {
$data .= '{ "date": "' . $item->post_date . '", "title": "' . $item->post_title . '", "description": "", "url": "' . $item->guid . '" },';
}
$data .= '];';
return $data;
}
"url": "' . $item->guid . '"
, соответственно ссылка у меня получается не ЧПУ, есть возможность её преобразовать ЧПУ?$(document).ready(function () {
let data = <?= $result; ?>
$('#eventCalendar').eventCalendar({
jsonData: data,
......
Catchable fatal error: Object of class WP_Query could not be converted to string in...
После чего я в другой функции собираю строчку, которую в дальнейшем передам в календарь:
есть возможность её преобразовать ЧПУ?
Catchable fatal error: Object of class WP_Query could not be converted to string in...
ответил в другом Вашем вопросе.
А зачем делать это вручную? В функцию wp_json_encode можно передать и массив и объект напрямую из PHP.
[
{ "date": "......", "title": "......", "description": "......", "url": "......" },
];
$events = get_events(); //получаем массив
$calJson = json_encode($events, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); // кодируемым в json и помещаем в перемененную
get_permalink( ID_записи )
Не понял где у Вас вызов WP_Query. На сколько я вижу, get_events использует wpdb.
function get_events()
{
global $wpdb;
$events = $wpdb->get_results(
"
SELECT post_id, meta_value
FROM $wpdb->postmeta
WHERE meta_key = 'data-provedeniya'
"
);
return $events;
}