如何判断插件是否兼容多站点?


9

作为WordPress管理员新手,我刚刚经历了我的第一个非自动WordPress升级。

我将五种不同的WordPress安装从4.1.3升级到了4.2。

它们都引用作为一个主域和四个附加域托管在同一Web主机上的不同网站。

在每个网站上,我使用以下插件:

  • Akismet;
  • Yoast的Google Analytics(分析);
  • 谷歌的AdSense;
  • Google XML Sitemaps和
  • WordPress.com的Jetpack。

为了简化进一步的管理,我考虑将所有五个安装合并到一个多站点安装中。

到目前为止,我发现很难找到有关每个插件与插件网站上的多站点安装的兼容性的明确答案。

插件页面是搜索此内容的正确位置吗?

是否可以在中央位置找到此信息?


您是否有关于此合并是否一个好主意的建议?我正在考虑相同的问题,但是管理一个大型多站点的同事说,这麻烦比其价值多。我正在考虑将我的网站保留为单次安装,并使用InfiniteWP之类的方法进行管理。您是否考虑过呢?
Rikki 2015年

我不知道InfiniteWP @Rikki。我来看一下。谢谢!
Alfred Myers 2015年

我很惊讶这些信息来检查多站点插件兼容性在某处不容易访问。
安托万·布鲁内尔

Answers:


6

多站点兼容性有两种类型:

  1. 被动兼容性:不做任何特定于多站点的工作,而无需破坏任何工作。
  2. 主动兼容性:更改或扩展特定于多站点的行为。

我想您是第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。他们也很可能被打破。

就像汤姆说的:创建一个测试安装,运行您可以想象的每个用例。您不能信任插件页面,并且通常没有足够的信息。


2

除非有插件声明兼容,否则唯一可靠的查找方法是创建本地多站点安装并对其进行测试。

有时您会寻找一些迹象,但是这些总是表现为错误代码的征兆,例如,对数据库表名称进行硬编码,而不是使用from的前缀$wpdb,在这种情况下,即使您不使用多站点,我也建议您避免使用插件

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.