如何删除插件卸载时的选项?

时间:2019-01-22 作者:wpdev

我想在卸载插件时从数据库中删除选项。它的名字是test_option. 我正在使用此代码,但不起作用。问题出在哪里?

function test_delete() {
    if( !current_user_can( \'activate_plugins\' ) )
        return;
    check_admin_referer( \'bulk-plugins\' );

    if( __FILE__ != WP_UNINSTALL_PLUGIN )
        return;

    delete_option( \'test_option\' );
}

register_uninstall_hook( __FILE__, \'test_delete\' );

1 个回复
最合适的回答,由SO网友:Abhik 整理而成

这将为您提供在插件激活期间注册unistall挂钩的选项。

function myplugin_activation_callback(){
    register_uninstall_hook( __FILE__, \'myplugin_uninstall_callback\' );
}
register_activation_hook( __FILE__, \'myplugin_activation_callback\' );

function myplugin_uninstall_callback(){

    //Perform your uninstall operations here 
    delete_option(\'test_option\');

}  
然而,最简单的方法是使用uninstall.php 使用以下代码归档:

if (!defined(\'WP_UNINSTALL_PLUGIN\')) {
    die;
}

//Perform your uninstall operations here 
delete_option(\'test_option\');  
不建议同时使用两者。

相关推荐

如何清理wp-content/plugins/wordpress-seo中不必要的文件?

我目前维护Wordpress网站7年。磁盘使用率最近已满,因此我需要定期检查自动备份并保存这些备份,然后将其从服务器中删除。当我检查时,插件文件夹中的wordpress seo文件夹(这是Yoast seo默认插件文件夹)占用了太多空间。据我所知,它充满了各种版本的插件文件。确切地说,它位于wordpress seo插件的js/dist文件夹中。它包含几种类型的小型javascript,每个名称的末尾都有某种序列或版本号,总容量约为250-300 MB。我可以清理这些文件吗?如果是,是否安全?如果我从以前