一旦您创建了多站点网络,由于多站点的额外复杂性,您可能需要了解一些关于高级管理的其他内容。即使您熟悉 WordPress,多站点网络管理的结构和行为最初可能看起来令人困惑。

用户访问与权限

用户在公共数据库表中创建,但在获得访问权限之前,必须为其分配站点角色。

在 WordPress 网络中,站点管理员角色的权限也会减少。站点管理员无法安装新主题或插件,也无法编辑其站点上用户的个人资料。只有网络管理员(即超级管理员)才能在 WordPress 网络中执行这些任务。

子目录安装中的固定链接

虽然固定链接将继续工作,但主站点(即第一个创建的站点)将有一个额外的 blog 条目,使您的 URL 看起来像
domain.com/blog/YYYY/MM/POSTNAME。

这是设计使然,以防止与子目录安装发生冲突。目前没有简单的方法可以更改它,因为这样做会阻止 WordPress 自动检测
主站点与任何子站点之间的冲突。

另外请注意,blog 前缀不用于静态页面,这些页面将直接通过基础地址访问,例如 domain.com/PAGENAME。如果您尝试在主站点中创建一个名称与网络上另一个现有站点相同的静态
页面,该页面的固定链接将添加后缀(例如 domain.com/PAGENAME-2)。如果您使用现有静态页面的 slug 创建新站点,该静态页面将不再可访问。为了防止这种情况,您可以将静态页面的名称添加到黑名单中,这样就不能创建具有该名称的站点。

上传文件路径

在新鲜安装中,您的第一个站点会将上传的文件放在传统位置 /wp-content/uploads/,但是您网络上的所有后续站点都将位于
/wp-content/uploads/sites/ 文件夹中,基于由数据库指定的站点编号,在其各自的子目录中。这些文件可通过该 URL 访问。

插件

插件现在具有额外的灵活性,具体取决于它们在网络中的实现方式。插件安装在网络仪表板的插件页面上,并且可以按站点激活或对整个网络激活。通过在插件文件头中包含 Network: true,可以将插件指定为仅限网络使用。

  • 站点激活的插件:当插件在单个站点上激活时,它们仅在这些站点上加载。
  • 网络激活的插件:网络管理员可以在网络管理员仪表板中“网络激活”插件。然后它们将在所有站点中激活,并在单个站点的插件列表中显示为“网络活动”。某些插件仅在 Multisite 环境中以网络激活方式激活时才起作用。
  • Must-Use 插件:供整个网络上所有站点使用的插件也可以作为单文件或包含子目录的文件安装在 mu-plugins 目录中。目录内的任何文件都不会被读取。这些文件不会被激活或停用;如果存在,它们就会被使用。这些插件完全从每个站点的插件列表中隐藏。

存储库中的所有插件并不都能在 Multisite 环境中工作。有关特定插件是否能在 Multisite 网络中运行的信息,请咨询插件的存储库页面或联系开发者。

如果您希望单个站点管理员能够为其站点激活/停用站点特定的插件,您需要从网络管理员的设置 -> 网络设置菜单(“菜单设置”)中为单个站点管理员启用插件页面。网络管理员将始终拥有访问每个站点插件的权限。单个站点的管理员将能够激活和停用未进行网络激活的插件,但将看到网络激活的插件显示为“网络活动”,且没有停用或设置的选项。

有一些插件可以帮助批量激活/停用单个站点的插件。

主题

所有主题都是为整个网络安装的。如果您编辑其中一个主题的代码,那么使用该主题的所有站点都会进行编辑。

在站点编辑器中进行的样式更改仅影响单个站点。对于经典主题,单个站点可以使用自定义器设置附加 CSS 或其他样式更改。
这些设置仅存储在该站点的表中。

“网络激活”主题并不会使其成为每个站点的活动主题,而只是使其可在所有单个站点上激活。要在单个站点的仪表板中可供激活,主题必须是网络激活的或在网络管理员 - 编辑站点 - 主题标签中启用的。在单个站点中激活主题后,可以将其网络停用,而不影响其中保持激活状态的单个站点。

默认情况下,WordPress 将最新的"Twenty ..."主题分配给所有新站点。可以通过在
wp-config.php文件中添加类似 define('WP_DEFAULT_THEME', 'classic'); 的行来自定义此设置,其中' classic'替换为您主题的文件夹名称。

站点间的内容共享

网络的站点是独立的站点,默认情况下不共享内容。将您的网络视为 WordPress.com 的迷你版。有几个插件可以帮助您在站点之间共享内容。

切换网络类型

在子域名和子目录配置之间切换现有网络是一项高级操作。仅更改 SUBDOMAIN_INSTALL 和重写规则不会迁移现有站点地址,也不会配置 DNS、虚拟主机、TLS 证书、重定向和 Cookie。请先备份网络并在预发布环境中测试更改。

作为更改的一部分,请在 wp-config.php 中设置 SUBDOMAIN_INSTALL。对于子域名网络,请使用:

define( 'SUBDOMAIN_INSTALL', true );

对于子目录网络,请使用:

define( 'SUBDOMAIN_INSTALL', false );

您还必须更新存储的站点地址并配置 Web 服务器以适应新的网络类型。请参阅 URL 重写 以获取相应的 Web 服务器指导。

在网络创建期间,当主站点发布了超过一个月的内容时,WordPress 通常要求使用子域名配置。此限制有助于避免现有页面路径与新站点路径之间的冲突。

根据 设置要求,子域名网络不能将 IP 地址或 localhost 用作其服务器地址。

URL 重写

多站点需要 URL 重写来路由网络中站点的请求。所需的配置取决于 Web 服务器。WordPress 可以生成 Apache 和 IIS 规则,但无法生成 Nginx 配置。

为您的 Web 服务器配置适当的规则:

域名映射

在 WordPress 4.5 之前,域名映射需要一个域名映射插件。在 WordPress 4.5+ 中,域名映射是原生的多站点功能。了解如何使用此功能,请访问
WordPress 多站点域名映射

移动多站点

移动多站点比移动单个安装更复杂。请继续阅读
移动 WordPress 多站点后再继续。

导入到网络

当您创建了用于导入其他站点的 WordPress 网络时,您需要查看
将多个博客迁移到 WordPress 多站点文章。