Register custom migration tasks that can be triggered from a dashboard in the admin and run via AJAX.
PHP >= 8.1
WordPress >= 6.2
The required WordPress version will always be the most recent point release of the previous major release branch.
For both PHP and WordPress requirements, although this library may work with a version below the required versions, they will not be supported and any compatibility is entirely coincidental.
To install this library, use Composer:
composer require thefrosty/wp-upgrade-task-runner:^2
If a new task is needed, there are only two required steps that are needed.
- A class needs to be created and this class needs to extend the
AbstractTaskRunner
class. See theExampleMigrationTask
example class. - Register the new task class via the
TaskLoader::REGISTER_TASKS_TAG
filter:
use TheFrosty\WpUpgradeTaskRunner\Tasks\TaskLoader;
\add_filter(TaskLoader::REGISTER_TASKS_TAG, static function(array $tasks): array {
$tasks[] = new \Project\SomeCustomTask();
return $tasks;
});
When a class is added, it needs to have a few pre-defined class values. Both the DATE and TITLE constant are required to be unique. These are what registers a one off cron task when manually running the task from the admin page.
Add the new class as a property in the TaskLoader
class and instantiate it in the register_tasks
method (just like
the ExampleMigrationTask
).
Run all registered tasks (not already run) via wp-cli: $ wp upgrade-task-runner
.
[--task=<class>] : The fully qualified registered task to run.
[--user=<id>] : The user ID to associate with running said task(s).