@@ -46,6 +46,12 @@ public function __construct($dc_instance)
46
46
'description ' => 'Uncheck specified checkbox in `On Specific Post Types. ' , // uncheck specified checkbox in `On Specific Post Types:`
47
47
'optional ' => true ,
48
48
),
49
+ array (
50
+ 'type ' => 'flag ' ,
51
+ 'name ' => 'disable-avatar ' ,
52
+ 'description ' => 'This will change Avatar state from your entire site. ' , // uncheck specified checkbox in `On Specific Post Types:`
53
+ 'optional ' => true ,
54
+ ),
49
55
);
50
56
if ($ this ->dc_instance ->networkactive ){
51
57
$ disable_synopsis [] = array (
@@ -81,6 +87,12 @@ public function __construct($dc_instance)
81
87
'optional ' => true ,
82
88
'options ' => $ comment_types ,
83
89
),
90
+ array (
91
+ 'type ' => 'flag ' ,
92
+ 'name ' => 'spam ' ,
93
+ 'description ' => 'Permanently delete all spam comments on your WordPress website. ' ,
94
+ 'optional ' => true ,
95
+ ),
84
96
);
85
97
if (!$ this ->dc_instance ->networkactive ){
86
98
$ delete_synopsis [] = array (
@@ -116,6 +128,7 @@ function disable($args, $assoc_args)
116
128
$ extra_post_types = WP_CLI \Utils \get_flag_value ($ assoc_args , 'extra-post-types ' );
117
129
$ remove_xmlrpc_comments = WP_CLI \Utils \get_flag_value ($ assoc_args , 'xmlrpc ' );
118
130
$ remove_rest_API_comments = WP_CLI \Utils \get_flag_value ($ assoc_args , 'rest-api ' );
131
+ $ disable_avatar = WP_CLI \Utils \get_flag_value ($ assoc_args , 'disable-avatar ' );
119
132
120
133
if ($ types === 'all ' ) {
121
134
$ disable_comments_settings ['mode ' ] = 'remove_everywhere ' ;
@@ -150,11 +163,30 @@ function disable($args, $assoc_args)
150
163
151
164
if (isset ($ remove_xmlrpc_comments )){
152
165
$ disable_comments_settings ['remove_xmlrpc_comments ' ] = $ remove_xmlrpc_comments ;
153
- $ msg .= __ ( 'Disable Comments via XML-RPC. ' , 'disable-comments ' );
166
+ if ($ remove_xmlrpc_comments && $ remove_xmlrpc_comments !== 'false ' ){
167
+ $ msg .= __ ( 'Disable Comments via XML-RPC. ' , 'disable-comments ' );
168
+ }
169
+ else {
170
+ $ msg .= __ ( 'Enabled Comments via XML-RPC. ' , 'disable-comments ' );
171
+ }
154
172
}
155
173
if (isset ($ remove_rest_API_comments )){
156
174
$ disable_comments_settings ['remove_rest_API_comments ' ] = $ remove_rest_API_comments ;
157
- $ msg .= __ ( 'Disable Comments via REST API. ' , 'disable-comments ' );
175
+ if ($ remove_rest_API_comments && $ remove_rest_API_comments !== 'false ' ){
176
+ $ msg .= __ ( 'Disable Comments via REST API. ' , 'disable-comments ' );
177
+ }
178
+ else {
179
+ $ msg .= __ ( 'Enabled Comments via REST API. ' , 'disable-comments ' );
180
+ }
181
+ }
182
+ if ($ disable_avatar != null ){
183
+ $ disable_comments_settings ['disable_avatar ' ] = $ disable_avatar ;
184
+ if ($ disable_avatar && $ disable_avatar !== 'false ' ){
185
+ $ msg .= __ ( 'Disabled Avatar on your entire site. ' , 'disable-comments ' );
186
+ }
187
+ else {
188
+ $ msg .= __ ( 'Enabled Avatar on your entire site. ' , 'disable-comments ' );
189
+ }
158
190
}
159
191
160
192
$ this ->dc_instance ->disable_comments_settings ($ disable_comments_settings );
@@ -174,6 +206,7 @@ function delete($args, $assoc_args)
174
206
$ selected_delete_types = WP_CLI \Utils \get_flag_value ($ assoc_args , 'types ' );
175
207
$ delete_extra_post_types = WP_CLI \Utils \get_flag_value ($ assoc_args , 'extra-post-types ' );
176
208
$ delete_comment_types = WP_CLI \Utils \get_flag_value ($ assoc_args , 'comment-types ' );
209
+ $ delete_spam_types = WP_CLI \Utils \get_flag_value ($ assoc_args , 'spam ' );
177
210
178
211
179
212
if ( $ delete_comment_types === 'all ' || $ selected_delete_types === 'all ' ) {
@@ -184,6 +217,8 @@ function delete($args, $assoc_args)
184
217
} elseif (!empty ($ delete_comment_types )) {
185
218
$ delete_comments_settings ['delete_mode ' ] = 'selected_delete_comment_types ' ;
186
219
$ delete_comments_settings ['delete_comment_types ' ] = array_map ('trim ' , explode (', ' , $ delete_comment_types ));
220
+ } elseif (!empty ($ delete_spam_types )) {
221
+ $ delete_comments_settings ['delete_mode ' ] = 'delete_spam ' ;
187
222
} else {
188
223
WP_CLI ::error ("Please provide valid parameters. \nSee 'wp help dc delete' for more information. " );
189
224
}
@@ -194,6 +229,6 @@ function delete($args, $assoc_args)
194
229
}
195
230
196
231
$ logged_msg = $ this ->dc_instance ->delete_comments_settings ($ delete_comments_settings );
197
- WP_CLI ::success ( implode ( "\n" , $ logged_msg ) );
232
+ WP_CLI ::success ( is_array ( $ logged_msg ) ? implode ( "\n" , $ logged_msg ) : $ logged_msg );
198
233
}
199
234
}
0 commit comments