我是WordPress Multisite的忠实拥护者:我用它来管理客户端站点的小型网络,将所有演示站点都放在一个地方,还运行一个允许人们创建自己的自定义站点的网络。
因此,很高兴看到WordPress更新后,Multisite赢得了一点爱。 WordPress 4.4版对Multisite进行了一些不错的增强,如果您正在自定义注册过程或使用选项,则这些功能特别有用。 这是它们的概述。
WP_Network对象
WP_Network
已添加,以使WP_Network
和更好地定义多WP_Network
的方式。 它填充$current_site
和$current_blog
全局变量。
如果您要手动填充这些全局变量,或者以其他方式与它们进行交互,则尽管核心团队已经测试了这些更改以最大程度地实现向后兼容性,但是您可能需要测试代码。
网络选项功能
WordPress 4.4引入了四个与网络选项有关的新功能:
-
add_network_option()
-
update_network_option()
-
get_network_option()
-
delete_network_option()
这些用于存储来自当前网络以外的网络的选项。 如果需要使用与当前网络有关的选项,请使用现有功能:
-
add_site_option()
-
update_site_option()
-
get_site_option()
-
delete_site_option()
请务必注意,这些函数的命名令人困惑,因为*_site_option()
函数与您的WordPress安装未运行多*_site_option()
函数相同。 因此,如果您正在运行网络,则*_site_option()
函数与整个网络有关,而不仅与一个站点有关,并且*_network_option()
函数与您当前的网络无关,而与除当前一个。
新动作挂钩
4.4版还引入了一些新的挂钩,如果您正在修改网络的配置方式,这些挂钩可能会很有用。
这些如下:
-
before_signup_header
:此新操作在wp-signup.php
加载注册页面之前wp-signup.php
。 因此,如果要更改注册页面,重定向到另一个页面或在加载注册页面之前进行检查,则可以将功能附加到此挂钩。 -
ms_network_not_found
:如果尚未填充$current_site
全局ms_not_installed
则此动作钩子将在ms_not_installed
钩子之前触发。 以前,会触发ms_site_not_found
挂钩,但这允许对多站点网络进行更具体的响应。 这意味着,如果找不到网络,则可以使用此钩子来定义回退,例如重定向到备用网络,而不仅仅是显示错误屏幕。 - 在邀请用户加入网络之后但在向他们发送通知之前,将激发
invite_user
挂钩。 如果您需要修改通知的工作方式或首先进行其他操作(例如通知或其他用户的通知),请使用此选项。
网络管理员用户界面的增强
网络管理员用户界面也进行了一些小而有用的增强,包括:
- 对于网络管理员(或其他具有
manage_network
功能的用户),可以在网络上每个站点的“插件”屏幕上查看网络激活的插件。 我已经发现这对我管理的网络之一很有用,因为它可以帮助我识别单个站点上任何潜在的插件冲突。 - 现在,在将新站点添加到网络中时,您可以为新站点选择语言,该语言不必与网络中的基本站点或其他站点相同。 通过网络管理员和
wp-signup.php
页面添加站点时,这均适用。 这对于由使用不同语言的人管理的站点网络很有用。 过去,当客户需要为其所在的每个国家/地区使用不同的站点时,我曾使用Multisite来管理多语言网络,在这种情况下,这将是一个非常有用的功能。 - 现在,当您在网络中搜索用户时,您可以使用星号来查找与您的搜索字词较宽松的匹配项。 例如,如果您的网络中有大量用户,并且想要查找所有具有相同后缀的电子邮件地址的用户,这将很有用。
现在,您可以为网络中的每个站点选择不同的语言
摘要
我上面列出的增强功能包括一些小的用户体验改进以及一些功能和钩子,这些功能和钩子对使用自定义多站点安装的开发人员很有用。 例如,如果您自定义了注册过程,则会发现一些对您有用的钩子。
记住,如果您正在寻找其他实用程序来帮助您构建不断增长的WordPress工具集,请参阅Envato Market中提供的功能 。
很高兴看到Multisite对此版本进行了一些改进-希望它能持续很长时间!
翻译自: https://code.tutsplus.com/articles/multisite-enhancements-in-wordpress-44--cms-26153