如何把WordPress数据迁移至WordPress MU
前面我们介绍了如果安装WordPress MU,安装完成后我们就需要把每个独立站点的数据转移到MU中,在MU中最原始的站点数据是不需要改动,只需要转移新添加的站点文件和数据,而这个转移的过程并不是很轻松。
Wordpress的数据包括程序文件和数据库,所以转移的过程也分为两部分:
首先,我们来了解一下新创建的站点文件夹和数据表结构,在Wordpress中新建的数据库表前缀是:“wp_”的形式,而MU创建的第二个站点数据库表前缀是:“wp_2_”(2是新站点的ID)的形式;而MU创建新站点时会在主站的uploads文件夹下创建sites文件夹,再根据ID(假如ID为2)会在sites文件夹下再创建数字“2”这个文件夹,这样我们就明白数据该如何转移了。
[related_posts tagid="89"]
一、程序文件的转移
转移的目标:主题和uploads文件夹下的所有文件
1、主题,我们可以在“管理网络”中的“主题”中直接安装,也可以在主机上拷贝到主站的themes文件夹下,然后在管理网络——外观——主题,点击“开放给整个站点网络使用”,这时我们就可以返回到新站点中进行启用该主题。
2、文件,把uploads文件夹下的所有文件都转移到“2”这个文件夹下即可。
二、数据库的转移
也许我们会想到用WP自身的导入与导出工具,把所有文章全部导出,再导入到新的站点,如果文章多,导出的XML文件好几M,导入的时候会耗费太长的时间,那就让人头痛了。所以我们推荐大家把原数据库导出,然后导入到新的站点。
1、导出原博客中的数据
打开 phpMyAdmin,导出原博客中的数据为.sql文件,数据表如下:
- wp_commentmeta
- wp_comments
- wp_links
- wp_options
- wp_postmeta
- wp_posts
- wp_terms
- wp_term_relationships
- wp_term_taxonomy
- wp_usermeta
- wp_users
a、用文本编辑器打开导出的 .sql 文件,使用全局替换功能将其中的”wp_”替换为”wp_2_”(2为新站点的ID,如果ID是3,就写成wp_3_),替换并保存;
b、再将“wp-content/uploads”全局替换为“wp-content/uploads/sites/2”,把媒体文件的路径修改成网络路径。
2、导入修改好的数据库到MU数据库中
现在打开新站点的phpMyAdmin,找到MU数据库,你会发现数据库中有“wp_”和“wp_2_”两个表前缀的数据库,把前缀为“wp_2_”所有的数据删除或重命名,然后导入刚才修改过的 .sql 文件。
3、修正“siteurl”与“home”中的地址(在没有绑定原域名之前)
在MU新创建的站点,域名是newname.Domainname.com这样的二级域名,我们需要把原域名修改成MU中新添加的二级域名,打开wp_options数据表,找到名称为“siteurl”与“home”两个数据,修改其中的值即可。
有些朋友在使用的过程中发现使用原博客中的wp_options数据会出现问题,如果有问题就不导出原博客中的wp_options数据,使用新站点wp_options数据,然后再设置下新站点。
在后面我们会讲到如果绑定域名,如果绑定了原域名而且使用原博客中的wp_options数据,我们就不需要修改这一步了!
4、修正文章作者
因为修改过的数据库表前缀为“wp_2_”,与之前的是不一样,所以我们需要在MU中把新站点中所有的文章作者指定给MU管理员,可以在phpMyAdmin中的SQL中执行以下代码:
- UPDATE wp_2_posts SET post_author = 1
如果新站点的有多个作者,那只有在后台——文章列表中选择同一作者的文章进行批量修改了。
5、修正数据库中的meta_key
我们在前面修改表前缀是全局替换,我们也把一些不需要修改成“wp_2_”这样的数据给修改好,如数据库表 wp_2_postmeta 和 wp_2_usermeta 中的一些meta_key,基本上是以“_wp_”这样的数据表,所以我们需要在替换完成后将其改回原来的值,仍以博客 ID 为2作为例子,在 MU 的数据库中使用下面的 SQL 语句进行修正:
- UPDATE wp_2_postmeta SET meta_key = '_wp_2_attachment_metadata' WHERE meta_key = '_wp_attachment_metadata'
- UPDATE wp_2_usermeta SET meta_key = '_wp_2_attached_file' WHERE meta_key = '_wp_attached_file'
可能不止这两处地方,根据实际情况再修改回来。
到这里文件与数据的转移基本完成,前往“管理网络”后台中将插件与主题启用,新的站点就可以使用了。
[successbox]一个程序包,一个管理面板,一个数据库,轻松快捷地创建N多个站点,使用WordPress MU省去了很多重复的工作,节省了空间,管理方便,实在是大赞,萨龙龙是相当的喜欢,相信有多个站点的你也一定会喜欢。[/successbox]本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wordpress-to-wordpress-mu.html
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!前面写过AMH面板安装配置redis加速WordPress站点一文,来介绍redis的安装与配置,对于WordPress站点的加速效果是相当的明…萨龙龙开发主题这么久,第一次感染恶意代码,整个 WordPress 下的主题 functions.php 都被插入了一大段函数代码,百度一下也发…龙霄主题内置的原生对象存储功能模块,彻底解决了这一痛点。该模块深度集成了阿里云 OSS、腾讯云 COS、七牛云 Kodo 三大主流云存储服务商,…开发一个WP主题有了前端页面设计的美观与布局外,后台选项也是相当重要的一个组成部分,好的后台框架在使用主题时方便快捷的设置各个功能,也让主题开发…自从了解到Wordpress MU多站点,就开始一步一步的向多站点发展,也将萨龙网络所有站点都安装在Wordpress MU多站点中。在使用多站…Buddypress社区中有很多地方会直接显示用户登录名,比如用户个人主题中的名称和链接中,所有来访的用户都知道了管理员的用户名,对于小人知道了…用法
absint( mixed $maybeint )
将值转换为非负整数。
参数
$maybeint
(mixed)(必需)您希望…同样是在开发吃货主题Chihuo,导航菜单中的二级菜单需要显示省份的小地图,也就是分类菜单中显示自定义的字段,我们可通过以下代码来实现这个功能。…在开发基于 WooCommerce 的商城主题时,我们一般会将模板文件添加到主题中来进行修改,对于有钩子或接口的地方,就没有必要再修改模板代码了…WooCommerce 是 WordPress 中最强大的商城插件,没有之一。在 Slearn 主题的开发过程中,需要将课程和商城结合,课程使用…课程插件功能已经能满足绝大多数在线教育培训课程网站的需求,选项功能也众多,「即将推出」功能还在开发中。Wordpress的强大就是什么样的扩展都有,最近浏览用户网站时发现用的“不是我的主题”,查看源代码才发现是使用了网站维护插件maintenan…