{"id":17505196,"url":"https://github.com/thefrosty/wp-upgrade-task-runner","last_synced_at":"2025-04-23T08:46:36.717Z","repository":{"id":34149214,"uuid":"170381864","full_name":"thefrosty/wp-upgrade-task-runner","owner":"thefrosty","description":"Register custom migration tasks that can be scheduled from the plugin settings dashboard in the admin and run as a cron job.","archived":false,"fork":false,"pushed_at":"2024-11-24T15:24:12.000Z","size":215,"stargazers_count":4,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-04-15T01:18:52.297Z","etag":null,"topics":["ajax","migration-tool","php","php80","wordpress","wordpress-plugin"],"latest_commit_sha":null,"homepage":"https://austin.passy.co/2019/introducing-wordpress-upgrade-task-runner-v2/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thefrosty.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-12T19:55:54.000Z","updated_at":"2024-11-24T15:24:15.000Z","dependencies_parsed_at":"2024-01-30T23:39:15.827Z","dependency_job_id":"b46f349a-ca8e-4db3-93b5-985204aced1e","html_url":"https://github.com/thefrosty/wp-upgrade-task-runner","commit_stats":{"total_commits":147,"total_committers":3,"mean_commits":49.0,"dds":0.03401360544217691,"last_synced_commit":"72c2ea68cc574574f5b19a92bee8ef5f1cb3876a"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thefrosty%2Fwp-upgrade-task-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thefrosty%2Fwp-upgrade-task-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thefrosty%2Fwp-upgrade-task-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thefrosty%2Fwp-upgrade-task-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thefrosty","download_url":"https://codeload.github.com/thefrosty/wp-upgrade-task-runner/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250401835,"owners_count":21424587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ajax","migration-tool","php","php80","wordpress","wordpress-plugin"],"created_at":"2024-10-20T02:34:31.612Z","updated_at":"2025-04-23T08:46:36.694Z","avatar_url":"https://github.com/thefrosty.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WordPress Upgrade Task Runner\n\n![WP Upgrade Task Runner](.github/wp-upgrade-task-runner.jpg?raw=true \"Upgrade Task Runner\")\n\n[![PHP from Packagist](https://img.shields.io/packagist/php-v/thefrosty/wp-upgrade-task-runner.svg)]()\n[![Latest Stable Version](https://img.shields.io/packagist/v/thefrosty/wp-upgrade-task-runner.svg)](https://packagist.org/packages/thefrosty/wp-upgrade-task-runner)\n[![Total Downloads](https://img.shields.io/packagist/dt/thefrosty/wp-upgrade-task-runner.svg)](https://packagist.org/packages/thefrosty/wp-upgrade-task-runner)\n[![License](https://img.shields.io/packagist/l/thefrosty/wp-upgrade-task-runner.svg)](https://packagist.org/packages/thefrosty/wp-upgrade-task-runner)\n![Build Status](https://github.com/thefrosty/wp-upgrade-task-runner/actions/workflows/main.yml/badge.svg)\n[![codecov](https://codecov.io/gh/thefrosty/wp-upgrade-task-runner/branch/develop/graph/badge.svg)](https://codecov.io/gh/thefrosty/wp-upgrade-task-runner)\n\nRegister custom migration tasks that can be triggered from a dashboard in the admin and run via AJAX.\n\n### Requirements\n\n```\nPHP \u003e= 8.1\nWordPress \u003e= 6.2\n```\n\nThe required WordPress version will always be the most recent point release of\nthe previous major release branch.\n\nFor both PHP and WordPress requirements, although this library may work with a\nversion below the required versions, they will not be supported and any\ncompatibility is entirely coincidental.\n\n### Installation\n\nTo install this library, use Composer:\n\n```\ncomposer require thefrosty/wp-upgrade-task-runner:^2\n```\n\n## Getting Started\n\nIf a new task is needed, there are only two required steps that are needed.\n\n1. A class needs to be created and this class needs to extend the `AbstractTaskRunner`\nclass. See the `ExampleMigrationTask` example class.\n2. Register the new task class via the `TaskLoader::REGISTER_TASKS_TAG` filter:\n```php\nuse TheFrosty\\WpUpgradeTaskRunner\\Tasks\\TaskLoader;\n\n\\add_filter(TaskLoader::REGISTER_TASKS_TAG, static function(array $tasks): array {\n    $tasks[] = new \\Project\\SomeCustomTask();\n    return $tasks;\n});\n```\n\n### The task class\n\nWhen a class is added, it needs to have a few pre-defined class values. Both the DATE and TITLE constant are required\nto be unique. These are what registers a one off cron task when manually _running_ the task from the admin page.\n\n### The `TaskLoader`\n\nAdd the new class as a property in the `TaskLoader` class and instantiate it in the `register_tasks` method (just like\nthe `ExampleMigrationTask`).\n\n### CLI\n\nRun all registered tasks (not already run) via wp-cli: `$ wp upgrade-task-runner`.\n\n#### CLI OPTIONS\n     [--task=\u003cclass\u003e] : The fully qualified registered task to run.\n     [--user=\u003cid\u003e] : The user ID to associate with running said task(s).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthefrosty%2Fwp-upgrade-task-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthefrosty%2Fwp-upgrade-task-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthefrosty%2Fwp-upgrade-task-runner/lists"}