add_action( 'wp', 'remove_post_type_events' );
function remove_post_type_events()
{
$params = [
'posts_per_page' => -1,
'post_type' => 'events',
'post_status' => [
'publish',
'future',
'draft',
'pending',
'private',
'trash',
'auto-draft',
'inherit',
]
];
$query = new WP_Query($params);
if ($query->have_posts()) :
while ($query->have_posts()) : $query->the_post();
wp_delete_post($query->post->ID, true);
endwhile;
endif;
wp_reset_postdata();
}
function get_events()
{
global $wpdb;
$events = $wpdb->get_results(
"
SELECT post_id, meta_value
FROM $wpdb->postmeta
WHERE meta_key = 'data-provedeniya'
"
);
return $events;
}
ответил в другом Вашем вопросе.
А зачем делать это вручную? В функцию 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.
"meta"=[];
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...
{ "date": "2019-07-15 10:15:20", "title": "Событие 1", "description": "Анонс меоприятия", "url": "https://alexanderyurchenko.ru/events/" }