Files
wp-recache/uninstall.php
T
kevin.bataille 33099591f5 feat: implement Phase 1 - Core Page Cache and Admin Settings UI
Implement the core page caching functionality and admin settings interface
for WP Recache plugin. This includes:

- Plugin bootstrap with activation/deactivation handlers
- Admin settings page with tabbed interface (Cache, Optimization, Advanced)
- Admin bar integration for quick cache purging
- Core page cache using output buffering
- Cache file management with mobile device separation
- Cache purge on post update/comment
- Default URL exclusions (cart, checkout, account)
- Cache statistics display
- PHPUnit test suite setup
- Docker-based development environment
- PHPStan configuration for static analysis

References:
- Closes #1 (Core Page Cache)
- Closes #8 (Admin Settings UI)
2026-09-13 09:56:35 +02:00

52 lines
1.2 KiB
PHP

<?php
/**
* Plugin uninstall handler.
*
* @package WP_Recache
*/
defined('WP_UNINSTALL_PLUGIN') || exit;
// Delete all options.
$options = [
'wp_recache_cache_enabled',
'wp_recache_separate_mobile_cache',
'wp_recache_exclude_urls',
'wp_recache_minify_css',
'wp_recache_minify_js',
'wp_recache_lazyload_images',
'wp_recache_preload_enabled',
];
foreach ($options as $option) {
delete_option($option);
}
// Delete cache files.
$cache_path = WP_CONTENT_DIR . '/cache/wp-recache/';
if (is_dir($cache_path)) {
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($cache_path, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach ($files as $file) {
if ($file->isDir()) {
rmdir($file->getRealPath());
} else {
unlink($file->getRealPath());
}
}
rmdir($cache_path);
}
// Remove advanced-cache.php if it's ours.
$advanced_cache = WP_CONTENT_DIR . '/advanced-cache.php';
if (file_exists($advanced_cache)) {
$content = file_get_contents($advanced_cache);
if (strpos($content, 'WP Recache') !== false) {
unlink($advanced_cache);
}
}