多站点兼容性有两种类型:
- 被动兼容性:不做任何特定于多站点的工作,而无需破坏任何工作。
- 主动兼容性:更改或扩展特定于多站点的行为。
我想您是第1名。第二部分请参阅2015年布拉格WordCamp的幻灯片。
没有说任何关于多站点的插件不应被激活为网络插件。例如,WooCommerce在安装过程中会创建一些自定义表。如果在网络范围内激活它,则子站点将无法获得这些表,并且天空将掉到您的头上。
不幸的是,大多数插件不检查其激活类型,因此它们会让您执行错误的激活。
相关的是UX问题,例如管理员指针或特殊的“关于”页面,您必须在不兼容的插件中的every子站点上单击。Yoast的WP SEO就是一个例子。我猜这将很快在该插件中修复。:)
其他问题取决于您对该多站点的处理方式。如果要建立一个多语言网站,其中每个网站都用一种语言编写并且这些网站相互连接,则在编写内容时要同步发布。这意味着您可以调用switch_to_blog()
钩子save_post
,并保存已连接的帖子。save_post
现在将在一个请求中被多次调用。许多插件都不知道这种情况,因此他们只是覆盖已连接帖子的帖子元信息,以为它们仍在第一篇文章中。
留意处理帖子元且缺少检查的插件:
if ( is_multisite() && ms_is_switched() )
return FALSE;
这些插件不兼容。
类似的(尽管更难指定)是插件触摸用户元字段或重写规则时的问题。
有些插件会尝试将内容写入文件,而不会在文件名中包含站点ID。他们也很可能被打破。
就像汤姆说的:创建一个测试安装,运行您可以想象的每个用例。您不能信任插件页面,并且通常没有足够的信息。