我想知道是否有任何方法可以知道插件是否已安装。我不在乎它是否已经激活,但只有安装了该插件!
你知道有什么好办法吗?
我必须更具体。我知道在哪里可以找到插件,我知道如何安装可以看到。问题是,如果有任何编程方式来检查插件是否已安装。
ie:WordPress为我们提供register_activation_hook()以在插件激活时进行我们喜欢的任何操作,但是没有任何相关的插件安装挂钩。有没有办法确定插件的安装?
答案 0 :(得分:10)
这是迄今为止我发现的最佳方式:(这是从WP 3.5开始编写的)
使用register_activation_hook时要记住的主要事情是,在点击wp-admin / plugins.php中的激活链接并看到插件被激活之后,它被称为中间页面。我发现了这个在我尝试使用从Activate链接发送的$_GET
变量之后。如果你仔细查看你点击的链接,你最终得到的链接会略有不同。这就是您无法在add_action(), do_action() or add_filter()
触发器中使用register_activation_hook()
,..的原因。一旦插件被激活,它会立即重定向。
然而,您可以在钩子过程中使用add_option
,如此
/* Main Plugin File */
...
register_activation_hook( __FILE__, function() {
add_option('Activated_Plugin','Plugin-Slug');
/* activation code here */
});
add_action('admin_init','load_plugin');
function load_plugin() {
if(is_admin()&&get_option('Activated_Plugin')=='Plugin-Slug') {
delete_option('Activated_Plugin');
/* do some stuff once right after activation */
}
}
这应该让你开始......
答案 1 :(得分:2)
有几种方法可以检查我能想到的事情: