2016-03-18 5 views
0

Я хочу эхо-строку после периода времени, используя планирование WordPress. Ниже мой код в functions.php. Ничего не печатается с помощью эхо-инструкции, а также нет ошибки. Пожалуйста, объясните, что я делаю неправильно.WordPress Scheduling Not Firing

function add_new_intervals($schedules) { 
    // add weekly and monthly intervals 
    $schedules['now'] = array(
     'interval' => 1, 
     'display' => __('Once Weekly') 
    ); 

    return $schedules; 
} 

add_filter('cron_schedules', 'add_new_intervals'); 

function my_activation() { 
    if (!wp_next_scheduled('my_hourly_event')) { 
     wp_schedule_event(current_time('timestamp'),'now', 'my_hourly_event'); 
    } 
} 

add_action('wp', 'my_activation'); 
add_action('my_hourly_event', 'do_this_hourly'); 

function do_this_hourly() { 
    echo "This is the Text"; 
} 
+1

Есть благопристойность, чтобы спросить на одном сайте только первый (и см какие ответы вы получаете), а не перекрестные ссылки на несколько. http://wordpress.stackexchange.com/questions/221104/wordpress-scheduled-task-not-firing (или в следующий раз, будьте достаточно умны, чтобы оставить часть «0 фаворитов с правом голоса» при копировании и вставке с одного сайта SE на другой .) – CBroe

ответ

0

Одна вещь, которую вы делаете неправильно, ожидает, что вы сможете увидеть что-то эхо, когда запущено задание cron. Лучше испытание было бы, чтобы он внести изменения в базе данных, что-то вроде:

`update_option('my_cron_test', current_time())`; 

рабочих мест WP Cron (как и большинства хрон рабочих мест) предназначены для выполнения функции в том, что должно произойти по расписанию. Они не предназначены для создания «пользовательского вывода».

Некоторые советы с WP Cron Работа:
Ваш код будет пытаться запустить эту функцию один раз в час, но способ WP установлен, он может (или не может) бежать, в зависимости от того, если сайт получает посетил.

Существует много решений этой слабости, простейшей/наиболее эффективной из которых является создание задания crontab на вашем сервере, которое запускает WP cron. Что-то вроде этого:

/15 * * * wget -q -O - http://yourdomain.com/wp-cron.php?doing_wp_cron 

Для получения дополнительной помощи с этим (это может быть сложно), проверьте эти статьи:
Properly Setting Up WP Cron Jobs
Mastering WP Cron

+0

Спасибо, Кейл .... Я делаю это как ответ – Zeeshan