Wordpress 检查后自动停用插件

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

我正在尝试让我的Wordpress插件在简单检查后自动停用。它似乎可以调用admin_notices方法,但是deactivate_plugin方法没有任何作用。这在类构造函数中:

        // 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