有时,站点已在 WordPress 多站点网络中创建,但需要移至其自己的单站点安装。有几种情况可能会发生这种情况,包括:
在某些情况下,您可能会发现可以使用插件或插件组合将站点移出多站点,但如果这不起作用,您将需要移动相关的数据库表。以这种方式将站点移出多站点网络是一个棘手的过程,因为它涉及隔离多站点数据库中与该特定站点相关的数据库表。但这并非不可能。
要学习本教程,您需要:
注意:您无法将主站点移出多站点网络,因为如果没有它,网络将无法工作。如果您确实需要将主网站的内容移动到其他地方,我建议您创建一个副本,然后用虚拟网站替换原始网站的内容。不过,您将无法移动该域名,因为您网络中的所有其他网站也在使用该域名。
如果您的网站没有通过插件、主题或网站设置屏幕进行大量配置,您可以使用 WordPress 导入器插件成功移动它。如果网站有小部件,您可以使用小部件设置导入器/导出器插件复制它们的设置。
但是,如果您使用设置或选项屏幕或主题定制器添加了大量定制配置,则这些配置都不会被复制。在这种情况下,您需要手动移动。
有关如何使用这些插件移动站点的完整详细信息,请参阅我之前关于使用插件移动 WordPress 站点的教程。该过程与将站点从多站点网络移动到其自己的 WordPress 安装完全相同。
您要从多站点移出的站点将包含您需要从多站点网络复制的三个组件:
wp-content/uploads/sites
的网站子目录中找到这些内容
注意:如果您的多站点网络是在 WordPress 3.5 之前创建的,则您不会有 sites
文件夹。相反,您将在 wp-content
中拥有一个 blogs.dir
文件夹,其中包含子网站的所有上传文件。这将为您要迁移的网站提供一个编号文件夹,您可以复制该文件夹。我将在下面更详细地介绍这一点。
开始之前,请考虑一下您要迁移网站的原因。难道纯粹是为了换个新域名吗?如果是这种情况,那么免费的域映射插件将允许您为各个站点提供自己的域,并且访问者将永远不会看到您的多站点网络的域。
但如果这不是唯一的原因,请继续阅读!
在执行此类操作之前,最好备份您的多站点安装。使用您喜欢的备份插件,或者如果您喜欢手动工作,则使用 FTP 和 phpMyAdmin 的组合。
您将使用此备份将相关文件复制到您的新网站,并且在遇到任何问题时也能让您高枕无忧。
多站点网络中的每个站点都有自己唯一的数字 ID。这用于标识 wp-content/uploads/sites
目录中的文件夹(或者 wp-content/blogs.dir
目录中的文件夹(或者 wp-content/blogs.dir
如果您的多站点网络较旧,请参见上文) ,并识别该站点的数据库表。
转至网络管理 > 网站,然后选择您正在使用的网站的编辑选项即可找到此内容。 WordPress 引导您访问的 URL 将为您提供网站的 ID。 URL 的格式应为 http://mynetwork.com/wp-admin/network/site-info.php?id=XX
。
XX
是您站点的 ID,并且将是包含其文件的文件夹的名称,以及其数据库表名称的前缀。
p>
由于您仅移动一个子站点而不是整个安装,因此您不需要整个数据库的内容。
在PhpMyAdmin中,单击导出选项卡。然后找到与您要导出的站点相关的表。它们将以 wp_XX_
开头,其中 XX
是您网站的 ID。下面显示了一个示例。
选择与您的子网站相关的所有表格,然后导出它们。
注意:WordPress Multisite 将与网络用户相关的所有数据存储在 wp_users
和 wp_usermeta
表中:它不会为每个站点创建单独的数据。如果您的网站上有很多用户想要从网络复制,那么您可能还需要导出这些表,将它们导入到新网站并在管理屏幕中编辑用户以删除任何不存在的用户。与新网站相关。但是,如果您的网站只有一两个用户,则在新网站上重新创建用户会更容易。有关多站点和数据库表的详细信息,请参阅有关 WordPress 数据库和多站点的教程。
复制已下载到您计算机上的 sql
文件,并为其指定一个名称(例如,将 copy
添加到其名称中) )。在代码编辑器中打开它。
将多站点网络中站点域的所有实例更改为其新的单站点域。例如,如果您的网站位于 http://network.com/mysite
,请将其更改为 http://mysite.com
。如果您的网络使用子域,则需要更改 http://mysite.network.com
的所有实例。如果您这样做,我建议您还运行检查子目录版本以防万一。保存您的文件。
注意:如果您的网站映射了一个域,但该域不是您要将其移动到的域,则您也需要将其替换为新域。这里要非常小心,并保留备份!
新的单站点安装中的数据库表不会有站点 ID 的前缀,因此您需要删除它们。在 sql
文件中,将 wp_XX_
的所有实例替换为 wp_
,其中 XX
是您的站点 ID。 p>
现在保存 sql
文件。
在 phpMyAdmin 中,在新站点的位置创建一个新数据库,并以正常方式安装 WordPress。
识别子网站使用的插件,然后通过插件屏幕将它们安装到您的新 WordPress 网站中,或者从您对旧网站的备份上传它们。
对您网站使用的任何主题执行相同的操作 - 将它们从备份复制到新的独立 WordPress 安装的 wp-content/themes
目录,或者只是重新安装它们。
将上传内容从旧网站复制到新网站:
wp-content/uploads
中包含一个 sites
文件夹。找到包含您网站 ID 的子文件夹,并将其内容上传到新网站中的 wp-content/uploads
文件夹。blogs.dir
文件夹,该文件夹还将包含一个包含您网站 ID 的文件夹。然后会有一个名为 files
的子文件夹。将 files
文件夹的内容复制到新网站中的 wp-content/uploads
文件夹。注意:您可能需要删除 WordPress 在新的 uploads
文件夹中创建的所有文件夹,以避免任何冲突。
完成所有这些后,激活所有主题和插件。
现在您已经安装了主题和插件,您需要导入数据库表。
在从旧网站上传表格之前,您需要删除 WordPress 添加到新网站的重复表格。
在 phpMyAdmin 中,从数据库中删除以下表:
wp_commentmeta
wp_comments
wp_links
wp_options
wp_postmeta
wp_posts
wp_terms
wp_term_relationships
wp_term_taxonomy
屏幕截图显示了我的数据库,其中仅选择了这些表:
选择它们,单击选择:下拉框,然后选择删除。出现提示时,点击开始。
注意:不要删除<code class="inline"><em>wp_usermeta</em>
或<em>wp_users</em>
wp_usermeta或
<em>wp_users<h4></h4></em>
表,除非您也选择从网络复制这些表(参见上文)。
按钮。
最终步骤
清除浏览器的缓存。这可以避免浏览器缓存了旧网站的内容时可能遇到的任何问题。
现在登录远程站点的 WordPress 管理员。如果您移动了用户表,您的登录详细信息将与旧网站相同,但如果您没有这样做,这些详细信息将是您在新位置安装 WordPress 时指定的内容。
访问
永久链接屏幕并重新打开漂亮的永久链接。
从多站点网络中删除站点
一旦您对一切正常运转感到
完全唷!这是一个漫长且稍微复杂的过程,但您已经完成了。
以上是重新定位 WordPress:从多站点网络传输网站的详细内容。更多信息请关注PHP中文网其他相关文章!