-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuninstall.php
More file actions
123 lines (92 loc) · 5.55 KB
/
uninstall.php
File metadata and controls
123 lines (92 loc) · 5.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?php
//if uninstall not called from WordPress exit
if ( !defined( 'WP_UNINSTALL_PLUGIN' ) )
exit ();
global $wpdb;
$kbe_tbl_prefix = $wpdb->prefix;
//=========> Delete Plugin Settings From options Table
delete_option('kbe_bgcolor');
delete_option('kbe_plugin_slug');
delete_option('kbe_article_qty');
delete_option('kbe_sidebar_home');
delete_option('kbe_sidebar_inner');
delete_option('kbe_search_setting');
delete_option('kbe_comments_setting');
delete_option('kbe_taxonomy_children');
delete_option('kbe_breadcrumbs_setting');
delete_option('widget_kbe_tags_widgets');
delete_option('widget_kbe_search_widget');
delete_option('widget_kbe_article_widget');
delete_option('widget_kbe_category_widget');
//=========> Delete `terms_order` Column From trms Table
$wpdb->query("ALTER TABLE ".$kbe_tbl_prefix."terms DROP COLUMN `terms_order`");
//=========> Get Knowledgebase page and Delete all relivent Data
$kbe_get_page = $wpdb->get_results("Select * From ".$wpdb->prefix."posts
Where post_content like '%[kbe_knowledgebase]%'
and post_type = 'page'");
foreach($kbe_get_page as $get_page){
$kbe_page_ID = $get_page->ID;
//Delete all Knowledgebase page Relivent data from `postmeta` Table
$wpdb->query("Delete From ".$wpdb->prefix."postmeta Where post_id = $kbe_page_ID");
//Delete all Knowledgebase page Child data from `posts` Table
$wpdb->query("Delete From ".$wpdb->prefix."posts Where post_parent = $kbe_page_ID");
//Delete Knowledgebase page from `posts` Table
$wpdb->query("Delete From ".$wpdb->prefix."posts Where ID = $kbe_page_ID");
}
//=========> Get all Images of `kbe_knowledgebase` post type and Delete all Images Data
$kbe_get_post_images = $wpdb->get_results("Select * From ".$wpdb->prefix."posts Where post_type = 'kbe_knowledgebase'");
$kbe_upload_dir = wp_upload_dir();
foreach($kbe_get_post_images as $get_post_images){
$kbe_posts_img_ID = $get_post_images->ID;
$kbe_post_imgs_qry = $wpdb->get_results("Select * From ".$wpdb->prefix."posts
Where post_parent = $kbe_posts_img_ID
And post_type = 'attachment'
And post_mime_type = 'image/jpeg'");
foreach($kbe_post_imgs_qry as $get_post_img){
$kbe_img_ID = $get_post_img->ID;
// Extract path from images
$kbe_img_path = get_post_meta($kbe_img_ID, "_wp_attached_file", true);
$kbe_main_img_name = substr( $kbe_img_path, strrpos( $kbe_img_path, '/' )+1 );
$kbe_sub_path = substr($kbe_img_path, 0, strrpos( $kbe_img_path, '/'));
$kbe_img_meta = get_post_meta($kbe_img_ID, "_wp_attachment_metadata", true);
$kbe_thumbnail = $kbe_img_meta['sizes']['thumbnail']['file'];
$kbe_medium = $kbe_img_meta['sizes']['medium']['file'];
$kbe_post_thumbnail = $kbe_img_meta['sizes']['post-thumbnail']['file'];
$kbe_upload_path = $kbe_upload_dir["basedir"];
unlink($kbe_upload_path."/".$kbe_sub_path."/".$kbe_main_img_name);
unlink($kbe_upload_path."/".$kbe_sub_path."/".$kbe_thumbnail);
unlink($kbe_upload_path."/".$kbe_sub_path."/".$kbe_medium);
unlink($kbe_upload_path."/".$kbe_sub_path."/".$kbe_post_thumbnail);
//Delete all Knowledgebase Posts from `posts` Table
$wpdb->query("Delete From ".$wpdb->prefix."postmeta Where post_id = $kbe_img_ID");
}
}
//=========> Get all Posts of `kbe_knowledgebase` post type and Delete all relivent Data
$kbe_get_posts = $wpdb->get_results("Select * From ".$wpdb->prefix."posts Where post_type = 'kbe_knowledgebase'");
foreach($kbe_get_posts as $get_posts){
$kbe_posts_ID = $get_posts->ID;
//Delete all Comments of `kbe_knowledgebase` posts from `comments` Table
$wpdb->query("Delete From ".$wpdb->prefix."comments Where comment_post_ID = $kbe_posts_ID");
//Delete all Meta Data of `kbe_knowledgebase` posts from `postmeta` Table
$wpdb->query("Delete From ".$wpdb->prefix."postmeta Where post_id = $kbe_posts_ID");
//Delete all `kbe_knowledgebase` posts Realtion Data from `term_relationships` Table
$wpdb->query("Delete From ".$wpdb->prefix."term_relationships Where object_id = $kbe_posts_ID");
//Delete all `kbe_knowledgebase` Child data from `posts` Table
$wpdb->query("Delete From ".$wpdb->prefix."posts Where post_parent = $kbe_posts_ID");
//Delete all Knowledgebase Posts from `posts` Table
$wpdb->query("Delete From ".$wpdb->prefix."posts Where ID = $kbe_posts_ID");
}
//=========> Delete All Categories and Tags of Knowledgebase
$kbe_get_terms = $wpdb->get_results("Select kbe_term.*, kbe_tax.*
From ".$wpdb->prefix."terms As kbe_term
Inner join ".$wpdb->prefix."term_taxonomy As kbe_tax
On kbe_term.term_id = kbe_tax.term_id
Where kbe_tax.taxonomy = 'kbe_taxonomy'
Or kbe_tax.taxonomy = 'kbe_tags'");
foreach($kbe_get_terms as $get_term){
$kbe_term_ID = $get_term->term_id;
$wpdb->query("Delete From ".$wpdb->prefix."terms Where term_id = $kbe_term_ID");
}
//=========> Delete All Taxonomies and Tags of Knowledgebase
$wpdb->query("Delete From ".$wpdb->prefix."term_taxonomy Where taxonomy = 'kbe_taxonomy'");
$wpdb->query("Delete From ".$wpdb->prefix."term_taxonomy Where taxonomy = 'kbe_tags'");