Scheduled actions wordpress что это
Scheduled Content Actions — запланированные действия для постов
В системе WordPress есть возможность создавать запланированные публикации постов где вы определяете точное время появление статьи на сайте. К сожалению, обратной функциональности (скрытия заметки) здесь не предусмотрели, хотя иногда такая задача может возникнуть. У меня, например, есть сайт для заработка на поздравлениях с Grattis, и там перед тем или иным праздником на главной размещаются соответствующие записи. Это легко реализуется с помощью sticky post (прикрепляемых постов), но вот убирать данные заметки приходится вручную. Пару раз я забывал это сделать, и поздравления висели в топе до следующего праздника, что не совсем хорошо. Поэтому сегодня расскажу о плагине Scheduled Content Actions, который поможет автоматизировать весть процесс.
Если говорить о прикрепляемых постах, то когда-то уже рассматривал модуль Expire Sticky Posts для автоматического их скрытия в нужное время. Однако функциональность Scheduled Content Actions значительно шире. Данный плагин позволяет применять разного рода действия к записям блога. Причем поддерживаются не только пользовательские типы записей но и продукты магазинов woocommerce/jjigo!
Вы можете выбрать следующие действия:
Работать с плагином Scheduled Content Actions достаточно просто. Установить можете скачав здесь или из админки WordPress. На данный момент имеется версия 1.1 для WP от 3.8 и до 4.0.1. Загрузок пока что не особо много, но решение действительно интересное.
После установки на странице создания/редактирования поста или других записей блога найдете отдельный блок «Scheduled Post Actions».
Здесь справа выбираете конкретное действие, указываете время и кликаете «Сохранить». Слева будет отображаться список запланированных событий.
Таким образом, вы можете не только автоматически вовремя убрать sticky post с главной странице, но и туда его добавить. Допустим, вам требуется запустить акцию в блоге/магазине, которая стартует 1-го числа месяца и закончится 15-го. Изначально с помощью модуля Scheduled Content Actions все это создаете, определяете действия и не нужно будет ни о чем больше заботиться. Это достаточно удобно. Список действий позволяет решать разные задачи. Поддержка магазинов woocommerce — тоже плюс.
wp_schedule_event() — при помощи WP_Cron создаём задачу, выполняющуюся регулярно через заданные промежутки времени
Цель этой статьи — показать на простых примерах и целиком разобраться в том, как в WordPress запланировать задачу (функцию), которая будет выполняться регулярно через заданный вами промежуток времени.
Прежде, чем перейти к примерам, взглянем на саму функцию.
Примеры
1. Каждый час отправляем email.
Не спрашивайте зачем, основная цель — показать, как всё это работает, а там вы уже и сами свои функции подставить сможете. Письма мы будем отправлять через стандартную WP функцию wp_mail().
У этого примера есть и альтернативный вариант — вариант, который позволят на каждый email (тему/сообщение) запланировать уникальную задачу.
2. Регистрируем собственный интервал времени и отправляем себе письмо каждые два часа.
Единственное, что вам понадобится для создания собственного интервала, это вспомнить таблицу умножения, а именно то, что в минуте 60 секунд, в часе 3600, в дне 86400, в неделе 604800, в месяце… пожалуй стоит притормозить.
3. Как просмотреть, какие задачи запланированы и как отменить их выполнение?
На этом я тоже уже подробно останавливался в предыдущей статье, про просмотр задач тут, а про снятие их с регистрации тут.
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!
WordPress.org
Support » Plugin: WooCommerce » Scheduled Actions
Scheduled Actions
Hi there,
Can you guys please STOP doing this?
Let me elaborate:
Here I am entangled with a Cron Job problem that my plugin is having, going forth and back scratching my head trying to find out why my plugin’s WP Cron does not fire.
And then I stumble upon this item here: Tools > Scheduled Actions.
And my first impression is like: “Cool, finally new version of WordPress developed a UI for Cron Jobs! So this is a proof my Cron Job registration doesn’t work since its empty.” Making me rewrite almost 50% of the code which took me about 16 hours of focused work.
Finally, lost to the fight, given up on any hope, a thought saves me: “Wait a minute, Scheduled Actions? Where the heck this one came from again?” which made me searching plugins for about 2 hours straight to finally finding out that this menu is created by glorious awesome plugin “WOOCOMMERCE”!
THIS MENU DOES NOT HAVE ANY DESCRIPTION OR ANY PIECE OF INFORMATION ABOUT WHAT IT DOES AND WHAT IT REPRESENTS OR WHAT PLUGIN CREATED IT. WHAT ARE WE? WIZARDS?
This is a very bad practice throwing orphan menu with no description what so ever to the user’s face. WHY??
Now, after 3 days of hard work, I’m back to my first place with nothing to show for it except a proof that even WooCommerce devs make a doodoo.
(In the slightest chance ever, if this menu is not created by WooCommerce, excuse my ranting and just delete this post.)
Anyhow, would u please don’t do this?
Add one line of description to this menu.
action-scheduler
Usage
Using Action Scheduler requires:
Installation
There are two ways to install Action Scheduler:
Usage as a Plugin
Action Scheduler includes the necessary file headers to be used as a standard WordPress plugin.
To install it as a plugin:
Or clone the Git repository into your site’s wp-content/plugins folder.
Using Action Scheduler as a plugin can be handy for developing against newer versions, rather than having to update the subtree in your codebase. When installed as a plugin, Action Scheduler does not provide any user interfaces for scheduling actions. The only way to interact with Action Scheduler is via code.
Usage as a Library
To use Action Scheduler as a library:
Using a subtree in your plugin, theme or site’s Git repository to include Action Scheduler is the recommended method. Composer can also be used.
To include Action Scheduler as a git subtree:
Step 1. Add the Repository as a Remote
Step 2. Add the Repo as a Subtree
Step 3. Update the Subtree
To update Action Scheduler to a new version, use the commands:
Loading Action Scheduler
Regardless of how it is installed, to load Action Scheduler, you only need to include the action-scheduler.php file, e.g.
There is no need to call any functions or do else to initialize Action Scheduler.
When the action-scheduler.php file is included, Action Scheduler will register the version in that file and then load the most recent version of itself on the site. It will also load the most recent version of all API functions.
Load Order
Usage in Themes
When using Action Scheduler in themes, it’s important to note that if Action Scheduler has been registered by a plugin, then the latest version registered by a plugin will be used, rather than the version included in the theme. This is because of the version dependency handling code using ‘plugins_loaded’ since version 1.0.
Scheduling an Action
To schedule an action, call the API function for the desired schedule type passing in the required parameters.
The example code below shows everything needed to schedule a function to run at midnight, if it’s not already scheduled:
Note that the as_has_scheduled_action() function was added in 3.3.0: if you are using an earlier version, you should use as_next_scheduled_action() instead. For more details on all available API functions, and the data they accept, refer to the API Reference.
WordPress.org
Русский
Action Scheduler
Описание
Action Scheduler is a scalable, traceable job queue for background processing large sets of actions in WordPress. It’s specially designed to be distributed in WordPress plugins.
Action Scheduler works by triggering an action hook to run at some time in the future. Each hook can be scheduled with unique data, to allow callbacks to perform operations on that data. The hook can also be scheduled to run on one or more occassions.
Think of it like an extension to do_action() which adds the ability to delay and repeat a hook.
Battle-Tested Background Processing
Every month, Action Scheduler processes millions of payments for Subscriptions, webhooks for WooCommerce, as well as emails and other events for a range of other plugins.
It’s been seen on live sites processing queues in excess of 50,000 jobs and doing resource intensive operations, like processing payments and creating orders, at a sustained rate of over 10,000 / hour without negatively impacting normal site operations.
This is all on infrastructure and WordPress sites outside the control of the plugin author.
If your plugin needs background processing, especially of large sets of tasks, Action Scheduler can help.
Learn More
To learn more about how to Action Scheduler works, and how to use it in your plugin, check out the docs on ActionScheduler.org.
There you will find:
Credits
Action Scheduler is developed and maintained by Automattic with significant early development completed by Flightless.
Collaboration is cool. We’d love to work with you to improve Action Scheduler. Pull Requests welcome.