2014-10-06 4 views
0

Я хочу создать плагин для создания новых сообщений каждые 30 минут с использованием задания cron. Я уже создал новый интервал для моего задания cron. Я думаю, что проблема заключается в вставке нового сообщения. Я не уверен, что вы можете мне помочь?Как вставить сообщение с заданием cron в Wordpress

<?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); 
} 

?> 

что я делаю неправильно?

Заранее спасибо.

+0

Вы проверили возвращаемое значение 'wp_insert_post()'? он возвращается на 0 при сбое. –

+0

Я не могу отладить это, beacause это внутри задания cron, которое я не знаю, если он работает или нет. –

ответ

0

Не забывайте, что механизм WordPress cron по-прежнему является «неавтоматическим» эмулятором. Если посетители (люди, поисковые системы и т. Д.) Посещают ваш сайт каждые минуты - cron будет работать. Если посетители не «касаются» вашего сайта - cron не будет работать.

+0

Спасибо, я этого не знал. –

Смежные вопросы