symbiote/silverstripe-wordpressmigrationtools

一个处理各种操作的Wordpress导入器。

2.0.0 2018-09-07 05:29 UTC

This package is auto-updated.

Last update: 2024-09-13 14:59:02 UTC


README

一个处理各种操作的Wordpress导入器

  • 导入页面(WordpressImportService::importPages)
  • 更新导入的页面以具有相同的Wordpress页面层次结构(WordpressImportService::updatePagesBasedOnHierarchy)
  • 修复$Content或Elemental的ElementContent $HTML,使其指向本地URL或短代码(WordpressImportService::fixPostContentURLs)
  • 更新主页以匹配Wordpress主页(WordpressImportService::setHomepageToWordpressPageAndDeleteCurrentHomePage)
  • 更新导入的页面以匹配提供的Wordpress菜单层次结构(WordpressImportService::updatePagesBasedOnNavMenu)
  • 将Gravity Forms数据导入为UserDefinedForm页面(WordpressImportService::importGravityForms)

快速开始

  • 在YML中配置WordpressImportBasicTask项
---
Name: wordpress_import
After:
  - 'framework/*'
  - 'cms/*'
---
WordpressImportBasicTask:
  default_db:
    database: 'my-wordpress-db'
    username: 'root'
    password: ''
    table_prefix: 'wp'
  navigation_slug: 'top-navigation'
  • 从/dev/tasks运行"Wordpress Basic Import Task"

修改/扩展导入器

这个Wordpress导入器设计用来让你能够选择你想要使用的功能,然后轻松地添加你自己的逻辑。最简单的方法是创建一个扩展'WordpressImportBasicTask'的任务,并覆盖'runCustom'函数。从这里,你可以选择调用'parent::runCustom()',或者复制粘贴独立的导入函数调用,并注释掉不需要的部分。

<?php
class WordpressTask extends WordpressImportBasicTask {
	public function runCustom($request) {
		/**
		 * Uncomment this or copy-paste the various functions called in the 
		 * parent into this and comment out what you don't need.
		 */
		//parent::runCustom($request);

		try {
			// Overriden to just import a flat list of pages
			$this->wordpressImportService->importPages();
			// ... and fix the content href's/src's
			$this->wordpressImportService->fixPostContentURLs();
		} catch (Exception $e) {
			throw $e;
		}
	}