检查WordPress插件在多站点网络中的激活状态指南

当我们谈论在WordPress多站点网络上安装的插件时,有些插件可以被激活以供整个网络使用,而有些则只能在特定的单个站点上激活。

检查WordPress插件在多站点网络中的激活状态指南

网络激活的插件:

检查WordPress插件在多站点网络中的激活状态指南

针对特定站点激活的相同插件:

检查WordPress插件在多站点网络中的激活状态指南

理解它的工作原理应该不太困难,但当我们尝试在代码中检查一个插件是否被激活为整个网络还是只对特定站点时,可能会遇到问题。

有很多不同的方法可以实现这一点,每种方法都有其独特之处。

is_plugin_active_for_network() 

如果一个插件是为整个网络激活的,那么这个函数就会返回真(true)。所以比如说,如果我们在站点1上使用这个函数,而我们的插件只在站点1上激活,并没有被设置为网络范围内激活,那么这个函数会返回假(false)。

if( is_plugin_active_for_network( 'woocommerce/woocommerce.php' ) ) {
	// WooCommerce is network-activated
} else {
	// WooCommerce isn't network-activated	
}

is_plugin_active() 

这个函数很实用,因为它完成两项工作:

  1. 它会检查插件是否仅在你当前使用的网站上被激活。
  2. 它还会检查插件是否被设置为在整个网络上激活。

如果这两个条件中的至少一个成立,就会返回真(true)。

if( is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
	// WooCommerce is either activated on this specific site or network-activated
}

放心,这个功能在非多站点网络的环境下也是安全的。

检查插件是否仅在特定站点上处于激活状态 

因为WordPress核心里没有这项功能,所以我为你准备了以下自定义代码:

if( in_array( $plugin, (array) get_option( 'active_plugins', array() ) ) ) {
}

你可以检查多站点网络的特定网站,但是不要忘记提供 $blog_id 和 $plugin 变量。

switch_to_blog( $blog_id );
if( in_array( $plugin, (array) get_option( 'active_plugins', array() ) ) ) {
}
	
restore_current_blog();

检查特定插件(在我们的例子中是 WooCommerce)在哪些网站上处于激活状态:

$sites = get_sites();
foreach( $sites as $site ) {
	switch_to_blog( $site->blog_id );
	
	if( in_array( 'woocommerce/woocommerce.php', (array) get_option( 'active_plugins', array() ) ) ) {
		echo "WooCommerce is active on {$site->blogname}";
	}
	
	restore_current_blog();

总结

简而言之,无论你使用is_plugin_active()还是is_plugin_active_for_network(),WordPress都会在这两种情况下检查在站点选项中被激活的插件:

检查WordPress插件在多站点网络中的激活状态指南

不用担心会过度使用数据库,因为这些选项会自动加载,并且如果你多次使用is_plugin_active(),它只会从一个全局变量进行检查。

数据库中的选项值实际上是一个序列化的数组,就像下面这样:

检查WordPress插件在多站点网络中的激活状态指南

联系我们
文章看不懂?联系我们为您免费解答!免费助力个人,小企站点!
电话:020-2206-9892
QQ咨询:1025174874
邮件:info@361sale.com
工作时间:周一至周五,9:30-18:30,节假日休息
发布者:光子波动,转转请注明出处:https://www.361sale.com/6236/

(0)
上一篇 2024年 3月 21日 下午6:28
下一篇 2024年 3月 22日 下午1:57

相关推荐

  • WordPress 中创建自定义 URL 链接的完整指南

    您是否想在 WordPress 中为文章、页面或其他类型的内容设置独特的链接地址? 不久前,一位 WordPress 新手向我们提出了一个问题:能否在 WordPress 中自定义文章或页面的链接结构? 在这篇文章里,我们会详细指导您如何在 WordPress 中设置自定义链接(也称为永久链接),同时确保这一改动不会对您的网站搜索引擎优化(SEO)产生负面影…

    2024年 3月 22日 WordPress自学建站
    0069
  • WordPress网站加速:缓存设置指南

    WordPress网站运行缓慢?这个问题自WordPress诞生以来就一直存在。但现在,我们已经有了标准化的解决办法。 WordPress网站速度慢的6个因素 选择一个好的服务器提供商 2、使用一个轻量级的WordPress主题 3、减少非必要的插件 4、优化图像大小 5、开启服务器缓存和页面缓存 6、使用CDN加速 我列出了六个重要因素,需要你逐一检查你的…

    2024年 3月 26日 WordPress自学建站
    0038
  • WordPress设置双因素验证指南及插件选择

    双因素认证(2FA)用来保护你的WordPress网站免受未授权访问。虽然很多WordPress用户可能认为设置2FA很麻烦和复杂,但实际上并没有那么难。 我会帮助你了解2FA如何为你的WordPress网站提供额外的安全层,以及你该如何轻松设置它。 双因素认证(2FA)就是给WordPress账号加把双重锁,提升账号安全。就算别人知道了你的密码,没有第二层…

    2024年 4月 1日 WordPress自学建站
    0051
  • 如何测试WordPress产品的PHP兼容性

    为什么了解PHP版本兼容性很重要,哪里能找到PHP版本更新的相关信息,以及如何用两种方法来测试你的插件和主题是否支持最新的PHP版本。 为什么要测试 PHP 版本兼容性? WordPress是用PHP语言编写的,这意味着它需要在网站主机支持的PHP版本上顺利运行。虽然WordPress会推荐一个最低的PHP版本要求,但是老版本的PHP会逐渐停止更新,甚至不再…

    2024年 3月 28日 WordPress自学建站
    0048
  • WordPress教程:在网站中添加MP3音频文件的步骤

    音频文件经常被用在博客上。常见的音频格式包括MP3、M4A、OGG和WAV。 1 添加音频块 要在你的文章中添加音频,只需要点击编辑器左上角的加号(+)图标。点击后,会出现一个选择不同内容块的菜单。 2 选择“音频” 向下滚动块浏览器并单击标题 “公共块”,然后选择 “音频”。 3 添加您的音频 你可以用三种方式来添加音频: 4 对齐音频播放器 添加音频文件…

    2024年 3月 25日 WordPress自学建站
    0038

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

020-2206-9892

QQ咨询:1025174874

邮件:info@361sale.com

工作时间:周一至周五,9:30-18:30,节假日休息

客服微信