WordPress 多站点的基础知识
已发表: 2016-03-16WordPress Multisite 正是它听起来的样子:它是一种让多个站点共享一个 WordPress 安装的方式。 此安装仅在您的服务器上运行一次,但您可以使用它运行任意数量的站点。
它并不像听起来那么吓人。 多站点与标准的单一安装具有相同的结构、核心文件和代码文件,所以实际上并没有太大的不同。
更新是相同的,并且在所有共享它的站点中都是全局的。 因为一切都是共享的,所以主题和插件只存储一次,无论有多少网站使用它们。 为什么这很重要? 好吧,如果您托管了许多内容几乎相同的网站,那么使用 WordPress Multisite 将使用更少的服务器空间。 此外,它更易于维护,因为任何更新都只会发生一次; 无需浏览每个站点并更新主题和插件。
与标准 WordPress 安装的区别
界面
在多站点环境中,情况看起来有些不同。 当您激活它时,您会看到一些额外的屏幕添加到您的管理屏幕中,其中包含用于管理网络的选项。 这是用于管理网络的特殊仪表板:

不同的数据库表
单次安装和多站点之间的表有点不同,但是这些表名应该从典型的单次安装中响起:
- wp_posts
- wp_postmeta
- wp_comments
- wp_commentmeta
- wp_terms
- wp_term_taxonomy
- wp_term_relationships
- wp_users
- wp_usermeta
- wp_options
- wp_links
注意:我指的是使用默认前缀wp_的表前缀,但出于安全原因,通常会更改此前缀,因此您的前缀可能看起来不同。
WordPress 多站点安装中的数据库组织
转换为多站点时,您正在创建单个子站点的“网络”。 第一个子站点是开始转换为 Multisite 的站点。 当您考虑整体网络时,这就是数据库所看到的整体结构。 它将这个网络分类为一个站点,该站点被标记为wp_site ,然后每个子站点被分类为一个博客wp_blogs 。
在数据库中,这些单独的子站点具有表,每个表具有相同的命名约定。 每次创建新的子站点并将其添加到网络时,都会创建一组新的表。
看起来很复杂,很难想象所有这些在数据库中是如何组织的。 幸运的是,有一个命名约定有助于保持直截了当。 每组表由表前缀中使用的子站点的blog_id区分,例如wp2_posts 。
下表是特定于子站点的:
- wp(xx)_posts
- wp(xx)_postmeta
- wp(xx)_comments
- wp(xx)_commentmeta
- wp(xx)_terms
- wp(xx)_term_taxonomy
- wp(xx)_term_relationships
- wp(xx)_options
- wp(xx)_links

您可能会注意到这里缺少一些。 wp_users和wp_usermeta表呢? 它们不在单个站点列表中,因为它们现在在网络中的所有子站点中都是全局的。 安装更大的网络后, wp_users表中会添加几个额外的列。
多站点环境中还包含更多内容。 这些是为了管理网络:
- wp_site
- wp_sitemeta
- wp_blogs
- wp_blog_versions
- wp_signups
- wp_registration_log
这是对不同数据库表的一个非常基本的解释,但请记住,我们只是触及表面。
文件
当涉及到多站点思维模式的文件时,学习曲线不应该太大。 文件和文件夹只有一些区别,特别是wp-config.php文件和wp-uploads文件夹。

wp-config.php将有额外的行来实际激活 Multisite 并告诉 WordPress 如何运行它的详细信息。 wp-uploads文件夹有一层额外的文件夹。 每个文件夹将包含每个站点的子文件夹,该子文件夹与站点的数字 ID 和名称相协调。
无需手动移动文件; WordPress 会为您解决这个问题。
“超级管理员”
我们都习惯于管理员使用我们的 WordPress 网站; 你很可能是其中之一。 有了 Multisite,如果您是“超级管理员”,您就真的很出色。 这一特殊角色适用于管理网络的选定人员。 它允许您安装主题、插件和创建/管理站点。

站点管理员
这对你来说很熟悉; 每个站点管理员可以访问的管理屏幕类似于标准的 WordPress 站点。 在 Multisite 中,站点管理员无法完成几件事:安装主题或插件。 激活插件也受到限制; 站点管理员只能激活已安装在网络上的那些。
何时使用多站点
在某些情况下,Multisite 肯定会派上用场。 一些浮现在脑海中的可能是企业的站点/博客网络、具有多个站点的客户以及想要添加自己的站点的用户的网络。 请记住,这些是“超级管理员”的职责,他们负责维护该网络。
作为设计师,如果您有多个站点,您可能会发现它的用途。 您可以使用 Multisite 创建一个网络来托管您的所有网站,例如个人投资组合,然后为您的企业提供一个。
了解站点和网络的目标将帮助您构建最佳解决方案。 多站点并不适用于所有场景。 如果您只想要一个站点或博客,那么 Multisite 没有什么意义。 就像您正在为多个客户端创建站点并且每个客户端都单独托管一样,这不是理想的工具。 牢记“网络”理念,这将帮助您确定最佳解决方案。
请记住,数据库是使用 Multisite 以某种方式组织的。 如果每个站点都需要自己的数据库,您将希望坚持一次安装。 如果每个站点都需要自己的 IP 地址,或者您的托管服务提供商没有适合 Multisite 的托管技术,那么 Multisite 可能不是最佳选择。 如果管理员需要安装主题或插件,请记住这些选项仅限于“超级管理员”并且可能是一个限制。
如何实现多站点
我们已经谈论了很多关于 Multisite 的内容,但我们如何真正“获得”它呢? 有人可能认为这是您安装的插件。 实际上,WordPress 具有多站点功能,您只需进行一些简单的自定义即可实现。
请记住,最好先在测试环境中进行尝试。 此外,在开始之前保留wp-config.php文件的副本也很重要。
第一步:添加到 wp_config.php 文件
查找此注释行:
/* That's all, stop editing! Happy blogging. */
添加这个:
define( 'WP_ALLOW_MULTISITE', true );

完成后,请确保保存文件。 如果您在现有安装上尝试此操作,建议您停用插件。

第二步:激活多站点
我们现在将进入 WordPress 管理员并实际安装 Multisite。
- 转到工具 > 网络设置。 为您的安装选择子域或子目录。
- 选择网络标题和网络管理员的电子邮件地址
- 单击安装按钮。
第三步:设置网络
- 确认您看到一个带有一堆代码的屏幕。 它会在顶部显示“创建 WordPress 站点网络”之类的内容。 这是网络安装屏幕。 需要将代码片段添加到文件中以完成网络设置。
- 打开
wp-config.php文件并将提供的代码添加到其中,然后保存。 - 接下来,打开
.htaccess文件并添加提供的代码,然后保存。

您将看到新的仪表板。

创建您的第一个站点
Multisite 的全部意义在于添加站点。 让我们来看看如何做到这一点。
- 转到管理菜单中的我的站点 > 网络管理
- 接下来选择站点>添加新的
- 输入站点地址、站点标题和站点管理员的电子邮件地址
现在新站点已创建!

只需进行一些小的修改,您就可以将一个站点变成一个多站点。 实施后,它可以帮助您更有效地使用您的站点网络。 然而,了解何时使用 Multisite 并确保它是您网站的正确选择非常重要。 有关更多信息,请查看 Codex 中的 WordPress MU 和多站点网络管理文章。
