PluginProbe
WP Popular Posts / 7.4.2
WP Popular Posts v7.4.2
7.4.2 7.4.1 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 5.0.0 5.0.1 5.0.2 5.1.0 5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 All 93 releases
wordpress-popular-posts / src / Activation / Deactivator.php
Deactivator.php
68 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Fired during plugin deactivation
4 *
5 * @link https://cabrerahector.com
6 * @since 4.0.0
7 *
8 * @package WordPressPopularPosts
9 */
10
11 /**
12 * Fired during plugin deactivation.
13 *
14 * This class defines all code necessary to run during the plugin's deactivation.
15 *
16 * @since 4.0.0
17 * @package WordPressPopularPosts
18 * @author Hector Cabrera <me@cabrerahector.com>
19 */
20 namespace WordPressPopularPosts\Activation;
21
22 class Deactivator {
23 /**
24 * Fired when the plugin is deactivated.
25 *
26 * @since 1.0.0
27 * @global object wpbd
28 * @param mixed network_wide True if WPMU superadmin uses "Network Activate" action, false if WPMU is disabled or plugin is activated on an individual blog. Sometimes is NULL though.
29 */
30 public static function deactivate($network_wide) /** @TODO: starting PHP 8.0 $network_wide can be declared as mixed $network_wide */
31 {
32 global $wpdb;
33
34 if ( function_exists('is_multisite') && is_multisite() ) {
35 // Run deactivation for each blog in the network
36 if ( $network_wide ) {
37 $blogs_table = "{$wpdb->blogs}";
38 $original_blog_id = get_current_blog_id();
39 $blogs_ids = $wpdb->get_col($wpdb->prepare("SELECT blog_id FROM %i;", $blogs_table)); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching
40
41 foreach( $blogs_ids as $blog_id ) {
42 switch_to_blog($blog_id);
43 self::plugin_deactivate();
44 }
45
46 // Switch back to current blog
47 switch_to_blog($original_blog_id);
48
49 return;
50 }
51 }
52
53 self::plugin_deactivate();
54 }
55
56 /**
57 * On plugin deactivation, disables the shortcode and removes the scheduled task.
58 *
59 * @since 2.4.0
60 */
61 private static function plugin_deactivate()
62 {
63 remove_shortcode('wpp');
64 wp_clear_scheduled_hook('wpp_cache_event');
65 wp_clear_scheduled_hook('wpp_maybe_performance_nag');
66 }
67 }
68