Я хочу создать плагин, который будет создавать новые сообщения каждые 30 минут, используя cron job.
Я уже создал новый интервал для моей работы cron.
Я думаю, что проблема в том, чтобы вставить новый пост. Я не уверен, что вы можете мне помочь?
<?php
/*
Plugin Name:
Description:
Version: 1.0
Author:
*/
add_filter('cron_schedules', 'new_interval');
// add once 30 minute interval to wp schedules
function new_interval($interval) {
$interval['minutes_30'] = array('interval' => 30*60, 'display' => 'Once 30 minutes');
return $interval;
}
function InitiateMyCron() {
if (!wp_next_scheduled('MyCronEvent')) {
wp_schedule_event(time(), 'minutes_30', 'MyCronAction');
}
}
function MyCronAction() {
//do my cron every 30 minutes
$new_post = array(
'post_title' => 'Cron job New Post',
'post_content' => 'Lorem ipsum dolor sit amet...',
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => 1,
'post_type' => 'post',
'post_category' => array(6, 2)
);
$post_id = wp_insert_post($new_post);
}
?>
Что я делаю неправильно?
Заранее спасибо.
Не забывайте, что «механизм» WordPress cron по-прежнему является «неавтоматическим» эмулятором. Если посетители (люди, поисковые системы и т. Д.) Посещают ваш сайт каждую минуту — cron будет работать. Если посетители не «трогают» ваш сайт — cron не будет работать.
Других решений пока нет …