wpicp/uninstall.php
2025-05-26 02:01:06 +08:00

65 lines
1.6 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* 在插件卸载时执行的操作
*
* @package WPICP
*/
// 如果未通过WordPress调用卸载则退出
if (!defined('WP_UNINSTALL_PLUGIN')) {
exit;
}
// 删除插件选项
delete_option('wpicp_options');
delete_option('wpicp_last_scheduled_check');
delete_option('wpicp_last_check_results');
// 删除所有临时选项
delete_transient('wpicp_sensitive_words');
delete_transient('wpicp_verification_result');
delete_transient('wpicp_admin_notice_dismissed');
// 删除任何以wpicp_开头的选项
global $wpdb;
$wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'wpicp_%'");
// 删除插件创建的表
$tables = array(
'wpicp_records',
'wpicp_sensitive_words',
'wpicp_real_name_info',
'wpicp_record_history',
'wpicp_status'
);
foreach($tables as $table) {
$wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . $table);
}
// 清除用户元数据
$wpdb->query("DELETE FROM $wpdb->usermeta WHERE meta_key LIKE 'wpicp_%'");
// 清除评论元数据
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE meta_key LIKE 'wpicp_%'");
// 清除已计划的事件
wp_clear_scheduled_hook('wpicp_daily_verification');
wp_clear_scheduled_hook('wpicp_daily_status_check');
// 删除上传的文件
$upload_dir = wp_upload_dir();
$verification_dir = $upload_dir['basedir'] . '/wpicp-verification/';
if(file_exists($verification_dir)) {
// 删除目录中的所有文件
$files = glob($verification_dir . '*');
foreach($files as $file) {
if(is_file($file)) {
unlink($file);
}
}
// 删除目录
rmdir($verification_dir);
}