首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress:如何停用免费版本。的插件,在Pro被激活之前?

WordPress:如何停用免费版本。的插件,在Pro被激活之前?
EN

Stack Overflow用户
提问于 2020-07-21 17:51:09
回答 1查看 47关注 0票数 0

我为WordPress开发插件,它有两个版本:免费的和专业的。用于许可使用Freemius。

我收到了很多支持消息,比如:“由于错误,我无法激活专业插件:Cannot declare class A, because the name is already in use”。

所以,用户不理解,那个自由版本。需要先停用,然后才能激活Pro。因为看起来用户想要同时激活两个插件。

我想以编程方式停用自由插件,在激活Pro的过程中。

当然,我尝试使用deactivate_plugins()函数,并在"register_activation_hook"中挂接它,但是:

如果我尝试停用(例如Akismet) -它正在工作。我正在激活我的插件- Akismet正在停用,但当我激活了我的免费版本。,并试图激活Pro -I得到同样的错误-无法声明类...

看起来,register_activation_hook启动得太晚了,而且它之前没有时间停用免费。

我确信这个问题正在得到解决,但我不知道如何解决。请分享你的经验。

EN

回答 1

Stack Overflow用户

发布于 2020-07-21 18:34:16

我没有找到我需要的停用插件的解决方案,但我找到了另一种方法:

在我的插件的索引文件中:

代码语言:javascript
复制
$plugin_path = 'my_plugin/index.php';

if ( function_exists('is_plugin_active') && is_plugin_active($plugin_path)) {
    wp_die("Before activating Pro version, please, deactivate Free version. You can't activate it both.");
}

这个“技巧”让我避免了用户的非信息性错误(关于重新声明),并为用户提供了最有用的信息和说明。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63011842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档