PluginProbe
MarqueeX – Smooth Marquee Slider, News Ticker & Post Marquee for Block Editor & Elementor / 0.6.0
MarqueeX – Smooth Marquee Slider, News Ticker & Post Marquee for Block Editor & Elementor v0.6.0
0.6.0 0.5.4 0.5.3 0.5.2 0.5.1 0.5.0 0.4.0 0.3.3 0.3.2 trunk 0.0.1 0.0.2 0.0.3 0.0.4 0.0.5 0.0.6 0.1.0 0.1.1 0.1.2 0.2.0 0.2.1 0.2.2 0.2.3 0.3.0 0.3.1
marqueex / uninstall.php

uninstall.php in MarqueeX – Smooth Marquee Slider, News Ticker & Post Marquee for Block Editor & Elementor 0.6.0, at uninstall.php

31 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * MarqueeX uninstall — remove plugin-owned options and transients.
4 */
5
6 if (!defined('WP_UNINSTALL_PLUGIN')) {
7 exit;
8 }
9
10 delete_option('marqueex_settings');
11 delete_option('marqueex_review_state');
12
13 // Per-user onboarding dismissal flags.
14 delete_metadata('user', 0, 'marqueex_onboarding_dismissed', '', true);
15
16 delete_transient('marqueex_builder_cache');
17 delete_transient('_marqueex_welcome_screen_activation_redirect');
18
19 global $wpdb;
20 if (isset($wpdb)) {
21 $marqueex_value_like = $wpdb->esc_like('_transient_marqueex_registerable_blocks_') . '%';
22 $marqueex_timeout_like = $wpdb->esc_like('_transient_timeout_marqueex_registerable_blocks_') . '%';
23 // Direct, prepared bulk delete of our own versioned transients on uninstall —
24 // there is no core API for a wildcard transient purge, and object caching is
25 // irrelevant during uninstall.
26 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
27 $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", $marqueex_value_like));
28 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
29 $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", $marqueex_timeout_like));
30 }
31