thefrosty / wp-upgrade-task-runner
一个用于开发者编写自定义迁移任务的WordPress插件。
2.8.0
2024-03-22 18:17 UTC
Requires
- php: ^8.1
- pimple/pimple: ^3.5
- symfony/http-foundation: ~6.0 || ^7.0
- thefrosty/wp-utilities: ^3.3
Requires (Dev)
- ext-simplexml: *
- dealerdirect/phpcodesniffer-composer-installer: ^1.0.0
- phpcompatibility/php-compatibility: ^9.3
- phpunit/phpunit: ^9
- roots/wordpress: ~6.1
- slevomat/coding-standard: ^8.8
- squizlabs/php_codesniffer: ^3.7
- wp-cli/wp-cli-bundle: ^2.4
- wp-coding-standards/wpcs: dev-develop
- wp-phpunit/wp-phpunit: ~6.1
- yoast/phpunit-polyfills: ^2.0.0
README
注册自定义迁移任务,可以从管理仪表板触发并使用AJAX运行。
要求
PHP >= 8.1
WordPress >= 6.2
所需的WordPress版本将始终是上一个主要版本分支的最新点发布。
对于PHP和WordPress的要求,虽然这个库可能可以在低于所需版本的版本上运行,但它们将不受支持,任何兼容性都是偶然的。
安装
要安装此库,请使用Composer
composer require thefrosty/wp-upgrade-task-runner:^2
入门指南
如果需要新的任务,只需两个必要的步骤。
- 需要创建一个类,并让这个类继承自
AbstractTaskRunner
类。请参阅ExampleMigrationTask
示例类。 - 通过
TaskLoader::REGISTER_TASKS_TAG
过滤器注册新的任务类
use TheFrosty\WpUpgradeTaskRunner\Tasks\TaskLoader; \add_filter(TaskLoader::REGISTER_TASKS_TAG, static function(array $tasks): array { $tasks[] = new \Project\SomeCustomTask(); return $tasks; });
任务类
当添加一个类时,它需要一些预定义的类值。DATE和TITLE常量都是必需的,以实现唯一性。这些是在从管理页面手动运行任务时注册一次性cron任务所需的。
TaskLoader
在TaskLoader
类中添加新类作为属性,并在register_tasks
方法中实例化它(就像ExampleMigrationTask
一样)。
CLI
通过wp-cli运行所有已注册的任务(尚未运行):$ wp upgrade-task-runner
。
CLI选项
[--task=<class>] : The fully qualified registered task to run.
[--user=<id>] : The user ID to associate with running said task(s).