PluginProbe
Woody Code Snippets – Insert PHP, CSS, JS, and Header/Footer Scripts / 2.4.6
Woody Code Snippets – Insert PHP, CSS, JS, and Header/Footer Scripts v2.4.6
2.7.6 2.7.5 2.7.4 trunk 1.3 2.0.4 2.0.6 2.1.91 2.2.4 2.2.7 2.2.9 2.3.1 2.3.10 2.4.10 2.4.2 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.6.0 2.6.1 2.7.0 2.7.1 All 27 releases
← All changes | uninstall.php +70 -74 trunk2.4.6 View file →
@@ -1,74 +1,70 @@
1 -<?php
2 -/**
3 - * If uninstall.php is not called by WordPress, die.
4 - */
5 -if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
6 - die;
7 -}
8 -// @formatter:off
9 -
10 -/**
11 - * Uninstall function to clean up plugin data.
12 - */
13 -function winp_uninstall() {
14 - global $wpdb;
15 -
16 - $post_type = 'wbcr-snippets';
17 - $taxonomy = 'wbcr-snippet-tags';
18 -
19 - $snippets = get_posts(
20 - [
21 - 'post_type' => $post_type,
22 - 'post_status' => [ 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash' ],
23 - 'numberposts' => - 1,
24 - ]
25 - );
26 -
27 - if ( ! empty( $snippets ) ) {
28 - foreach ( (array) $snippets as $snippet ) {
29 - wp_delete_post( $snippet->ID, true );
30 - }
31 - }
32 -
33 - $query = 'SELECT t.name, t.term_id
34 - FROM ' . $wpdb->terms . ' AS t
35 - INNER JOIN ' . $wpdb->term_taxonomy . ' AS tt
36 - ON t.term_id = tt.term_id
37 - WHERE tt.taxonomy = "' . $taxonomy . '"';
38 -
39 - $terms = $wpdb->get_results( $query );
40 - if ( ! empty( $terms ) ) {
41 - if ( ! taxonomy_exists( $taxonomy ) ) {
42 - register_taxonomy( $taxonomy, $post_type, [] );
43 - }
44 - foreach ( $terms as $term ) {
45 - wp_delete_term( $term->term_id, $taxonomy );
46 - }
47 -
48 - unregister_taxonomy( $taxonomy );
49 - }
50 -
51 - // Remove plugin options.
52 - $wpdb->query( "DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_inp_%';" );
53 -}
54 -
55 -if ( is_multisite() ) {
56 - global $wpdb, $wp_version;
57 -
58 - $wpdb->query( "DELETE FROM {$wpdb->sitemeta} WHERE meta_key LIKE 'wbcr_inp_%';" );
59 -
60 - $blogs = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
61 -
62 - if ( ! empty( $blogs ) ) {
63 - foreach ( $blogs as $blog_id ) {
64 - switch_to_blog( $blog_id );
65 -
66 - winp_uninstall();
67 -
68 - restore_current_blog();
69 - }
70 - }
71 -} elseif ( get_option( 'wbcr_inp_complete_uninstall', true ) ) {
72 - winp_uninstall();
73 -}
74 -// @formatter:on
1 +<?php
2 +
3 +// if uninstall.php is not called by WordPress, die
4 +if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
5 + die;
6 +}
7 +// @formatter:off
8 +function winp_uninstall() {
9 + global $wpdb;
10 +
11 + $post_type = 'wbcr-snippets';
12 + $taxonomy = 'wbcr-snippet-tags';
13 +
14 + $snippets = get_posts( array(
15 + 'post_type' => $post_type,
16 + 'post_status' => array( 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash' ),
17 + 'numberposts' => - 1
18 + ) );
19 +
20 + if ( ! empty( $snippets ) ) {
21 + foreach ( (array) $snippets as $snippet ) {
22 + wp_delete_post( $snippet->ID, true );
23 + }
24 + }
25 +
26 + $query = 'SELECT t.name, t.term_id
27 + FROM ' . $wpdb->terms . ' AS t
28 + INNER JOIN ' . $wpdb->term_taxonomy . ' AS tt
29 + ON t.term_id = tt.term_id
30 + WHERE tt.taxonomy = "' . $taxonomy . '"';
31 +
32 + $terms = $wpdb->get_results( $query );
33 + if ( ! empty( $terms ) ) {
34 + if ( ! taxonomy_exists( $taxonomy ) ) {
35 + register_taxonomy( $taxonomy, $post_type, array() );
36 + }
37 + foreach ( $terms as $term ) {
38 + wp_delete_term( $term->term_id, $taxonomy );
39 + }
40 +
41 + unregister_taxonomy( $taxonomy );
42 + }
43 +
44 + // remove plugin options
45 + $wpdb->query( "DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_inp_%';" );
46 +}
47 +
48 +if ( is_multisite() ) {
49 + global $wpdb, $wp_version;
50 +
51 + $wpdb->query( "DELETE FROM {$wpdb->sitemeta} WHERE meta_key LIKE 'wbcr_inp_%';" );
52 +
53 + $blogs = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
54 +
55 + if ( ! empty( $blogs ) ) {
56 + foreach ( $blogs as $id ) {
57 + switch_to_blog( $id );
58 +
59 + winp_uninstall();
60 +
61 + restore_current_blog();
62 + }
63 + }
64 +} else {
65 + if ( get_option( 'wbcr_inp_complete_uninstall', true ) ) {
66 + winp_uninstall();
67 + }
68 +}
69 +// @formatter:on
70 +