Wordpress 检查后自动停用插件
我正在尝试让我的Wordpress插件在简单检查后自动停用。它似乎可以调用admin_notices方法,但是deactivate_plugin方法没有任何作用。这在类构造函数中:Wordpress 检查后自动停用插件,wordpress,plugins,Wordpress,Plugins,我正在尝试让我的Wordpress插件在简单检查后自动停用。它似乎可以调用admin_notices方法,但是deactivate_plugin方法没有任何作用。这在类构造函数中: // End if the theme isn't compatible if ( FALSE == $this->themesupport['support'] ) { // This test works fine add_action( 'admi
// End if the theme isn't compatible
if ( FALSE == $this->themesupport['support'] ) { // This test works fine
add_action( 'admin_init', array( &$this, 'deactivate_plugin' ) ); // Plugin doesn't deactivate
add_action( 'admin_notices', array( &$this, 'admin_notices' ) ); // I get notices
if ( isset( $_GET['activate'] ) )
unset( $_GET['activate'] );
return;
} // if()
方法非常简单:
public function deactivate_plugin() {
deactivate_plugins( plugin_basename( __FILE__ ) );
} // deactivate_plugin()
在deactivate_plugin方法中放入一个echo,它就会被调用。我还尝试了在不做任何更改的情况下包含core中的plugins.php文件
<?php
/**
* Plugin Name: (SO) Self-deactivate with $_GET['my_deactivate']
*/
add_action( 'admin_init', function()
{
if( isset( $_GET['my_deactivate'] ) )
{
deactivate_plugins( plugin_basename( __FILE__ ), true );
$url = admin_url( 'plugins.php?deactivate=true' );
header( "Location: $url" );
die();
}
});
参考:
我是从类中调用deactivate_plugins,而不是从插件文件本身,这当然返回了错误的文件位置我无法重现错误。工作正常。我没有收到任何错误,但插件仍处于激活状态。将此放入deactivate_plugin函数中,它对我不起作用。事实上,从未调用if语句,因为没有通过GET传递my_deactivate变量。将该变量更改为“激活”仍然不会产生所需的结果。所有的WP插件都被禁用了,运行的是WP4.0。停用通知会触发,但是在几个版本后,插件停用不起作用。在WP3.9中也进行了测试,没有运气。这是主插件文件吗?你是如何实例化这个类的?它在类中。像这样实例化:require_once'inc/class/tt ve.class.php'$tt_ve=新的tt_视频元素“本地化域”;谢谢你的帮助
http://example.com/wp-admin/users.php?my_deactivate