显示有关停用插件的确认消息

时间:2013-09-05 作者:Navin Nagpal

当我的插件被停用时,我想得到用户的确认,是否需要删除所有插件选项/表或保持原样。根据选择的选项,我想继续。有可能吗?如果是,如何进行?

2 个回复
SO网友:Ursu Alexandr

我已经用JavaScript实现了一种变通方法。我正在加载自己的JavaScript文件:

wp_enqueue_script(\'wp-deactivation-message\', plugins_url(\'js/message.js\', dirname(__FILE__)), array());
其中包含一个添加以下事件侦听器的脚本-当用户单击我们的插件停用按钮时,它会阻止它执行此操作,并显示一个JavaScript弹出窗口,询问您需要什么,如果用户接受,它将被停用,如果用户按\'cancel\' 什么都没有发生:

消息js公司

window.onload = function(){
        document.querySelector(\'[data-slug="plugin-name-here"] a\').addEventListener(\'click\', function(event){
            event.preventDefault()
            var urlRedirect = document.querySelector(\'[data-slug="plugin-name-here"] a\').getAttribute(\'href\');
            if (confirm(\'Are you sure you want to save this thing into the database?\')) {
                window.location.href = urlRedirect;
            } else {
                console.log(\'Ohhh, you are so sweet!\')
            }
        })
}

SO网友:bkj

我和dirname(__FILE__) 出于某种原因,我把代码改成了这个,其中bkj函数是我的插件slug。

wp_enqueue_script(\'wp-deactivation-message\', plugins_url(\'js/message-deactivate.js\', __FILE__), array());

具有以下内容js/message-dactivate.js (因为我只需要“警报”而不需要“确认”):

window.onload = function(){
    document.querySelector(\'[data-slug="bkj-functions"] .deactivate a\').addEventListener(\'click\', function(event){
        //event.preventDefault()
        alert("Reminder: If you are using the \'class\' taxonomy for styling, that may disappear when this plugin has been deactivated.")
    })
}

结束