有没有办法确定是否刚刚安装了WordPress插件?

Mer*_*kos 7 wordpress plugins wordpress-plugin

我想知道是否有任何方法可以知道插件是否刚刚安装.我不在乎它是否已激活,但只有安装了该插件!

你知道有什么好办法吗?

我必须更加具体.我知道在哪里可以找到插件,我知道如何安装可以看到.问题是,如果有任何编程方式来检查插件是否已安装.

即:WordPress为我们提供了register_activation_hook(),以便在插件激活时进行我们喜欢的任何操作,但是没有任何相关的插件安装挂钩.有没有办法确定插件安装?

dRo*_*ain 11

这是我到目前为止找到的最好的方法:(这是从WP 3.5开始编写的)

信息:

使用register_activation_hook要记住的主要事情是,在点击来自wp-admin/plugins.php的激活链接并看到插件被激活之后,它被称为中间页面.我发现它在我之后尝试使用$_GET从Activate链接发送的变量.如果你仔细查看你点击的链接,你最终得到的链接会略有不同.这就是为什么你不能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 */
    }
}
Run Code Online (Sandbox Code Playgroud)

这应该让你开始......