Version Description
- 2020/07/06
- Fix - automatically deactivate free version if pro version is activated - Thank you Jordi.
- Fix - Missing link to privacy data.
- Fix - Not correctly identifying original post when comparing with post meta values - Thank you Reinhard.
- New - more details how long a process took is now stored in the log.
- 242,749 downloads
Download this release
Release Info
| Developer | cleverplugins |
| Plugin | |
| Version | 4.4.5 |
| Comparing to | |
| See all releases | |
Code changes from version 4.4.4 to 4.4.5
- css/delete-duplicate-posts-min.css +1 -0
- css/delete-duplicate-posts.css +35 -11
- delete-duplicate-posts.php +78 -76
- readme.txt +11 -3
- sidebar.php +20 -20
css/delete-duplicate-posts-min.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
#ddpprobutton{font-size:1.2em;width:100%;text-align:center}#ddpprobutton span{clear:both;display:block;line-height:.8em;font-size:.8em;margin-bottom:10px}.moneybackguarantee{text-align:center}.moneybackguarantee p{font-size:.9em}.statusdiv{background-color:#ffffff;padding:.8em;clear:both}#cp-ddp-reviewlink ul{float:left;width:100%;margin-bottom:10px}#cp-ddp-reviewlink ul li{float:left;margin-right:10px;vertical-align:middle;line-height:30px}#cp-ddp-reviewlinkul li .dashicons{line-height:30px;margin-right:5px}.tools_page_delete-duplicate-posts .updated{clear:both}#ddp_container #dashboard .spinner{float:left}.sidebarrow .faqbullets{padding-left:30px;font-size:.8em}.sidebarrow .faqbullets li{list-style-type:square}.sidebarrow .linklist{padding-left:20px}.sidebarrow .linklist li{list-style-type:square}.sidebarrow .linklist li a{text-decoration:none}.sidebarrow .linklist li a:hover{text-decoration:underline}.sidebarrow .linklist span{font-size:12px;color:#999;margin-left:8px;font-weight:400}.statusdiv h3{text-align:center}.statusdiv .dupelist{margin-bottom:10px}.statusdiv .warning{border:1px solid #ff0000;padding-top:5px;padding-bottom:5px;padding-left:10px;padding-right:10px;text-align:center}.statusdiv .center{text-align:center}#ddp_compare_metatag{margin-top:10px;margin-left:25px}.ddpcomparemethod .optiondesc{font-size:12px;color:#999;margin-left:8px;font-weight:400}.ddpcomparemethod .ddp-compare-details{display:none}.duplicatetable{display:none}.statusmessage{display:none}.ddp_content_wrapper{display:table;width:100%;table-layout:fixed}.ddp_content_cell{display:table-cell;height:500px;margin:0;padding:0px;vertical-align:top}#ddp_container{margin:0;padding:0 10px 0 0px;vertical-align:top;display:table-cell}#sidebar-container{width:260px;background:#ffffff;border:1px solid #ccd0d4;box-shadow:0 1px 1px rgba(0,0,0,0.04);margin:5px 15px 2px;padding:1px 12px}#sidebar-container .sidebarrow{float:left;width:100%;clear:both;margin-bottom:10px}#sidebar-container .sidebarrow:last-of-type{border-bottom:0px}#sidebar-container .sidebarrow img.logo{width:50%;margin-bottom:10px;display:block}#log{border:1px solid #ccd0d4;overflow-x:hidden;overflow-x:auto;max-height:280px;background:#ffffff;padding:10px}
|
css/delete-duplicate-posts.css
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
.statusdiv {
|
| 2 |
background-color: #ffffff;
|
| 3 |
padding: .8em;
|
|
@@ -5,22 +29,22 @@
|
|
| 5 |
|
| 6 |
}
|
| 7 |
#cp-ddp-reviewlink ul {
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
#cp-ddp-reviewlink ul li {
|
| 13 |
|
| 14 |
-
float: left;
|
| 15 |
-
margin-right: 10px;
|
| 16 |
-
vertical-align: middle;
|
| 17 |
-
line-height: 30px;
|
| 18 |
}
|
| 19 |
|
| 20 |
#cp-ddp-reviewlinkul li .dashicons {
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
|
| 25 |
.tools_page_delete-duplicate-posts .updated {
|
| 26 |
clear: both;
|
| 1 |
+
#ddpprobutton {
|
| 2 |
+
font-size: 1.2em;
|
| 3 |
+
width: 100%;
|
| 4 |
+
text-align: center;
|
| 5 |
+
}
|
| 6 |
+
|
| 7 |
+
#ddpprobutton span {
|
| 8 |
+
clear: both;
|
| 9 |
+
display: block;
|
| 10 |
+
line-height: .8em;
|
| 11 |
+
font-size: .8em;
|
| 12 |
+
margin-bottom: 10px;
|
| 13 |
+
}
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
.moneybackguarantee {
|
| 17 |
+
text-align: center;
|
| 18 |
+
}
|
| 19 |
+
|
| 20 |
+
.moneybackguarantee p {
|
| 21 |
+
font-size: .9em;
|
| 22 |
+
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
.statusdiv {
|
| 26 |
background-color: #ffffff;
|
| 27 |
padding: .8em;
|
| 29 |
|
| 30 |
}
|
| 31 |
#cp-ddp-reviewlink ul {
|
| 32 |
+
float: left;
|
| 33 |
+
width: 100%;
|
| 34 |
+
margin-bottom: 10px;
|
| 35 |
+
}
|
| 36 |
#cp-ddp-reviewlink ul li {
|
| 37 |
|
| 38 |
+
float: left;
|
| 39 |
+
margin-right: 10px;
|
| 40 |
+
vertical-align: middle;
|
| 41 |
+
line-height: 30px;
|
| 42 |
}
|
| 43 |
|
| 44 |
#cp-ddp-reviewlinkul li .dashicons {
|
| 45 |
+
line-height: 30px;
|
| 46 |
+
margin-right: 5px;
|
| 47 |
+
}
|
| 48 |
|
| 49 |
.tools_page_delete-duplicate-posts .updated {
|
| 50 |
clear: both;
|
delete-duplicate-posts.php
CHANGED
|
@@ -5,7 +5,7 @@ Plugin Name: Delete Duplicate Posts
|
|
| 5 |
Plugin Script: delete-duplicate-posts.php
|
| 6 |
Plugin URI: https://cleverplugins.com
|
| 7 |
Description: Remove duplicate blogposts on your blog! Searches and removes duplicate posts and their post meta tags. You can delete posts, pages and other Custom Post Types enabled on your website.
|
| 8 |
-
Version: 4.4.
|
| 9 |
Author: cleverplugins.com
|
| 10 |
Author URI: https://cleverplugins.com
|
| 11 |
Min WP Version: 4.7
|
|
@@ -16,71 +16,78 @@ Domain Path: /languages
|
|
| 16 |
/*
|
| 17 |
TODO - Lav så man kan vælge imellem trash og delete (check site opsætning?)
|
| 18 |
*/
|
| 19 |
-
|
|
|
|
|
|
|
| 20 |
|
| 21 |
-
if (
|
|
|
|
|
|
|
|
|
|
| 22 |
// Create a helper function for easy SDK access.
|
| 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 |
-
delete_option( 'delete_duplicate_posts_options_v4' );
|
| 80 |
-
delete_option( 'cp_ddp_freemius_state' );
|
| 81 |
}
|
| 82 |
|
| 83 |
-
require plugin_dir_path( __FILE__ ) . 'vendor/autoload.php';
|
| 84 |
add_action( 'admin_init', array( 'PAnD', 'init' ) );
|
| 85 |
|
| 86 |
if ( !class_exists( 'Delete_Duplicate_Posts' ) ) {
|
|
@@ -221,7 +228,7 @@ if ( !class_exists( 'Delete_Duplicate_Posts' ) ) {
|
|
| 221 |
?></h3>
|
| 222 |
|
| 223 |
<p><?php
|
| 224 |
-
echo esc_html__( 'Gathering non-sensitive diagnostic data about the plugin install helps us improve the plugin.', 'delete-duplicate-posts' ) . ' <a href="' . esc_url( '/' ) . '" target="_blank">' . esc_html__( 'Read more about what we collect.', 'delete-duplicate-posts' ) . '</a>' ;
|
| 225 |
?></p>
|
| 226 |
|
| 227 |
<p>
|
|
@@ -243,7 +250,7 @@ if ( !class_exists( 'Delete_Duplicate_Posts' ) ) {
|
|
| 243 |
?>" />
|
| 244 |
|
| 245 |
</div>
|
| 246 |
-
|
| 247 |
}
|
| 248 |
|
| 249 |
}
|
|
@@ -277,7 +284,7 @@ if ( !class_exists( 'Delete_Duplicate_Posts' ) ) {
|
|
| 277 |
<span class="dashicons dashicons-smiley"></span><a href="#" class="cp-ddp-dismiss-review-notice dismiss-this" target="_blank" rel="noopener">I already did</a>
|
| 278 |
</p>
|
| 279 |
</div>
|
| 280 |
-
|
| 281 |
}
|
| 282 |
|
| 283 |
}
|
|
@@ -347,6 +354,7 @@ if ( !class_exists( 'Delete_Duplicate_Posts' ) ) {
|
|
| 347 |
self::timerstart( 'return_duplicates' );
|
| 348 |
$options = self::get_options();
|
| 349 |
$comparemethod = 'titlecompare';
|
|
|
|
| 350 |
global $ddp_fs ;
|
| 351 |
$currstep = ( isset( $_POST['step'] ) ? absint( $_POST['step'] ) : 0 );
|
| 352 |
|
|
@@ -436,7 +444,8 @@ if ( !class_exists( 'Delete_Duplicate_Posts' ) ) {
|
|
| 436 |
if ( !isset( $json_response['dupescount'] ) ) {
|
| 437 |
$json_response['dupescount'] = 0;
|
| 438 |
}
|
| 439 |
-
self::
|
|
|
|
| 440 |
} else {
|
| 441 |
$json_response['msg'] = __( 'Error: Choose post types to check.', 'delete-duplicate-posts' );
|
| 442 |
$return_duplicates_time = self::timerstop( 'return_duplicates' );
|
|
@@ -447,7 +456,9 @@ if ( !class_exists( 'Delete_Duplicate_Posts' ) ) {
|
|
| 447 |
wp_send_json_error( $json_response );
|
| 448 |
}
|
| 449 |
|
| 450 |
-
|
|
|
|
|
|
|
| 451 |
$json_response['msg'] = $json_response['dupescount'] . ' duplicates found. Showing up to ' . $viewlimit . ' Time: ' . $return_duplicates_time . ' sec.';
|
| 452 |
// @todo i8n
|
| 453 |
if ( $return ) {
|
|
@@ -689,7 +700,7 @@ if ( !class_exists( 'Delete_Duplicate_Posts' ) ) {
|
|
| 689 |
$pluginver = self::get_plugin_version();
|
| 690 |
wp_enqueue_style(
|
| 691 |
'delete-duplicate-posts',
|
| 692 |
-
plugins_url( '/css/delete-duplicate-posts.css', __FILE__ ),
|
| 693 |
array(),
|
| 694 |
$pluginver
|
| 695 |
);
|
|
@@ -1342,25 +1353,16 @@ if ( !class_exists( 'Delete_Duplicate_Posts' ) ) {
|
|
| 1342 |
?>
|
| 1343 |
|
| 1344 |
<?php
|
| 1345 |
-
|
| 1346 |
if ( function_exists( 'ddp_fs' ) ) {
|
| 1347 |
global $ddp_fs ;
|
| 1348 |
-
// Only loads beacon for registered users
|
| 1349 |
-
|
| 1350 |
-
if ( $ddp_fs->is_registered() ) {
|
| 1351 |
-
echo '<script type="text/javascript">!function(e,t,n){function a(){var e=t.getElementsByTagName("script")[0],n=t.createElement("script");n.type="text/javascript",n.async=!0,n.src="https://beacon-v2.helpscout.net",e.parentNode.insertBefore(n,e)}if(e.Beacon=n=function(t,n,a){e.Beacon.readyQueue.push({method:t,options:n,data:a})},n.readyQueue=[],"complete"===t.readyState)return a();e.attachEvent?e.attachEvent("onload",a):e.addEventListener("load",a,!1)}(window,document,window.Beacon||function(){});</script><script type="text/javascript">window.Beacon("init", "3ad4aee5-9cb0-4ad7-8f06-0002958ad6ab")</script>' ;
|
| 1352 |
-
//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
| 1353 |
-
}
|
| 1354 |
-
|
| 1355 |
}
|
| 1356 |
-
|
| 1357 |
?>
|
| 1358 |
|
| 1359 |
-
</div>
|
| 1360 |
</div>
|
| 1361 |
-
|
| 1362 |
</div>
|
| 1363 |
-
|
|
|
|
|
|
|
| 1364 |
}
|
| 1365 |
|
| 1366 |
}
|
| 5 |
Plugin Script: delete-duplicate-posts.php
|
| 6 |
Plugin URI: https://cleverplugins.com
|
| 7 |
Description: Remove duplicate blogposts on your blog! Searches and removes duplicate posts and their post meta tags. You can delete posts, pages and other Custom Post Types enabled on your website.
|
| 8 |
+
Version: 4.4.5
|
| 9 |
Author: cleverplugins.com
|
| 10 |
Author URI: https://cleverplugins.com
|
| 11 |
Min WP Version: 4.7
|
| 16 |
/*
|
| 17 |
TODO - Lav så man kan vælge imellem trash og delete (check site opsætning?)
|
| 18 |
*/
|
| 19 |
+
if ( !defined( 'ABSPATH' ) ) {
|
| 20 |
+
exit;
|
| 21 |
+
}
|
| 22 |
|
| 23 |
+
if ( function_exists( 'ddp_fs' ) ) {
|
| 24 |
+
ddp_fs()->set_basename( false, __FILE__ );
|
| 25 |
+
} else {
|
| 26 |
+
// DO NOT REMOVE THIS IF, IT IS ESSENTIAL FOR THE `function_exists` CALL ABOVE TO PROPERLY WORK.
|
| 27 |
// Create a helper function for easy SDK access.
|
| 28 |
+
|
| 29 |
+
if ( !function_exists( 'ddp_fs' ) ) {
|
| 30 |
+
// Create a helper function for easy SDK access.
|
| 31 |
+
function ddp_fs()
|
| 32 |
+
{
|
| 33 |
+
global $ddp_fs ;
|
| 34 |
+
|
| 35 |
+
if ( !isset( $ddp_fs ) ) {
|
| 36 |
+
// Include Freemius SDK.
|
| 37 |
+
require_once dirname( __FILE__ ) . '/freemius/start.php';
|
| 38 |
+
define( 'CP_DDP_FREEMIUS_STATE', 'cp_ddp_freemius_state' );
|
| 39 |
+
// Check anonymous mode.
|
| 40 |
+
$cp_ddp_freemius_state = get_site_option( CP_DDP_FREEMIUS_STATE, 'anonymous' );
|
| 41 |
+
$is_anonymous = 'anonymous' === $cp_ddp_freemius_state || 'skipped' === $cp_ddp_freemius_state;
|
| 42 |
+
$is_premium = false;
|
| 43 |
+
$is_anonymous = ( $is_premium ? false : $is_anonymous );
|
| 44 |
+
$ddp_fs = fs_dynamic_init( array(
|
| 45 |
+
'id' => '925',
|
| 46 |
+
'slug' => 'delete-duplicate-posts',
|
| 47 |
+
'type' => 'plugin',
|
| 48 |
+
'public_key' => 'pk_0af9f9e83f00e23728a55430a57dd',
|
| 49 |
+
'is_premium' => false,
|
| 50 |
+
'premium_suffix' => 'Pro',
|
| 51 |
+
'has_addons' => false,
|
| 52 |
+
'has_paid_plans' => true,
|
| 53 |
+
'anonymous_mode' => $is_anonymous,
|
| 54 |
+
'menu' => array(
|
| 55 |
+
'slug' => 'delete-duplicate-posts.php',
|
| 56 |
+
'first-path' => 'admin.php?page=delete-duplicate-posts.php',
|
| 57 |
+
'support' => false,
|
| 58 |
+
'affiliation' => false,
|
| 59 |
+
'parent' => array(
|
| 60 |
+
'slug' => 'tools.php',
|
| 61 |
+
),
|
| 62 |
+
),
|
| 63 |
+
'is_live' => true,
|
| 64 |
+
) );
|
| 65 |
+
}
|
| 66 |
+
|
| 67 |
+
return $ddp_fs;
|
| 68 |
}
|
| 69 |
|
| 70 |
+
// Init Freemius.
|
| 71 |
+
ddp_fs();
|
| 72 |
+
// Signal that SDK was initiated.
|
| 73 |
+
do_action( 'ddp_fs_loaded' );
|
| 74 |
}
|
| 75 |
|
| 76 |
+
ddp_fs()->add_action( 'after_uninstall', 'ddp_fs_uninstall_cleanup' );
|
| 77 |
+
// clean-up when uninstalled
|
| 78 |
+
function ddp_fs_uninstall_cleanup()
|
| 79 |
+
{
|
| 80 |
+
global $wpdb ;
|
| 81 |
+
$wpdb->query( $wpdb->prepare( 'DROP TABLE IF EXISTS %s', $wpdb->prefix . 'ddp_log' ) );
|
| 82 |
+
delete_option( 'ddp_deleted_duplicates' );
|
| 83 |
+
delete_option( 'delete_duplicate_posts_options_v4' );
|
| 84 |
+
delete_option( 'cp_ddp_freemius_state' );
|
| 85 |
+
}
|
| 86 |
+
|
| 87 |
+
require plugin_dir_path( __FILE__ ) . 'vendor/autoload.php';
|
| 88 |
+
// ... Your plugin's main file logic ...
|
|
|
|
|
|
|
| 89 |
}
|
| 90 |
|
|
|
|
| 91 |
add_action( 'admin_init', array( 'PAnD', 'init' ) );
|
| 92 |
|
| 93 |
if ( !class_exists( 'Delete_Duplicate_Posts' ) ) {
|
| 228 |
?></h3>
|
| 229 |
|
| 230 |
<p><?php
|
| 231 |
+
echo esc_html__( 'Gathering non-sensitive diagnostic data about the plugin install helps us improve the plugin.', 'delete-duplicate-posts' ) . ' <a href="' . esc_url( 'https://cleverplugins.com/docs/install/non-sensitive-diagnostic-data/' ) . '" target="_blank" rel="noopener">' . esc_html__( 'Read more about what we collect.', 'delete-duplicate-posts' ) . '</a>' ;
|
| 232 |
?></p>
|
| 233 |
|
| 234 |
<p>
|
| 250 |
?>" />
|
| 251 |
|
| 252 |
</div>
|
| 253 |
+
<?php
|
| 254 |
}
|
| 255 |
|
| 256 |
}
|
| 284 |
<span class="dashicons dashicons-smiley"></span><a href="#" class="cp-ddp-dismiss-review-notice dismiss-this" target="_blank" rel="noopener">I already did</a>
|
| 285 |
</p>
|
| 286 |
</div>
|
| 287 |
+
<?php
|
| 288 |
}
|
| 289 |
|
| 290 |
}
|
| 354 |
self::timerstart( 'return_duplicates' );
|
| 355 |
$options = self::get_options();
|
| 356 |
$comparemethod = 'titlecompare';
|
| 357 |
+
$return_duplicates_time = false;
|
| 358 |
global $ddp_fs ;
|
| 359 |
$currstep = ( isset( $_POST['step'] ) ? absint( $_POST['step'] ) : 0 );
|
| 360 |
|
| 444 |
if ( !isset( $json_response['dupescount'] ) ) {
|
| 445 |
$json_response['dupescount'] = 0;
|
| 446 |
}
|
| 447 |
+
$return_duplicates_time = self::timerstop( 'return_duplicates' );
|
| 448 |
+
self::log( $json_response['dupescount'] . ' duplicates found in ' . $return_duplicates_time . ' sec.' );
|
| 449 |
} else {
|
| 450 |
$json_response['msg'] = __( 'Error: Choose post types to check.', 'delete-duplicate-posts' );
|
| 451 |
$return_duplicates_time = self::timerstop( 'return_duplicates' );
|
| 456 |
wp_send_json_error( $json_response );
|
| 457 |
}
|
| 458 |
|
| 459 |
+
if ( !$return_duplicates_time ) {
|
| 460 |
+
$return_duplicates_time = self::timerstop( 'return_duplicates' );
|
| 461 |
+
}
|
| 462 |
$json_response['msg'] = $json_response['dupescount'] . ' duplicates found. Showing up to ' . $viewlimit . ' Time: ' . $return_duplicates_time . ' sec.';
|
| 463 |
// @todo i8n
|
| 464 |
if ( $return ) {
|
| 700 |
$pluginver = self::get_plugin_version();
|
| 701 |
wp_enqueue_style(
|
| 702 |
'delete-duplicate-posts',
|
| 703 |
+
plugins_url( '/css/delete-duplicate-posts-min.css', __FILE__ ),
|
| 704 |
array(),
|
| 705 |
$pluginver
|
| 706 |
);
|
| 1353 |
?>
|
| 1354 |
|
| 1355 |
<?php
|
|
|
|
| 1356 |
if ( function_exists( 'ddp_fs' ) ) {
|
| 1357 |
global $ddp_fs ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1358 |
}
|
|
|
|
| 1359 |
?>
|
| 1360 |
|
|
|
|
| 1361 |
</div>
|
|
|
|
| 1362 |
</div>
|
| 1363 |
+
|
| 1364 |
+
</div>
|
| 1365 |
+
<?php
|
| 1366 |
}
|
| 1367 |
|
| 1368 |
}
|
readme.txt
CHANGED
|
@@ -4,8 +4,8 @@ Tags: delete duplicate posts, delete duplicate,
|
|
| 4 |
License: GPLv2 or later
|
| 5 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 6 |
Requires at least: 4.7
|
| 7 |
-
Tested up to: 5.4.
|
| 8 |
-
Stable tag: 4.4.
|
| 9 |
Requires PHP: 5.6
|
| 10 |
|
| 11 |
Get rid of duplicate posts and pages on your blog!
|
|
@@ -39,6 +39,14 @@ You should restore the backup you took of your website before you ran this tool.
|
|
| 39 |
|
| 40 |
== Changelog ==
|
| 41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
= 4.4.4 =
|
| 43 |
* 2020/06/08
|
| 44 |
* Code cleanup and security hardening.
|
|
@@ -222,4 +230,4 @@ You should restore the backup you took of your website before you ran this tool.
|
|
| 222 |
* First release
|
| 223 |
|
| 224 |
== Upgrade Notice ==
|
| 225 |
-
4.
|
| 4 |
License: GPLv2 or later
|
| 5 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 6 |
Requires at least: 4.7
|
| 7 |
+
Tested up to: 5.4.2
|
| 8 |
+
Stable tag: 4.4.5
|
| 9 |
Requires PHP: 5.6
|
| 10 |
|
| 11 |
Get rid of duplicate posts and pages on your blog!
|
| 39 |
|
| 40 |
== Changelog ==
|
| 41 |
|
| 42 |
+
= 4.4.5 =
|
| 43 |
+
* 2020/07/06
|
| 44 |
+
* Fix - automatically deactivate free version if pro version is activated - Thank you Jordi.
|
| 45 |
+
* Fix - Missing link to privacy data.
|
| 46 |
+
* Fix - Not correctly identifying original post when comparing with post meta values - Thank you Reinhard.
|
| 47 |
+
* New - more details how long a process took is now stored in the log.
|
| 48 |
+
* 242,749 downloads
|
| 49 |
+
|
| 50 |
= 4.4.4 =
|
| 51 |
* 2020/06/08
|
| 52 |
* Code cleanup and security hardening.
|
| 230 |
* First release
|
| 231 |
|
| 232 |
== Upgrade Notice ==
|
| 233 |
+
4.4.5 Contains several different fixes and improvements, please update now.
|
sidebar.php
CHANGED
|
@@ -28,9 +28,15 @@ if ( $ddp_deleted_duplicates ) {
|
|
| 28 |
|
| 29 |
?>
|
| 30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
<div class="sidebarrow">
|
| 32 |
<h3>Need help?</h3>
|
| 33 |
-
<p><a href="https://wordpress.org/support/plugin/delete-duplicate-posts/" target="_blank"><?php
|
| 34 |
esc_html_e( 'Support Forum on WordPress.org', 'delete-duplicate-posts' );
|
| 35 |
?></a></p>
|
| 36 |
</div>
|
|
@@ -56,11 +62,7 @@ if ( !$ddp_fs->is_registered() && !$ddp_fs->is_pending_activation() ) {
|
|
| 56 |
}
|
| 57 |
|
| 58 |
?>
|
| 59 |
-
|
| 60 |
-
<p class="warning"><?php
|
| 61 |
-
esc_html_e( 'We recommend you always make a backup before running this tool. Changes are permanent!', 'delete-duplicate-posts' );
|
| 62 |
-
?></p>
|
| 63 |
-
</div>
|
| 64 |
|
| 65 |
<?php
|
| 66 |
$display_promotion = true;
|
|
@@ -68,6 +70,7 @@ $display_promotion = true;
|
|
| 68 |
if ( $display_promotion ) {
|
| 69 |
?>
|
| 70 |
<div class="sidebarrow">
|
|
|
|
| 71 |
<h3><span class="dashicons dashicons-star-filled"></span> DDP Pro <span class="dashicons dashicons-star-filled"></span></h3>
|
| 72 |
<ul class="linklist">
|
| 73 |
<li><strong>New compare method</strong> - Compare by meta tag <span>Use with WooCommerce (compare SKU) or other plugins</span></li>
|
|
@@ -83,18 +86,15 @@ if ( $display_promotion ) {
|
|
| 83 |
|
| 84 |
<a href="<?php
|
| 85 |
echo esc_url( $ddp_fs->pricing_url() ) ;
|
| 86 |
-
?>" class="button button-primary"><?php
|
| 87 |
echo 'Click here' ;
|
| 88 |
-
|
| 89 |
<p><center><em>$14.99/year - discount for more sites</em></center></p>
|
| 90 |
-
<
|
| 91 |
-
<
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
<li>We accept Visa, Mastercard, American Express and PayPal.</li>
|
| 96 |
-
<li>Upgrade, downgrade or cancel any time.</li>
|
| 97 |
-
</ul>
|
| 98 |
</div><!-- .sidebarrow -->
|
| 99 |
<?php
|
| 100 |
}
|
|
@@ -105,16 +105,16 @@ if ( $display_promotion ) {
|
|
| 105 |
<h3><?php
|
| 106 |
esc_html_e( 'Our other plugins', 'delete-duplicate-posts' );
|
| 107 |
?></h3>
|
| 108 |
-
<a href="https://wpsecurityninja.com" target="_blank" style="float: right;"><img src="<?php
|
| 109 |
echo esc_url( plugin_dir_url( __FILE__ ) . 'images/security-ninja-logo.png' ) ;
|
| 110 |
?>" alt="Visit wpsecurityninja.com" class="logo"></a>
|
| 111 |
-
<p>Protect your website with <a href="https://wordpress.org/plugins/security-ninja/" target="_blank">wordpress.org/plugins/security-ninja/</a><br/>
|
| 112 |
<p>Read more on <a href="https://wpsecurityninja.com/">wpsecurityninja.com</a></p>
|
| 113 |
<br />
|
| 114 |
-
<a href="https://cleverplugins.com" target="_blank" style="float: right;"><img src="<?php
|
| 115 |
echo esc_url( plugin_dir_url( __FILE__ ) . 'images/seoboosterlogo.png' ) ;
|
| 116 |
?>" alt="Visit cleverplugins.com" class="logo"></a>
|
| 117 |
-
<p>SEO Booster is a powerful tool for anyone serious about SEO. <a href="https://wordpress.org/plugins/seo-booster/" target="_blank">wordpress.org/plugins/seo-booster/</a><br/>
|
| 118 |
<p>Read more on <a href="https://cleverplugins.com/">cleverplugins.com</a></p>
|
| 119 |
|
| 120 |
</div><!-- .sidebarrow -->
|
| 28 |
|
| 29 |
?>
|
| 30 |
|
| 31 |
+
<div class="sidebarrow">
|
| 32 |
+
<p class="warning"><?php
|
| 33 |
+
esc_html_e( 'We recommend you always make a backup before running this tool. Changes are permanent!', 'delete-duplicate-posts' );
|
| 34 |
+
?></p>
|
| 35 |
+
</div>
|
| 36 |
+
|
| 37 |
<div class="sidebarrow">
|
| 38 |
<h3>Need help?</h3>
|
| 39 |
+
<p><a href="https://wordpress.org/support/plugin/delete-duplicate-posts/" target="_blank" rel="noopener"><?php
|
| 40 |
esc_html_e( 'Support Forum on WordPress.org', 'delete-duplicate-posts' );
|
| 41 |
?></a></p>
|
| 42 |
</div>
|
| 62 |
}
|
| 63 |
|
| 64 |
?>
|
| 65 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
|
| 67 |
<?php
|
| 68 |
$display_promotion = true;
|
| 70 |
if ( $display_promotion ) {
|
| 71 |
?>
|
| 72 |
<div class="sidebarrow">
|
| 73 |
+
<hr>
|
| 74 |
<h3><span class="dashicons dashicons-star-filled"></span> DDP Pro <span class="dashicons dashicons-star-filled"></span></h3>
|
| 75 |
<ul class="linklist">
|
| 76 |
<li><strong>New compare method</strong> - Compare by meta tag <span>Use with WooCommerce (compare SKU) or other plugins</span></li>
|
| 86 |
|
| 87 |
<a href="<?php
|
| 88 |
echo esc_url( $ddp_fs->pricing_url() ) ;
|
| 89 |
+
?>" class="button button-primary" id="ddpprobutton"><?php
|
| 90 |
echo 'Click here' ;
|
| 91 |
+
?><span>$14.99 /year</span></a>
|
| 92 |
<p><center><em>$14.99/year - discount for more sites</em></center></p>
|
| 93 |
+
<div class="moneybackguarantee">
|
| 94 |
+
<p><strong>Money Back Guarantee!</strong></p>
|
| 95 |
+
<p>You are fully protected by our 100% Money Back Guarantee. If during the next 30 days you experience an issue that makes the plugin unusable and we are unable to resolve it, we'll happily consider offering a full refund of your money.</p>
|
| 96 |
+
</div>
|
| 97 |
+
<hr>
|
|
|
|
|
|
|
|
|
|
| 98 |
</div><!-- .sidebarrow -->
|
| 99 |
<?php
|
| 100 |
}
|
| 105 |
<h3><?php
|
| 106 |
esc_html_e( 'Our other plugins', 'delete-duplicate-posts' );
|
| 107 |
?></h3>
|
| 108 |
+
<a href="https://wpsecurityninja.com" target="_blank" style="float: right;" rel="noopener"><img src="<?php
|
| 109 |
echo esc_url( plugin_dir_url( __FILE__ ) . 'images/security-ninja-logo.png' ) ;
|
| 110 |
?>" alt="Visit wpsecurityninja.com" class="logo"></a>
|
| 111 |
+
<p>Protect your website with <a href="https://wordpress.org/plugins/security-ninja/" target="_blank" rel="noopener">wordpress.org/plugins/security-ninja/</a><br/>
|
| 112 |
<p>Read more on <a href="https://wpsecurityninja.com/">wpsecurityninja.com</a></p>
|
| 113 |
<br />
|
| 114 |
+
<a href="https://cleverplugins.com" target="_blank" style="float: right;" rel="noopener"><img src="<?php
|
| 115 |
echo esc_url( plugin_dir_url( __FILE__ ) . 'images/seoboosterlogo.png' ) ;
|
| 116 |
?>" alt="Visit cleverplugins.com" class="logo"></a>
|
| 117 |
+
<p>SEO Booster is a powerful tool for anyone serious about SEO. <a href="https://wordpress.org/plugins/seo-booster/" target="_blank" rel="noopener">wordpress.org/plugins/seo-booster/</a><br/>
|
| 118 |
<p>Read more on <a href="https://cleverplugins.com/">cleverplugins.com</a></p>
|
| 119 |
|
| 120 |
</div><!-- .sidebarrow -->
|
