moderntribe / square1-blog-copier
square one博客复制器
Requires
- php: >=7.4
- moderntribe/square1-container: ^4.2
- moderntribe/square1-queues: ^4.2
- 4.x-dev
- 4.2.0
- dev-master / 4.1.x-dev
- 4.1.0
- 4.0.16
- 4.0.15
- 4.0.13
- 4.0.12
- 4.0.8
- 4.0.7
- 4.0.5
- 4.0.4
- 4.0.3
- 3.6.0
- 3.5.1
- 3.5.0
- 3.4.18
- 3.4.17
- 3.4.16
- 3.4.15
- 3.4.14
- 3.4.13
- 3.4.12
- 3.4.11
- 3.4.10
- 3.4.9
- 3.4.8
- 3.4.7
- 3.4.6
- v3.4.4
- v3.4.2
- v3.4.1
- v3.4.0
- v3.3.0
- v3.2.0
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.0
- 2.1.2
- v2.1.1
- v2.0.0
- 0.0.2
- 0.0.1
- dev-feature/monorepo
This package is auto-updated.
Last update: 2024-08-25 20:33:47 UTC
README
博客复制器是一个WP多站工具,可以将模板博客复制到新博客。所有内容和设置都将从源博客复制到新博客。
使用方法
通过在核心插件中注册Blog_Copier_Definer
和Blog_Copier_Subscriber
来启用博客复制器。执行此操作的代码行应已存在,并条件性地加载在\Tribe\Project\Core::extend_definers()
和\Tribe\Project\Core::extend_subscribers()
中。
启用后,可以在网络管理中访问博客复制器,在“站点”菜单下。
架构
博客复制器依赖于队列进行处理。启动复制会在队列中添加一个任务以运行复制的第一步。每当一个步骤完成时,它都会将下一个步骤添加到队列中。
复制配置存储在博客1的隐藏帖子内容中,格式为JSON。此JSON是Copy_Configuration
对象的表示。每个任务将传递此对象的帖子ID,它可以引用该ID以获取原始表单提交数据(例如,新博客的域名?)或获取过程中之前步骤构建的状态(例如,新博客的ID?)。
需要运行的复制任务由配置在Blog_Copier_Definer
中的Task_Chain
对象定义。如果您需要向复制添加更多步骤,为该步骤创建一个新的Task
,并设置一个新的定义器以覆盖\Tribe\Libs\Blog_Copier\Blog_Copier_Definer::TASK_CHAIN
的值。
每当任务完成时,它必须触发一个动作来表示其完成,传递任务类的名称和最初传递给Task
's handle()
方法的参数。
do_action( Copy_Manager::TASK_COMPLETE_ACTION, static::class, $args );
如果动作失败且复制无法继续,触发失败动作,将WP_Error对象作为第三个参数传递给动作。
do_action( Copy_Manager::TASK_ERROR_ACTION, static::class, $args, $error );
自动化测试
某些测试需要在多站环境中运行才能成功。要启用这些测试,使用带有标志--env multisite
的集成测试套件运行。