Version Description
Download this release
Release Info
Developer | wpdevteam |
Plugin | Disable Comments |
Version | 2.3.0 |
Comparing to | |
See all releases |
Code changes from version 2.2.4 to 2.3.0
- assets/js/disable-comments-settings-scripts.js +2 -2
- assets/js/pagination.min.js +44 -29
- disable-comments.php +18 -2
- languages/disable-comments.pot +30 -13
- readme.txt +7 -1
- views/partials/_delete.php +5 -0
assets/js/disable-comments-settings-scripts.js
CHANGED
@@ -216,7 +216,7 @@ jQuery(document).ready(function ($) {
|
|
216 |
"#delete__post__types .delete__checklist__item, #extradeletetypes"
|
217 |
);
|
218 |
var toggle_ct_bits = jQuery("#listofdeletecommenttypes");
|
219 |
-
if (jQuery("#delete_everywhere").is(":checked")) {
|
220 |
toggle_pt_bits
|
221 |
.css("opacity", ".3")
|
222 |
.find(":input")
|
@@ -249,7 +249,7 @@ jQuery(document).ready(function ($) {
|
|
249 |
}
|
250 |
|
251 |
jQuery(
|
252 |
-
"#delete_everywhere, #selected_delete_types, #selected_delete_comment_types"
|
253 |
).on('change', function () {
|
254 |
delete_comments_uihelper();
|
255 |
});
|
216 |
"#delete__post__types .delete__checklist__item, #extradeletetypes"
|
217 |
);
|
218 |
var toggle_ct_bits = jQuery("#listofdeletecommenttypes");
|
219 |
+
if (jQuery("#delete_everywhere, #delete_spam").is(":checked")) {
|
220 |
toggle_pt_bits
|
221 |
.css("opacity", ".3")
|
222 |
.find(":input")
|
249 |
}
|
250 |
|
251 |
jQuery(
|
252 |
+
"#delete_everywhere, #delete_spam, #selected_delete_types, #selected_delete_comment_types"
|
253 |
).on('change', function () {
|
254 |
delete_comments_uihelper();
|
255 |
});
|
assets/js/pagination.min.js
CHANGED
@@ -20,6 +20,21 @@
|
|
20 |
var pluginHookMethod = 'addHook';
|
21 |
|
22 |
var eventPrefix = '__pagination-';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
// Conflict, use backup
|
25 |
if ($.fn.pagination) {
|
@@ -236,15 +251,15 @@
|
|
236 |
var goButton = '<input type="button" class="J-paginationjs-go-button" value="' + goButtonText + '">';
|
237 |
var formattedString;
|
238 |
|
239 |
-
var formatNavigator =
|
240 |
-
var formatGoInput =
|
241 |
-
var formatGoButton =
|
242 |
|
243 |
-
var autoHidePrevious =
|
244 |
-
var autoHideNext =
|
245 |
|
246 |
-
var header =
|
247 |
-
var footer =
|
248 |
|
249 |
// Whether to display header
|
250 |
if (header) {
|
@@ -385,7 +400,7 @@
|
|
385 |
postData[alias.pageSize ? alias.pageSize : 'pageSize'] = pageSize;
|
386 |
postData[alias.pageNumber ? alias.pageNumber : 'pageNumber'] = pageNumber;
|
387 |
|
388 |
-
var ajaxParams =
|
389 |
var formatAjaxParams = {
|
390 |
type: 'get',
|
391 |
cache: false,
|
@@ -468,9 +483,9 @@
|
|
468 |
var self = this;
|
469 |
var model = self.model;
|
470 |
|
471 |
-
if (
|
472 |
customCallback(data, model);
|
473 |
-
} else if (
|
474 |
attributes.callback(data, model);
|
475 |
}
|
476 |
},
|
@@ -587,7 +602,7 @@
|
|
587 |
|
588 |
if (typeof locator === 'string') {
|
589 |
result = locator;
|
590 |
-
} else if (
|
591 |
result = locator();
|
592 |
} else {
|
593 |
throwError('"locator" is incorrect. (String | Function)');
|
@@ -629,7 +644,7 @@
|
|
629 |
callback(attributes.dataSource = self.filterDataByLocator(dataSource));
|
630 |
} else if (Helpers.isArray(dataSource)) {
|
631 |
callback(attributes.dataSource = dataSource);
|
632 |
-
} else if (
|
633 |
attributes.dataSource(function(data) {
|
634 |
if (!Helpers.isArray(data)) {
|
635 |
throwError('The parameter of "done" Function should be an Array.');
|
@@ -653,7 +668,7 @@
|
|
653 |
var args = Array.prototype.slice.apply(arguments);
|
654 |
args.shift();
|
655 |
|
656 |
-
if (attributes[hook] &&
|
657 |
if (attributes[hook].apply(global, args) === false) {
|
658 |
result = false;
|
659 |
}
|
@@ -676,11 +691,11 @@
|
|
676 |
|
677 |
// Go to specified page number
|
678 |
container.on(eventPrefix + 'go', function(event, pageNumber, done) {
|
679 |
-
pageNumber = parseInt(
|
680 |
|
681 |
if (!pageNumber) return;
|
682 |
|
683 |
-
if (
|
684 |
throwError('"pageNumber" is incorrect. (Number)');
|
685 |
}
|
686 |
|
@@ -688,9 +703,9 @@
|
|
688 |
});
|
689 |
|
690 |
// Page number button click
|
691 |
-
el.
|
692 |
var current = $(event.currentTarget);
|
693 |
-
var pageNumber =
|
694 |
|
695 |
if (!pageNumber || current.hasClass(attributes.disableClassName) || current.hasClass(attributes.activeClassName)) return;
|
696 |
|
@@ -706,9 +721,9 @@
|
|
706 |
});
|
707 |
|
708 |
// Previous button click
|
709 |
-
el.
|
710 |
var current = $(event.currentTarget);
|
711 |
-
var pageNumber =
|
712 |
|
713 |
if (!pageNumber || current.hasClass(attributes.disableClassName)) return;
|
714 |
|
@@ -724,9 +739,9 @@
|
|
724 |
});
|
725 |
|
726 |
// Next button click
|
727 |
-
el.
|
728 |
var current = $(event.currentTarget);
|
729 |
-
var pageNumber =
|
730 |
|
731 |
if (!pageNumber || current.hasClass(attributes.disableClassName)) return;
|
732 |
|
@@ -742,7 +757,7 @@
|
|
742 |
});
|
743 |
|
744 |
// Go button click
|
745 |
-
el.
|
746 |
var pageNumber = $('.J-paginationjs-go-pagenumber', el).val();
|
747 |
|
748 |
// Before Go button clicked
|
@@ -755,7 +770,7 @@
|
|
755 |
});
|
756 |
|
757 |
// go input enter
|
758 |
-
el.
|
759 |
if (event.which === 13) {
|
760 |
var pageNumber = $(event.currentTarget).val();
|
761 |
|
@@ -828,7 +843,7 @@
|
|
828 |
// Pagination has been initialized
|
829 |
if (container.data('pagination') && container.data('pagination').initialized === true) {
|
830 |
// Handle events
|
831 |
-
if (
|
832 |
// eg: container.pagination(5)
|
833 |
container.trigger.call(this, eventPrefix + 'go', options, arguments[1]);
|
834 |
return this;
|
@@ -1000,7 +1015,7 @@
|
|
1000 |
throwError('Missing argument.');
|
1001 |
}
|
1002 |
|
1003 |
-
if (
|
1004 |
throwError('callback must be a function.');
|
1005 |
}
|
1006 |
|
@@ -1063,23 +1078,23 @@
|
|
1063 |
if (args.totalNumberLocator === undefined) {
|
1064 |
if (args.totalNumber === undefined) {
|
1065 |
throwError('"totalNumber" is required.');
|
1066 |
-
} else if (
|
1067 |
throwError('"totalNumber" is incorrect. (Number)');
|
1068 |
}
|
1069 |
} else {
|
1070 |
-
if (
|
1071 |
throwError('"totalNumberLocator" should be a Function.');
|
1072 |
}
|
1073 |
}
|
1074 |
} else if (Helpers.isObject(args.dataSource)) {
|
1075 |
if (typeof args.locator === 'undefined') {
|
1076 |
throwError('"dataSource" is an Object, please specify "locator".');
|
1077 |
-
} else if (typeof args.locator !== 'string' &&
|
1078 |
throwError('' + args.locator + ' is incorrect. (String | Function)');
|
1079 |
}
|
1080 |
}
|
1081 |
|
1082 |
-
if (args.formatResult !== undefined &&
|
1083 |
throwError('"formatResult" should be a Function.');
|
1084 |
}
|
1085 |
}
|
20 |
var pluginHookMethod = 'addHook';
|
21 |
|
22 |
var eventPrefix = '__pagination-';
|
23 |
+
var isFunction = function(func){
|
24 |
+
return typeof func === "function";
|
25 |
+
}
|
26 |
+
var isNumeric = function( obj ) {
|
27 |
+
// As of jQuery 3.0, isNumeric is limited to
|
28 |
+
// strings and numbers (primitives or objects)
|
29 |
+
// that can be coerced to finite numbers (gh-2662)
|
30 |
+
var type = typeof obj;
|
31 |
+
return ( type === "number" || type === "string" ) &&
|
32 |
+
|
33 |
+
// parseFloat NaNs numeric-cast false positives ("")
|
34 |
+
// ...but misinterprets leading-number strings, e.g. hex literals ("0x...")
|
35 |
+
// subtraction forces infinities to NaN
|
36 |
+
!isNaN( obj - parseFloat( obj ) );
|
37 |
+
};
|
38 |
|
39 |
// Conflict, use backup
|
40 |
if ($.fn.pagination) {
|
251 |
var goButton = '<input type="button" class="J-paginationjs-go-button" value="' + goButtonText + '">';
|
252 |
var formattedString;
|
253 |
|
254 |
+
var formatNavigator = isFunction(attributes.formatNavigator) ? attributes.formatNavigator(currentPage, totalPage, totalNumber) : attributes.formatNavigator;
|
255 |
+
var formatGoInput = isFunction(attributes.formatGoInput) ? attributes.formatGoInput(goInput, currentPage, totalPage, totalNumber) : attributes.formatGoInput;
|
256 |
+
var formatGoButton = isFunction(attributes.formatGoButton) ? attributes.formatGoButton(goButton, currentPage, totalPage, totalNumber) : attributes.formatGoButton;
|
257 |
|
258 |
+
var autoHidePrevious = isFunction(attributes.autoHidePrevious) ? attributes.autoHidePrevious() : attributes.autoHidePrevious;
|
259 |
+
var autoHideNext = isFunction(attributes.autoHideNext) ? attributes.autoHideNext() : attributes.autoHideNext;
|
260 |
|
261 |
+
var header = isFunction(attributes.header) ? attributes.header(currentPage, totalPage, totalNumber) : attributes.header;
|
262 |
+
var footer = isFunction(attributes.footer) ? attributes.footer(currentPage, totalPage, totalNumber) : attributes.footer;
|
263 |
|
264 |
// Whether to display header
|
265 |
if (header) {
|
400 |
postData[alias.pageSize ? alias.pageSize : 'pageSize'] = pageSize;
|
401 |
postData[alias.pageNumber ? alias.pageNumber : 'pageNumber'] = pageNumber;
|
402 |
|
403 |
+
var ajaxParams = isFunction(attributes.ajax) ? attributes.ajax() : attributes.ajax;
|
404 |
var formatAjaxParams = {
|
405 |
type: 'get',
|
406 |
cache: false,
|
483 |
var self = this;
|
484 |
var model = self.model;
|
485 |
|
486 |
+
if (isFunction(customCallback)) {
|
487 |
customCallback(data, model);
|
488 |
+
} else if (isFunction(attributes.callback)) {
|
489 |
attributes.callback(data, model);
|
490 |
}
|
491 |
},
|
602 |
|
603 |
if (typeof locator === 'string') {
|
604 |
result = locator;
|
605 |
+
} else if (isFunction(locator)) {
|
606 |
result = locator();
|
607 |
} else {
|
608 |
throwError('"locator" is incorrect. (String | Function)');
|
644 |
callback(attributes.dataSource = self.filterDataByLocator(dataSource));
|
645 |
} else if (Helpers.isArray(dataSource)) {
|
646 |
callback(attributes.dataSource = dataSource);
|
647 |
+
} else if (isFunction(dataSource)) {
|
648 |
attributes.dataSource(function(data) {
|
649 |
if (!Helpers.isArray(data)) {
|
650 |
throwError('The parameter of "done" Function should be an Array.');
|
668 |
var args = Array.prototype.slice.apply(arguments);
|
669 |
args.shift();
|
670 |
|
671 |
+
if (attributes[hook] && isFunction(attributes[hook])) {
|
672 |
if (attributes[hook].apply(global, args) === false) {
|
673 |
result = false;
|
674 |
}
|
691 |
|
692 |
// Go to specified page number
|
693 |
container.on(eventPrefix + 'go', function(event, pageNumber, done) {
|
694 |
+
pageNumber = parseInt(pageNumber);
|
695 |
|
696 |
if (!pageNumber) return;
|
697 |
|
698 |
+
if (!isNumeric(pageNumber)) {
|
699 |
throwError('"pageNumber" is incorrect. (Number)');
|
700 |
}
|
701 |
|
703 |
});
|
704 |
|
705 |
// Page number button click
|
706 |
+
el.on('click', '.J-paginationjs-page', function(event) {
|
707 |
var current = $(event.currentTarget);
|
708 |
+
var pageNumber = current.attr('data-num').trim();
|
709 |
|
710 |
if (!pageNumber || current.hasClass(attributes.disableClassName) || current.hasClass(attributes.activeClassName)) return;
|
711 |
|
721 |
});
|
722 |
|
723 |
// Previous button click
|
724 |
+
el.on('click', '.J-paginationjs-previous', function(event) {
|
725 |
var current = $(event.currentTarget);
|
726 |
+
var pageNumber = current.attr('data-num').trim();
|
727 |
|
728 |
if (!pageNumber || current.hasClass(attributes.disableClassName)) return;
|
729 |
|
739 |
});
|
740 |
|
741 |
// Next button click
|
742 |
+
el.on('click', '.J-paginationjs-next', function(event) {
|
743 |
var current = $(event.currentTarget);
|
744 |
+
var pageNumber = current.attr('data-num').trim();
|
745 |
|
746 |
if (!pageNumber || current.hasClass(attributes.disableClassName)) return;
|
747 |
|
757 |
});
|
758 |
|
759 |
// Go button click
|
760 |
+
el.on('click', '.J-paginationjs-go-button', function(event) {
|
761 |
var pageNumber = $('.J-paginationjs-go-pagenumber', el).val();
|
762 |
|
763 |
// Before Go button clicked
|
770 |
});
|
771 |
|
772 |
// go input enter
|
773 |
+
el.on('keyup', '.J-paginationjs-go-pagenumber', function(event) {
|
774 |
if (event.which === 13) {
|
775 |
var pageNumber = $(event.currentTarget).val();
|
776 |
|
843 |
// Pagination has been initialized
|
844 |
if (container.data('pagination') && container.data('pagination').initialized === true) {
|
845 |
// Handle events
|
846 |
+
if (isNumeric(options)) {
|
847 |
// eg: container.pagination(5)
|
848 |
container.trigger.call(this, eventPrefix + 'go', options, arguments[1]);
|
849 |
return this;
|
1015 |
throwError('Missing argument.');
|
1016 |
}
|
1017 |
|
1018 |
+
if (!isFunction(callback)) {
|
1019 |
throwError('callback must be a function.');
|
1020 |
}
|
1021 |
|
1078 |
if (args.totalNumberLocator === undefined) {
|
1079 |
if (args.totalNumber === undefined) {
|
1080 |
throwError('"totalNumber" is required.');
|
1081 |
+
} else if (!isNumeric(args.totalNumber)) {
|
1082 |
throwError('"totalNumber" is incorrect. (Number)');
|
1083 |
}
|
1084 |
} else {
|
1085 |
+
if (!isFunction(args.totalNumberLocator)) {
|
1086 |
throwError('"totalNumberLocator" should be a Function.');
|
1087 |
}
|
1088 |
}
|
1089 |
} else if (Helpers.isObject(args.dataSource)) {
|
1090 |
if (typeof args.locator === 'undefined') {
|
1091 |
throwError('"dataSource" is an Object, please specify "locator".');
|
1092 |
+
} else if (typeof args.locator !== 'string' && !isFunction(args.locator)) {
|
1093 |
throwError('' + args.locator + ' is incorrect. (String | Function)');
|
1094 |
}
|
1095 |
}
|
1096 |
|
1097 |
+
if (args.formatResult !== undefined && !isFunction(args.formatResult)) {
|
1098 |
throwError('"formatResult" should be a Function.');
|
1099 |
}
|
1100 |
}
|
disable-comments.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: Disable Comments
|
5 |
* Plugin URI: https://wordpress.org/plugins/disable-comments/
|
6 |
* Description: Allows administrators to globally disable comments on their site. Comments can be disabled according to post type. You could bulk delete comments using Tools.
|
7 |
-
* Version: 2.
|
8 |
* Author: WPDeveloper
|
9 |
* Author URI: https://wpdeveloper.net
|
10 |
* License: GPL-3.0+
|
@@ -37,7 +37,7 @@ class Disable_Comments
|
|
37 |
|
38 |
function __construct()
|
39 |
{
|
40 |
-
define('DC_VERSION', '2.
|
41 |
define('DC_PLUGIN_SLUG', 'disable_comments_settings');
|
42 |
define('DC_PLUGIN_ROOT_PATH', dirname(__FILE__));
|
43 |
define('DC_PLUGIN_VIEWS_PATH', DC_PLUGIN_ROOT_PATH . '/views/');
|
@@ -621,6 +621,11 @@ class Disable_Comments
|
|
621 |
}
|
622 |
|
623 |
remove_submenu_page('options-general.php', 'options-discussion.php');
|
|
|
|
|
|
|
|
|
|
|
624 |
}
|
625 |
}
|
626 |
|
@@ -1044,8 +1049,19 @@ class Disable_Comments
|
|
1044 |
|
1045 |
$log = __('All comments have been deleted', 'disable-comments');
|
1046 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1047 |
}
|
1048 |
}
|
|
|
1049 |
return $log;
|
1050 |
}
|
1051 |
|
4 |
* Plugin Name: Disable Comments
|
5 |
* Plugin URI: https://wordpress.org/plugins/disable-comments/
|
6 |
* Description: Allows administrators to globally disable comments on their site. Comments can be disabled according to post type. You could bulk delete comments using Tools.
|
7 |
+
* Version: 2.3.0
|
8 |
* Author: WPDeveloper
|
9 |
* Author URI: https://wpdeveloper.net
|
10 |
* License: GPL-3.0+
|
37 |
|
38 |
function __construct()
|
39 |
{
|
40 |
+
define('DC_VERSION', '2.3.0');
|
41 |
define('DC_PLUGIN_SLUG', 'disable_comments_settings');
|
42 |
define('DC_PLUGIN_ROOT_PATH', dirname(__FILE__));
|
43 |
define('DC_PLUGIN_VIEWS_PATH', DC_PLUGIN_ROOT_PATH . '/views/');
|
621 |
}
|
622 |
|
623 |
remove_submenu_page('options-general.php', 'options-discussion.php');
|
624 |
+
// disabling gravatar if enabled.
|
625 |
+
$show_avatar = get_option('show_avatars', false);
|
626 |
+
if($show_avatar){
|
627 |
+
update_option('show_avatars', false);
|
628 |
+
}
|
629 |
}
|
630 |
}
|
631 |
|
1049 |
|
1050 |
$log = __('All comments have been deleted', 'disable-comments');
|
1051 |
}
|
1052 |
+
} elseif ($formArray['delete_mode'] == 'delete_spam') {
|
1053 |
+
|
1054 |
+
$wpdb->query("DELETE cmeta FROM $wpdb->commentmeta cmeta INNER JOIN $wpdb->comments comments ON cmeta.comment_id=comments.comment_ID WHERE comments.comment_approved = 'spam'");
|
1055 |
+
$wpdb->query("DELETE comments FROM $wpdb->comments comments WHERE comments.comment_approved = 'spam'");
|
1056 |
+
|
1057 |
+
|
1058 |
+
$wpdb->query("OPTIMIZE TABLE $wpdb->commentmeta");
|
1059 |
+
$wpdb->query("OPTIMIZE TABLE $wpdb->comments");
|
1060 |
+
|
1061 |
+
$log = __('All spam comments have been deleted', 'disable-comments');
|
1062 |
}
|
1063 |
}
|
1064 |
+
delete_transient('wc_count_comments');
|
1065 |
return $log;
|
1066 |
}
|
1067 |
|
languages/disable-comments.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the GPL-3.0+.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Disable Comments 2.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/disable-comments\n"
|
7 |
-
"POT-Creation-Date: 2021-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -70,34 +70,38 @@ msgid ""
|
|
70 |
"page</a> to choose which post types to disable comments on."
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: disable-comments.php:
|
74 |
msgid "Settings"
|
75 |
msgstr ""
|
76 |
|
77 |
-
#: disable-comments.php:
|
78 |
msgid "Tools"
|
79 |
msgstr ""
|
80 |
|
81 |
-
#: disable-comments.php:
|
82 |
msgid "Delete Comments"
|
83 |
msgstr ""
|
84 |
|
85 |
-
#: disable-comments.php:
|
86 |
msgid "Default (no type)"
|
87 |
msgstr ""
|
88 |
|
89 |
-
#: disable-comments.php:
|
90 |
msgid "Saved"
|
91 |
msgstr ""
|
92 |
|
93 |
-
#: disable-comments.php:
|
94 |
msgid "All comments have been deleted"
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: disable-comments.php:
|
98 |
msgid "Internal error occured. Please try again later."
|
99 |
msgstr ""
|
100 |
|
|
|
|
|
|
|
|
|
101 |
#: includes/class-plugin-usage-tracker.php:378
|
102 |
msgid ""
|
103 |
"We can't detect any plugin information. This is most probably because you "
|
@@ -218,7 +222,8 @@ msgid "Permanently delete all comments on your WordPress website"
|
|
218 |
msgstr ""
|
219 |
|
220 |
#: views/partials/_delete.php:23 views/partials/_delete.php:46
|
221 |
-
#: views/partials/_delete.php:59 views/partials/
|
|
|
222 |
msgid "Warnings:"
|
223 |
msgstr ""
|
224 |
|
@@ -259,11 +264,23 @@ msgid ""
|
|
259 |
"a database backup."
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: views/partials/_delete.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
msgid "Total Comments:"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: views/partials/_delete.php:
|
267 |
msgid "No comments are available for deletion."
|
268 |
msgstr ""
|
269 |
|
@@ -428,7 +445,7 @@ msgstr ""
|
|
428 |
msgid "https://wpdeveloper.net"
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: disable-comments.php:
|
432 |
msgctxt "settings menu title"
|
433 |
msgid "Disable Comments"
|
434 |
msgstr ""
|
2 |
# This file is distributed under the GPL-3.0+.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Disable Comments 2.3.0\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/disable-comments\n"
|
7 |
+
"POT-Creation-Date: 2021-12-14 02:30:59+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
70 |
"page</a> to choose which post types to disable comments on."
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: disable-comments.php:698 views/partials/_disable.php:3
|
74 |
msgid "Settings"
|
75 |
msgstr ""
|
76 |
|
77 |
+
#: disable-comments.php:699
|
78 |
msgid "Tools"
|
79 |
msgstr ""
|
80 |
|
81 |
+
#: disable-comments.php:718 views/partials/_delete.php:72
|
82 |
msgid "Delete Comments"
|
83 |
msgstr ""
|
84 |
|
85 |
+
#: disable-comments.php:783
|
86 |
msgid "Default (no type)"
|
87 |
msgstr ""
|
88 |
|
89 |
+
#: disable-comments.php:922
|
90 |
msgid "Saved"
|
91 |
msgstr ""
|
92 |
|
93 |
+
#: disable-comments.php:993 disable-comments.php:1027 disable-comments.php:1050
|
94 |
msgid "All comments have been deleted"
|
95 |
msgstr ""
|
96 |
|
97 |
+
#: disable-comments.php:995 disable-comments.php:999
|
98 |
msgid "Internal error occured. Please try again later."
|
99 |
msgstr ""
|
100 |
|
101 |
+
#: disable-comments.php:1061
|
102 |
+
msgid "All spam comments have been deleted"
|
103 |
+
msgstr ""
|
104 |
+
|
105 |
#: includes/class-plugin-usage-tracker.php:378
|
106 |
msgid ""
|
107 |
"We can't detect any plugin information. This is most probably because you "
|
222 |
msgstr ""
|
223 |
|
224 |
#: views/partials/_delete.php:23 views/partials/_delete.php:46
|
225 |
+
#: views/partials/_delete.php:59 views/partials/_delete.php:64
|
226 |
+
#: views/partials/_disable.php:41
|
227 |
msgid "Warnings:"
|
228 |
msgstr ""
|
229 |
|
264 |
"a database backup."
|
265 |
msgstr ""
|
266 |
|
267 |
+
#: views/partials/_delete.php:63
|
268 |
+
msgid "Spam:"
|
269 |
+
msgstr ""
|
270 |
+
|
271 |
+
#: views/partials/_delete.php:63
|
272 |
+
msgid "Permanently delete all spam comments on your WordPress website"
|
273 |
+
msgstr ""
|
274 |
+
|
275 |
+
#: views/partials/_delete.php:64
|
276 |
+
msgid "This will permanently delete spam comments everywhere on your website."
|
277 |
+
msgstr ""
|
278 |
+
|
279 |
+
#: views/partials/_delete.php:66
|
280 |
msgid "Total Comments:"
|
281 |
msgstr ""
|
282 |
|
283 |
+
#: views/partials/_delete.php:210
|
284 |
msgid "No comments are available for deletion."
|
285 |
msgstr ""
|
286 |
|
445 |
msgid "https://wpdeveloper.net"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: disable-comments.php:708
|
449 |
msgctxt "settings menu title"
|
450 |
msgid "Disable Comments"
|
451 |
msgstr ""
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: comments, delete comments, disable comments, spam comment, disable, stop s
|
|
5 |
Requires at least: 5.0
|
6 |
Tested up to: 5.8
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 2.
|
9 |
License: GPL-3.0-or-later
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
@@ -191,6 +191,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|
191 |
and this project adheres to [Semantic Versioning](http://semver.org/).
|
192 |
This will be maiintained from August 19, 2020 - @asif2bd
|
193 |
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
= [2.2.4] - 2021-11-09 =
|
195 |
* Added: Ajax pagination in Subsite area (Multisite network).
|
196 |
* Added: Ajax search in Subsite area (Multisite network).
|
5 |
Requires at least: 5.0
|
6 |
Tested up to: 5.8
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 2.3.0
|
9 |
License: GPL-3.0-or-later
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
191 |
and this project adheres to [Semantic Versioning](http://semver.org/).
|
192 |
This will be maiintained from August 19, 2020 - @asif2bd
|
193 |
|
194 |
+
= [2.3.0] - 2021-12-14 =
|
195 |
+
* New Feature: Delete Spam Comments.
|
196 |
+
* Updated deprecated jQuery library.
|
197 |
+
* Improvement: Disable Gravatar request.
|
198 |
+
* Few minor bug fixes and improvement.
|
199 |
+
|
200 |
= [2.2.4] - 2021-11-09 =
|
201 |
* Added: Ajax pagination in Subsite area (Multisite network).
|
202 |
* Added: Ajax search in Subsite area (Multisite network).
|
views/partials/_delete.php
CHANGED
@@ -58,6 +58,11 @@
|
|
58 |
</ul>
|
59 |
<p class="disable__option__description"><span class="danger"><?php _e('Warnings:', 'disable-comments'); ?></span> <?php _e('Deleting comments by comment type will remove existing comment entries of the selected comment type(s) in the database and cannot be reverted without a database backup.', 'disable-comments'); ?></p>
|
60 |
</div>
|
|
|
|
|
|
|
|
|
|
|
61 |
<h4 class="total-comments"><?php _e('Total Comments:', 'disable-comments'); ?> <?php echo $this->get_all_comments_number(); ?></h4>
|
62 |
</div>
|
63 |
<?php if(is_network_admin()):?>
|
58 |
</ul>
|
59 |
<p class="disable__option__description"><span class="danger"><?php _e('Warnings:', 'disable-comments'); ?></span> <?php _e('Deleting comments by comment type will remove existing comment entries of the selected comment type(s) in the database and cannot be reverted without a database backup.', 'disable-comments'); ?></p>
|
60 |
</div>
|
61 |
+
<div class="disable_option dc-text__block mb30 mt30">
|
62 |
+
<input type="radio" id="delete_spam" name="delete_mode" value="delete_spam" />
|
63 |
+
<label for="delete_spam"><?php _e('Spam:', 'disable-comments'); ?> <span><?php _e('Permanently delete all spam comments on your WordPress website', 'disable-comments'); ?></span></label>
|
64 |
+
<p class="disable__option__description"><span class="danger"><?php _e('Warnings:', 'disable-comments'); ?></span> <?php _e('This will permanently delete spam comments everywhere on your website.', 'disable-comments'); ?></p>
|
65 |
+
</div>
|
66 |
<h4 class="total-comments"><?php _e('Total Comments:', 'disable-comments'); ?> <?php echo $this->get_all_comments_number(); ?></h4>
|
67 |
</div>
|
68 |
<?php if(is_network_admin()):?>
|