Отложенная публикация и wp-cron.php. Wordpress cron


Контроль и управление системой wp cron на сайте wordpress ! — ТОП

Всем привет, подходит к концу 2015 год, но если честно, то меня это сейчас мало волнует, я озабочен лишь одним — чтобы написать ещё полезного на своём сайте. Хоть и в запасе имеется как минимум 2-3 темы, на которые мне нужно, в ближайшее время, написать статьи, но я все равно продолжаю капать. Но а сегодня я решил затронуть тему функции Cron на сайте wordpress. Просто дело в том, что я заметил не здоровую активность направленную на файл wp-cron.php. Решил разобраться, начал искать соответствующие плагины и нашёл отличный плагин — WP Crontrol.

 

24-12-2015 19-29-53_mini_mini

 

С помощью данного плагина вы сможете управлять cron событиями на своём сайте, прямо из админ-панели wordpress. Можно будет удалять cron события, редактировать, менять временной интервал и т.д. Установить данный плагин вы сможете прямо из админ-панели wordpress. Перейдите по вкладке: Плагины — Добавить новый, введите название плагина в форму поиска, нажмите Enter, установите и активируйте плагин.

 

24-12-2015 18-56-01_mini

 

После установки и активации плагина, перейдите по вкладке: Инструменты — Cron Events.

 

24-12-2015 19-48-57_mini

 

На странице плагина, у вас будет отображаться список cron событий, которые вы сможете отредактировать.

 

— Edit, редактировать cron событие.

— Run Now, выполнить cron задание прямо сейчас.

—  Delete, удалить cron событие.

 

24-12-2015 19-51-59

 

Список основных wp cron событий:

 

— wp_maybe_auto_update, авто-обновление wordpress.

— wp_version_check, проверка версии wordpress.

— wp_update_plugins, обновление плагинов.

— wp_update_themes, обновление тем.

 

Так же у вас могут отображаться другие cron события относящиеся к тем или иным wordpress плагинам. Да же бывает такое, удаляешь плагин, а cron событие удалённого плагина остаётся и продолжает напрягать сайт. Например, если вы пользовались плагинами — Akismet и Woocommerce, а потом удалили их, то cron события этих плагинов останутся. Конечно такие cron события нужно просто удалить и всё.

 

24-12-2015 20-12-48_mini

 

Для снижения нагрузки, можно так же установить максимальный временной период для выполнения cron событий. Нажмите на вкладку: Edit, в поле Event schedule укажите максимальное значение, нажмите на кнопку — Modify Cron Event.

 

24-12-2015 20-13-22_mini

 

На этом у меня всё, жду ваших комментариев. До новых встреч !

 

info-effect.ru

info-effect.ru

Проблема с неработающей отложенной публикацией записей.

Больше не работает!

Собираясь уехать на недельку отдохнуть, я решил опробовать такую функцию WordPress, как отложенная публикация записи. Написал несколько статей, распределил даты публикации на неделю вперед и попробовал испытать эту возможность блога на одной из статей. Однако WordPress отказался публиковать статью в назначенное время, а счетчик минут, оставшихся до публикации стал почему-то увеличиваться. Воспользовавшись поиском, я узнал, что такая проблема возникает у многих блогеров, а путей ее решения никто не знает. После долгих изысканий на англоязычных форумах я узнал почему WordPress не хочет публиковать статьи в заданное время и нашел способ как это исправить.

Любые действия, которые регулярно повторяются WordPress выполняет через использование псевдо-крона в wp-cron.php, однако существует вероятность того, что у вашего хостера неправильно настроен сервер для работы этого файла. В частности, в настройках сервера должно быть прописано разрешение для функции fsockopen использовать локальные адреса. Если же на локальные адреса прописан запрет скрипт в файле wp-cron.php выполняться не будет. Можно, конечно, попросить хостера изменить настройки сервера, но большинство хостеров вам в этом откажет. Поэтому используем обходной путь. Открываем на редактирование файл wp-cron.php и комментируем (добавляя в начало символ #) строчки:

23 24 if ( $_GET['check'] != wp_hash('187425') ) exit;

if ( $_GET['check'] != wp_hash('187425') ) exit;

Теперь, если вы откроете ссылку вида http://www.myblog.ru/wp-cron.php скрипт в этом файле выполнится и все ваши просроченные публикации немедленно будут опубликованы. Конечно, ручное дергание файла wp-cron.php нам ни в коем случае не подходит, а поэтому настраиваем выполнение данного скрипта через демон cron. Его настройка осуществляется разными путями у различных хостеров, читайте документацию по хостингу. В моем случае мне помогла такая команда:

0 * * * * /usr/local/bin/php5 -q http://www.wordpressplugins.ru/wp-cron.php

0 * * * * /usr/local/bin/php5 -q http://www.wordpressplugins.ru/wp-cron.php

То есть cron будет выполнять скрипт в wp-cron.php каждый час. Точное время публикации записи соблюдено не будет, но опоздание с публикацией в течение часа по сути не так уж и страшно, главное, что сама отложенная публикация будет работать. Попутно решилась проблема с плагином WordPress Database Backup, который именно по этой причине не хотел отправлять мне бекапы на имейл раз в неделю.

Что делать, если ваш хостинг не предоставляет возможности использовать демон cron? Есть такой сервис как WebCron.org - это именно то, что вам нужно. Он сможет регулярно выполнять ваш скрипт в .php файле, просто скормите ему ссылку файла скрипта и укажите, как часто его выполнять.

PS. Данная статья запланирована на публикацию в 3:50 ночи 3 августа, следовательно опубликована она будет в 4 часа утра 3 августа.

Внимание! Информация, изложенная в данной статье больше не актуальна!

www.wordpressplugins.ru

WordPress Cron менеджер. Часть 1

Если перед вами стоит необходимость периодически выполнять на блоге какую либо задачу, то этот WordPress плагин Crony Cronjob Manager поможет в создании и управлении расписаниями заданий. Все что вам нужно это установить и активировать плагин, задать расписание интервалов запуска определенных заданий (функций, скриптов) и они будут выполняться без вашего вмешательства. И хотя сейчас доступна бета-версия, но она вполне работоспособна. Но нужно учитывать, что выполнение заданий происходит не от системного таймера и в этом случае нельзя сравнивать cron WordPress с планировщиком задач cron в UNIX системах. И если вам нужно выполнение задачи в строгих промежутках времени, то придется применять другой способ.

Активация плагина произойдет тогда, когда на блог зайдет посетитель, будет сформирован HTML код и отправлен браузеру клиента, в этот момент плагин Crony Cronjob Manager проверит, наступило ли время срабатывания и запустит задачу на выполнение. Поэтому при использовании cron в WordPress с короткими промежутками времени и низкой посещаемостью фактические промежутки времени между выполнениями задачи трудно заранее определить.

После установки и активации плагина слева в меню появится иконка будильника с надписью Cronjobs. После клика по ней попадаем на страницу с единственной кнопкой – Add New Cronjob. Кликаем по ней для того, чтобы создать первое задание и попадаем в окно установки параметров:

Рассмотрим параметры по порядку:

После заполнения полей, вам остается только нажать Add Cronjob и через указанное время проверить в почте отчет о выполнении. Конечно, если вам нужно выполнение задания раз в сутки, не стоит так долго ждать и для начала поставить «раз в полчаса (twice hourly)», проверить выполнение, а затем установить другой промежуток времени.

wordpresse.ru


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта