Intereting Posts
Как запустить PHP-код в фоновом режиме на сервере unix Объединение двух изображений с помощью PHP Проблема отправки дополнительных сообщений на сервер с добавлением Переключить сообщения в WordPress с помощью jquery Невозможно найти сценарий, перенаправляющий мобильный трафик в собственном веб-сайте WP Когда лучше проверить асинхронные запросы cURL для завершения? Клиент не может войти в magento 1.8.1 Favicon на wordpress Я бы хотел, чтобы json_encode в PHP возвращал массив JSON, даже если индексы не в порядке В чем смысл класса PHP SpldoublyLinkedList и, что более важно, Linked Lists в целом? Как получить доступ к таблице внутри схемы без использования префикса схемы (Postgres + PHP)? Понимание объекта домена + шаблон карты данных? Безопасные альтернативы PHP Globals (хорошая практика кодирования) Автоматизированная электронная почта с PHP и MySQL? Соединение fsockopen ssl не работает

Событие расписания wordpress не срабатывает в установленное время

В WordPress я создаю плагин, где я отправляю электронную почту пользователям. Для этого я использую работу WordPress cron . Поэтому в основном то, что он будет делать, это просто отправлять электронные письма пользователям в каждый час. Итак, мой код выглядит так

 public function __construct() { add_action('init', array( $this, 'send_emails_to_users') ); add_action('cliv_recurring_cron_job', array( $this, 'send_email') ); } public function send_emails_to_users() { if(!wp_next_scheduled('cliv_recurring_cron_job')) { wp_schedule_event (time(), 'hourly', 'cliv_recurring_cron_job'); } } public function send_email() { //send email code goes here } 

Здесь все выглядит хорошо, но не отправляет электронное письмо.

Если я сделаю свой код таким, как это

 public function __construct() { add_action('head', array( $this, 'send_email') ); } 

Затем он отправляет электронное письмо. Но проблема заключается в том, что он отправляет электронное письмо каждый раз, когда загружается страница или когда пользователь посещает сайт.

Вот почему я хочу использовать wp_schedule_event для создания электронной почты в каждый час.

Так может кто-нибудь сказать мне, как решить эту проблему?

Любое предложение или помощь будут действительно заметны.

Related of "Событие расписания wordpress не срабатывает в установленное время"

Прежде всего, 1) вам нужно настроить crontab на вашем сервере, если вы хотите динамически работать 2) если вы хотите, чтобы планировщик вручную WordPress вызывал после запуска страницы

так,

для установки crontab ниже – полезная ссылка: crontab

Если вы хотите запустить свой cron за каждый час, вам нужно добавить код ниже:

 public function __construct() { // Call function for cron add_action('init', array( $this, 'send_emails_to_users') ); } public function send_emails_to_users() { if(!wp_next_scheduled('cliv_recurring_cron_job')) { // Add "cliv_recurring_cron_job" action so it fire every hour wp_schedule_event(time(), 'hourly', 'cliv_recurring_cron_job'); } } add_action('cliv_recurring_cron_job', array( $this, 'send_email') ); public function send_email() { //send email code goes here } 

для получения дополнительной информации см. ссылку