WordPress多站点网络管理

WordPress多站点网络管理

创建多站点网络后,由于多站点增加了复杂性,还需要了解一些高级管理知识。即使熟悉WordPress,最初接触网络管理的结构和行为时,也可能感到困惑。

用户访问与权限

用户存储在共享的数据库表中,但必须先被分配到某个站点并拥有角色,才能访问该站点。

在WordPress网络中,站点管理员的权限有所缩减:他们不能安装新主题或插件,也不能编辑站点用户的个人资料。只有网络管理员,也称超级管理员,能够执行这些操作。

子目录安装中的固定链接

固定链接仍可正常工作,但主站点,也就是首先创建的站点,会多出一个blog路径段,例如:

domain.com/blog/YYYY/MM/POSTNAME

这是有意设计的,用于避免与子目录站点冲突。目前没有简单的修改方法,因为修改会妨碍WordPress自动检测主站与子站的路径冲突。

静态页面不使用blog前缀,而是直接位于根地址下,例如domain.com/PAGENAME。如果在第一个站点创建与网络中已有站点同名的静态页面,该页面的固定链接会增加后缀,例如domain.com/PAGENAME-2。如果创建的新站点使用了某个现有静态页面的别名,则该静态页面将无法访问。可以把静态页面名称加入禁止列表,防止创建同名站点。

上传文件路径

全新安装中的第一个站点仍把文件上传到传统位置/wp-content/uploads/。网络中后续站点则使用/wp-content/uploads/sites/下按数据库站点编号划分的子目录。文件可通过相应URL访问。

插件

插件在网络中的使用方式更加灵活。插件从网络管理后台的插件页面安装,然后可以按站点启用,或在整个网络启用。在插件文件头加入Network: true,可将插件指定为仅限网络使用。

  • 站点启用的插件:仅在启用了它的站点加载。
  • 网络启用的插件:网络管理员可以在网络插件后台启用,使其对全部站点生效。单站点插件列表会显示“Network Active”。某些插件只有在网络启用后才能在多站点环境正常工作。
  • 必须使用的插件:供全网使用的插件也可作为单文件放在mu-plugins目录中,或通过该目录中的文件载入子目录。WordPress不会自动读取子目录中的文件。这类插件无须启用或停用,只要存在就会使用,并且不会出现在单站点插件列表中。

插件目录中的插件并非全部支持多站点。请查看插件介绍页或咨询开发者,确认具体插件是否兼容。

如果希望单站点管理员可以启用或停用本站插件,需要在网络管理员的“设置 → 网络设置 → 菜单设置”中,为他们启用插件页面。网络管理员始终可以访问每个站点的插件。单站点管理员可以启停未在网络中启用的插件,但网络启用的插件只显示“Network Active”,不提供停用或设置选项。

也有插件可以帮助批量启用或停用各站点的插件。

主题

所有主题都面向整个网络安装。修改某个主题的代码,会影响所有使用该主题的站点。

在站点编辑器中进行的样式修改只影响当前站点。使用经典主题时,单站点可以通过自定义器添加额外CSS或修改其他样式;这些设置仅存储在该站点的数据库表中。

“网络启用”主题并不会自动把它设为各站点的当前主题,只是使各站点能够选用。要让某个主题出现在单站点后台,必须在网络中启用,或在“网络管理 → 编辑站点 → 主题”标签中允许该站点使用。主题已经在某个站点启用后,即使在网络层面停用,也不会影响该站点继续使用它。

默认情况下,WordPress会把最新的“Twenty …”主题分配给新站点。可以在wp-config.php中添加以下设置,将classic替换为目标主题目录名:

define('WP_DEFAULT_THEME', 'classic');

站点之间共享内容

网络中的各站点相互独立,默认不共享内容。可以把网络理解为一个小型WordPress.com。有一些插件可以帮助站点之间共享内容。

切换网络类型

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

需要在wp-config.php中设置SUBDOMAIN_INSTALL。子域名网络使用:

define( 'SUBDOMAIN_INSTALL', true );

子目录网络使用:

define( 'SUBDOMAIN_INSTALL', false );

还必须更新已存储的站点地址,并按新的网络类型配置Web服务器,参见下节的URL重写说明。

创建网络时,如果主站已有发布超过一个月的内容,WordPress通常要求使用子域名配置,以降低已有页面路径与新站点路径冲突的风险。

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

URL重写

多站点需要URL重写,将请求路由到网络中的相应站点。具体配置取决于Web服务器。WordPress能生成Apache和IIS规则,但不能生成Nginx配置。

请按Web服务器选择适当规则;原文URL重写章节提供Apache HTTP Server与Nginx多站点规则的链接。

域名映射

WordPress 4.5之前,需要域名映射插件。从4.5起,域名映射成为多站点原生功能。详见官方的WordPress Multisite Domain Mapping说明,可从原文对应章节进入。

迁移多站点

迁移多站点比迁移单站点更复杂。在继续之前,请阅读原文所链接的Moving WordPress Multisite。

导入网络

创建好用于导入其他站点的WordPress网络后,请参阅原文所链接的Migrating Multiple Blogs into WordPress Multisite。

来源与版权

原文:Multisite Network Administration,WordPress高级管理手册。首次发布于2023年3月28日,更新于2026年9月24日。中文译文。版权归原作者及文档贡献者;WordPress®商标属于WordPress Foundation。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容