Как сделать автоматическое срабатывание плагинов Wordpress? Добрый день. После штудирования PHP начал изучать для себя Wordpress. Собственно, уже некоторое время не могу понять одну деталь: как обеспечить автоматическое срабатывание плагинов без каких-либо действий пользователя? В качестве примеров приведу пару заказов, которые я использую как практические задачи:
1. Есть задание "Отправить письмо-напоминание пользователю через 15 минут после оформления заказа, если он не оплатил товар". Как запустить этот таймер на 15 минут? Ведь страницу вероятнее всего закроют, всякие скрытые счетчики в коде бесполезны.
2. Автоматический парсер. Этот вопрос актуален практически для любых грабберов. Есть новостные ленты или же динамические страницы. Парсер может проштудировать их и выбрать нужные нам данные, записывая их в базу, на это я способен. Но как сделать так, чтобы он делал это без ручного запуска? К примеру, каждые 5 минут проверял страницу на наличие записей, сверял последнюю имеющуюся с последней записью в базе, в случае соответствия - снова ждал 5 минут. Или здесь имеются какие-то альтернативные методы проверки?
Понимаю, что именно эти задачи возможно решить, попросту используя уже готовые плагины. Но мне интересна сама логика решения. Если я чего-то недопонимаю или упускаю детали - буду благодарен пояснению.

21 Авг 2019 в 06:29
222 +1
0
Ответы
1

Для автоматического выполнения определенных задач в Wordpress вы можете использовать расписание (Cron Jobs). Wordpress имеет встроенную систему расписания, которая позволяет запускать определенные функции или задачи с заданной периодичностью.

Чтобы запланировать выполнение определенной функции или задачи через определенный промежуток времени, вам необходимо создать крон-задачу. Для этого вам нужно добавить код в functions.php вашей темы или создать плагин.

Пример для вашего первого задания ("Отправить письмо-напоминание пользователю через 15 минут после оформления заказа, если он не оплатил товар"):

add_action('init', 'schedule_reminder_email');
function schedule_reminder_email() {
if (!wp_next_scheduled('send_reminder_email')) {
wp_schedule_single_event( time() + 900, 'send_reminder_email'); // 900 секунд = 15 минут
}
}
add_action('send_reminder_email', 'send_reminder_email_function');
function send_reminder_email_function() {
// Ваш код для отправки напоминания пользователю
}

Этот код добавляет крон-задачу, которая будет отправлять письмо-напоминание пользователю через 15 минут после оформления заказа.

Для вашего второго задания (автоматический парсер), вы также можете использовать крон-задачи для периодического выполнения парсинга страниц и обновления базы данных. Например, вы можете создать крон-задачу, которая будет проверять новости каждые 5 минут:

add_action('init', 'schedule_news_parser');
function schedule_news_parser() {
if (!wp_next_scheduled('parse_news')) {
wp_schedule_event(time(), '5minutes', 'parse_news'); // каждые 5 минут
}
}
add_action('parse_news', 'parse_news_function');
function parse_news_function() {
// Ваш код для парсинга новостей и обновления базы данных
}

Вы можете использовать кастомные интервалы вместо стандартных (например, '5minutes') или использовать плагин для удобного управления расписанием.

Надеюсь, это поможет вам понять, как автоматизировать выполнение определенных задач в Wordpress. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.

20 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 91 010 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир