Changeset 2601508
- Timestamp:
- 09/20/2021 04:47:32 AM (4 years ago)
- Location:
- duplicate-page/trunk
- Files:
-
- 1 added
- 6 edited
-
css/dp_gutenberg.css (added)
-
css/duplicate_page.css (modified) (1 diff)
-
duplicatepage.php (modified) (20 diffs)
-
inc/admin-settings.php (modified) (7 diffs)
-
js/duplicate_page.js (modified) (2 diffs)
-
js/editor-script.js (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
duplicate-page/trunk/css/duplicate_page.css
r2134721 r2601508 70 70 clear: both; 71 71 } 72 .duplicate_page_settings .saving-txt { 73 background: #fff; 74 padding: 10px 15px; 75 box-shadow: 0 1px 1px rgb(0 0 0 / 4%); 76 margin-top: 20px; 77 border-radius: 3px; 78 border:1px solid #c3c4c7; 79 border-left: solid 4px #2271b1; 80 } 81 .duplicate_page_settings .settings-error{ 82 margin-bottom: 0; 83 } 84 .duplicate_page_settings #poststuff{ 85 padding-top: 0px; 86 } 87 .duplicate_page_settings .settings-error.notice{ 88 margin-top: 20px; 89 margin-bottom: 0px; 90 } -
duplicate-page/trunk/duplicatepage.php
r2595720 r2601508 5 5 Description: Duplicate Posts, Pages and Custom Posts using single click. 6 6 Author: mndpsingh287 7 Version: 4.4. 37 Version: 4.4.4 8 8 Author URI: https://profiles.wordpress.org/mndpsingh287/ 9 9 License: GPLv2 … … 14 14 } 15 15 if (!defined('DUPLICATE_PAGE_PLUGIN_VERSION')) { 16 define('DUPLICATE_PAGE_PLUGIN_VERSION', '4.4. 3');16 define('DUPLICATE_PAGE_PLUGIN_VERSION', '4.4.4'); 17 17 } 18 18 if (!class_exists('duplicate_page')): … … 43 43 add_action('wp_ajax_mk_dp_close_dp_help', array($this, 'mk_dp_close_dp_help')); 44 44 } 45 45 46 46 /* 47 47 * Localization - 19-dec-2016 … … 68 68 } 69 69 } 70 71 70 /* 72 71 Action Links … … 75 74 { 76 75 if ($file == plugin_basename(__FILE__)) { 77 $duplicate_page_links = '<a href="'. get_admin_url().'options-general.php?page=duplicate_page_settings">'.__('Settings', 'duplicate-page').'</a>';78 $duplicate_page_donate = '<a href="https://www.webdesi9.com/donate/?plugin=duplicate-page" title=" Donate Now" target="_blank" style="font-weight:bold">'.__('Donate', 'duplicate-page').'</a>';76 $duplicate_page_links = '<a href="'.esc_url(get_admin_url()).'options-general.php?page=duplicate_page_settings">'.__('Settings', 'duplicate-page').'</a>'; 77 $duplicate_page_donate = '<a href="https://www.webdesi9.com/donate/?plugin=duplicate-page" title="'.__('Donate Now','duplicate-page').'" target="_blank" style="font-weight:bold">'.__('Donate', 'duplicate-page').'</a>'; 79 78 array_unshift($links, $duplicate_page_donate); 80 79 array_unshift($links, $duplicate_page_links); … … 120 119 global $wpdb; 121 120 $opt = get_option('duplicate_page_options'); 122 $suffix = isset($opt['duplicate_post_suffix']) && !empty($opt['duplicate_post_suffix']) ? ' -- '. $opt['duplicate_post_suffix']: '';123 $post_status = !empty($opt['duplicate_post_status']) ? $opt['duplicate_post_status']: 'draft';124 $redirectit = !empty($opt['duplicate_post_redirect']) ? $opt['duplicate_post_redirect']: 'to_list';121 $suffix = isset($opt['duplicate_post_suffix']) && !empty($opt['duplicate_post_suffix']) ? ' -- '.esc_attr($opt['duplicate_post_suffix']) : ''; 122 $post_status = !empty($opt['duplicate_post_status']) ? esc_attr($opt['duplicate_post_status']) : 'draft'; 123 $redirectit = !empty($opt['duplicate_post_redirect']) ? esc_attr($opt['duplicate_post_redirect']) : 'to_list'; 125 124 if (!(isset($_GET['post']) || isset($_POST['post']) || (isset($_REQUEST['action']) && 'dt_duplicate_post_as_draft' == sanitize_text_field($_REQUEST['action'])))) { 126 wp_die( 'No post to duplicate has been supplied!');125 wp_die(__('No post to duplicate has been supplied!','duplicate-page')); 127 126 } 128 127 $returnpage = ''; … … 150 149 'post_content' => (isset($opt['duplicate_post_editor']) && $opt['duplicate_post_editor'] == 'gutenberg') ? wp_slash($post->post_content) : $post->post_content, 151 150 'post_excerpt' => $post->post_excerpt, 152 //'post_name' => $post->post_name,153 151 'post_parent' => $post->post_parent, 154 152 'post_password' => $post->post_password, … … 166 164 * get all current post terms ad set them to the new post draft 167 165 */ 168 $taxonomies = get_object_taxonomies($post->post_type);166 $taxonomies = array_map('sanitize_text_field',get_object_taxonomies($post->post_type)); 169 167 if (!empty($taxonomies) && is_array($taxonomies)): 170 168 foreach ($taxonomies as $taxonomy) { … … 176 174 * duplicate all post meta 177 175 */ 178 $post_meta_infos = $wpdb->get_results( "SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");176 $post_meta_infos = $wpdb->get_results($wpdb->prepare("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=%d",$post_id)); 179 177 if (count($post_meta_infos)!=0) { 180 178 $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) "; … … 194 192 endif; 195 193 if (!empty($redirectit) && $redirectit == 'to_list'): 196 wp_redirect( admin_url('edit.php'.$returnpage)); elseif (!empty($redirectit) && $redirectit == 'to_page'):197 wp_redirect( admin_url('post.php?action=edit&post='.$new_post_id)); else:198 wp_redirect( admin_url('edit.php'.$returnpage));194 wp_redirect(esc_url_raw(admin_url('edit.php'.$returnpage))); elseif (!empty($redirectit) && $redirectit == 'to_page'): 195 wp_redirect(esc_url_raw(admin_url('post.php?action=edit&post='.$new_post_id))); else: 196 wp_redirect(esc_url_raw(admin_url('edit.php'.$returnpage))); 199 197 endif; 200 198 exit; 201 199 } else { 202 wp_die( 'Error! Post creation failed, could not find original post: '.$post_id);200 wp_die(__('Error! Post creation failed, could not find original post: ','duplicate-page').$post_id); 203 201 } 204 202 } else { 205 wp_die( 'Security check issue, Please try again.');203 wp_die(__('Security check issue, Please try again.','duplicate-page')); 206 204 } 207 205 } … … 213 211 { 214 212 $opt = get_option('duplicate_page_options'); 215 $post_status = !empty($opt['duplicate_post_status']) ? $opt['duplicate_post_status']: 'draft';213 $post_status = !empty($opt['duplicate_post_status']) ? esc_attr($opt['duplicate_post_status']) : 'draft'; 216 214 if (current_user_can('edit_posts')) { 217 $actions['duplicate'] = '<a href="admin.php?action=dt_duplicate_post_as_draft&post='.$post->ID.'&nonce='.wp_create_nonce( 'dt-duplicate-page-'.$post->ID ).'" title="'.__('Duplicate this as ' .$post_status, 'duplicate-page').'" rel="permalink">'.__('Duplicate This', 'duplicate-page').'</a>';215 $actions['duplicate'] = '<a href="admin.php?action=dt_duplicate_post_as_draft&post='.$post->ID.'&nonce='.wp_create_nonce( 'dt-duplicate-page-'.$post->ID ).'" title="'.__('Duplicate this as ', 'duplicate-page').$post_status.'" rel="permalink">'.__('Duplicate This', 'duplicate-page').'</a>'; 218 216 } 219 217 … … 228 226 global $post; 229 227 $opt = get_option('duplicate_page_options'); 230 $post_status = !empty($opt['duplicate_post_status']) ? $opt['duplicate_post_status']: 'draft';228 $post_status = !empty($opt['duplicate_post_status']) ? esc_attr($opt['duplicate_post_status']) : 'draft'; 231 229 $html = '<div id="major-publishing-actions">'; 232 230 $html .= '<div id="export-action">'; 233 $html .= '<a href="admin.php?action=dt_duplicate_post_as_draft&post='.$post->ID.'&nonce='.wp_create_nonce( 'dt-duplicate-page-'.$post->ID ).'" title=" Duplicate this as '.$post_status.'" rel="permalink">'.__('Duplicate This', 'duplicate-page').'</a>';231 $html .= '<a href="admin.php?action=dt_duplicate_post_as_draft&post='.$post->ID.'&nonce='.wp_create_nonce( 'dt-duplicate-page-'.$post->ID ).'" title="'.__('Duplicate this as ','duplicate-page').$post_status.'" rel="permalink">'.__('Duplicate This', 'duplicate-page').'</a>'; 234 232 $html .= '</div>'; 235 233 $html .= '</div>'; 236 echo $html;234 echo apply_filters('the_content',$html); 237 235 } 238 236 … … 245 243 if ($post) { 246 244 $opt = get_option('duplicate_page_options'); 247 $post_status = !empty($opt['duplicate_post_status']) ? $opt['duplicate_post_status']: 'draft';245 $post_status = !empty($opt['duplicate_post_status']) ? esc_attr($opt['duplicate_post_status']) : 'draft'; 248 246 if (isset($opt['duplicate_post_editor']) && ($opt['duplicate_post_editor'] == 'gutenberg' || $opt['duplicate_post_editor'] == 'all')) { 249 ?> 250 <style> 251 .dt-duplicate-post-status-info .components-button.is-tertiary.is-link { 252 color: #ffffff; 253 background-color: #007cba; 254 border: 1px solid #007cba; 255 text-decoration: none; 256 border-radius: 3px; 257 padding: 5px 10px 8px; 258 font-weight: bold; 259 transition: all 0.3s ease; 260 -webkit-transition: all 0.3s ease; 261 -moz-transition: all 0.3s ease; 262 -ms-transition: all 0.3s ease; 263 } 264 265 .dt-duplicate-post-status-info .components-button.is-tertiary.is-link:hover{ 266 border-color: #0071a1; 267 background-color: #0071a1; 268 transition: all 0.3s ease; 269 -webkit-transition: all 0.3s ease; 270 -moz-transition: all 0.3s ease; 271 -ms-transition: all 0.3s ease; 272 273 } 274 </style> 275 <?php 247 wp_enqueue_style('dp-main-style', plugin_dir_url(__FILE__) . 'css/dp_gutenberg.css'); 276 248 wp_register_script( "dt_duplicate_post_script", plugins_url( '/js/editor-script.js', __FILE__ ), array( 'wp-edit-post', 'wp-plugins', 'wp-i18n', 'wp-element' ), DUPLICATE_PAGE_PLUGIN_VERSION); 277 249 wp_localize_script( 'dt_duplicate_post_script', 'dt_params', array( 278 250 'dp_post_id' => $post->ID, 279 251 'dtnonce' => wp_create_nonce( 'dt-duplicate-page-'.$post->ID ), 280 'dp_post_title' => "Duplicate this as ".$post_status, 252 'dp_post_text' => __("Duplicate This",'duplicate-page'), 253 'dp_post_title'=> __('Duplicate this as ','duplicate-page').$post_status, 281 254 'dp_duplicate_link' => "admin.php?action=dt_duplicate_post_as_draft" 282 255 ) … … 294 267 global $wp_admin_bar, $post; 295 268 $opt = get_option('duplicate_page_options'); 296 $post_status = !empty($opt['duplicate_post_status']) ? $opt['duplicate_post_status']: 'draft';269 $post_status = !empty($opt['duplicate_post_status']) ? esc_attr($opt['duplicate_post_status']) : 'draft'; 297 270 $current_object = get_queried_object(); 298 271 if (empty($current_object)) { … … 305 278 'parent' => 'edit', 306 279 'id' => 'duplicate_this', 307 'title' => __('Duplicate This as ' .$post_status.'', 'duplicate-page'),308 'href' => admin_url().'admin.php?action=dt_duplicate_post_as_draft&post='.$post->ID.'&nonce='.wp_create_nonce( 'dt-duplicate-page-'.$post->ID)280 'title' => __('Duplicate This as ', 'duplicate-page').$post_status, 281 'href' => esc_url_raw(admin_url().'admin.php?action=dt_duplicate_post_as_draft&post='.$post->ID.'&nonce='.wp_create_nonce( 'dt-duplicate-page-'.$post->ID )) 309 282 )); 310 283 } … … 315 288 */ 316 289 public static function dp_redirect($url) 317 { 318 echo '<script>window.location.href="'.$url.'"</script>'; 290 { 291 $web_url = esc_url_raw($url); 292 wp_register_script( 'dp-setting-redirect', ''); 293 wp_enqueue_script( 'dp-setting-redirect' ); 294 wp_add_inline_script( 295 'dp-setting-redirect', 296 ' window.location.href="'.$web_url.'" ;' 297 ); 319 298 } 320 299 /* … … 329 308 $mkcontent .= '</div>'; 330 309 $mkcontent .= '<div class="r_dpmrs">'; 331 $mkcontent .= '<a class="close_dp_help fm_close_btn" href="javascript:void(0)" data-ct="rate_later" title=" close">X</a><strong>Duplicate Page</strong><p>We love and care about you. Our team is putting maximum efforts to provide you the best functionalities. It would be highly appreciable if you could spend a couple of seconds to give a Nice Review to the plugin to appreciate our efforts. So we can work hard to provide new features regularly :)</p><a class="close_dp_help fm_close_btn_1" href="javascript:void(0)" data-ct="rate_later" title="Remind me later">Later</a> <a class="close_dp_help fm_close_btn_2" href="https://wordpress.org/support/plugin/duplicate-page/reviews/?filter=5" data-ct="rate_now" title="Rate us now" target="_blank">Rate Us</a> <a class="close_dp_help fm_close_btn_3" href="javascript:void(0)" data-ct="rate_never" title="Not interested">Never</a>';310 $mkcontent .= '<a class="close_dp_help fm_close_btn" href="javascript:void(0)" data-ct="rate_later" title="'.__('close','duplicate-page').'">X</a><strong>'.__('Duplicate Page','duplicate-page').'</strong><p>'.__('We love and care about you. Our team is putting maximum efforts to provide you the best functionalities. It would be highly appreciable if you could spend a couple of seconds to give a Nice Review to the plugin to appreciate our efforts. So we can work hard to provide new features regularly :)','duplicate-page').'</p><a class="close_dp_help fm_close_btn_1" href="javascript:void(0)" data-ct="rate_later" title="'.__('Remind me later','duplicate-page').'">'.__('Later','duplicate-page').'</a> <a class="close_dp_help fm_close_btn_2" href="https://wordpress.org/support/plugin/duplicate-page/reviews/?filter=5" data-ct="rate_now" title="'.__('Rate us now','duplicate-page').'" target="_blank">'.__('Rate Us','duplicate-page').'</a> <a class="close_dp_help fm_close_btn_3" href="javascript:void(0)" data-ct="rate_never" title="'.__('Not interested','duplicate-page').'">'.__('Never','duplicate-page').'</a>'; 332 311 $mkcontent .= '</div></div>'; 333 312 if (false === ($mk_dp_close_dp_help_c = get_option('mk_fm_close_fm_help_c'))) { … … 340 319 public function mk_dp_close_dp_help() 341 320 { 342 $what_to_do = sanitize_text_field($_POST['what_to_do']); 343 $expire_time = 15; 344 if ($what_to_do == 'rate_now' || $what_to_do == 'rate_never') { 345 $expire_time = 365; 346 } elseif ($what_to_do == 'rate_later') { 347 $expire_time = 15; 348 } 321 $nonce = sanitize_text_field($_REQUEST['nonce']); 322 if (wp_verify_nonce($nonce, 'nc_help_desk')) { 349 323 if (false === ($mk_fm_close_fm_help_c = get_option('mk_fm_close_fm_help_c'))) { 350 324 $set = update_option('mk_fm_close_fm_help_c', 'done'); … … 357 331 echo 'ac'; 358 332 } 333 }else { 334 echo 'ac'; 335 } 359 336 die; 360 337 } … … 365 342 wp_enqueue_style( 'duplicate-page', plugins_url( '/css/duplicate_page.css', __FILE__ ) ); 366 343 wp_enqueue_script( 'duplicate-page', plugins_url( '/js/duplicate_page.js', __FILE__ ) ); 344 wp_localize_script( 'duplicate-page', 'dt_params', array( 345 'ajax_url' => admin_url( 'admin-ajax.php'), 346 'nonce' => wp_create_nonce( 'nc_help_desk' )) 347 ); 367 348 } 368 349 } 369 350 new duplicate_page(); 370 351 endif; 371 ?> -
duplicate-page/trunk/inc/admin-settings.php
r2595720 r2601508 2 2 exit; 3 3 } 4 ?> 5 <script> 6 var dp_ajax_url = "<?php echo admin_url( 'admin-ajax.php' );?>"; 7 </script> 8 <?php $this->custom_assets(); 4 $this->custom_assets(); 9 5 ?> 10 6 <div class="wrap duplicate_page_settings"> 11 <?php $this->load_help_desk(); ?> 7 <?php 8 $this->load_help_desk(); ?> 12 9 <h1><?php _e('Duplicate Page Settings ', 'duplicate-page'); ?><a href="https://duplicatepro.com/pro/" target="_blank" class="button button-primary"><?php _e('Buy PRO', 'duplicate-page'); ?></a></h1> 13 <?php 10 <?php 14 11 $msg = isset($_GET['msg']) ? intval($_GET['msg']) : ''; 15 12 if (current_user_can('manage_options') && isset($_POST['submit_duplicate_page']) && wp_verify_nonce(sanitize_text_field($_POST['duplicatepage_nonce_field']), 'duplicatepage_action')): 16 _e('< strong>Saving Please wait...</strong>','duplicate-page');13 _e('<div class="saving-txt"><strong>Saving Please wait...</strong></div>','duplicate-page'); 17 14 $duplicatepageoptions = array( 18 15 "duplicate_post_editor" => sanitize_text_field(htmlentities($_POST["duplicate_post_editor"])), … … 31 28 32 29 $opt = get_option('duplicate_page_options'); 33 34 30 if (!empty($msg) && $msg == 1): 35 _e('<div class="updated settings-error notice is-dismissible" id="setting-error-settings_updated">36 <p><strong>Settings saved.</strong></p><button class="notice-dismiss" type="button"><span class="screen-reader-text">Dismiss this notice.</span></button></div>','duplicate-page');31 _e('<div class="updated settings-error notice is-dismissible" id="setting-error-settings_updated"> 32 <p><strong>Settings saved.</strong></p><button class="notice-dismiss button-custom-dismiss" type="button"><span class="screen-reader-text">Dismiss this notice</span></button></div>','duplicate-page'); 37 33 elseif (!empty($msg) && $msg == 2): 38 34 _e('<div class="error settings-error notice is-dismissible" id="setting-error-settings_updated"> 39 <p><strong>Settings not saved.</strong></p><button class="notice-dismiss" type="button"><span class="screen-reader-text">Dismiss this notice.</span></button></div>','duplicate-page');35 <p><strong>Settings not saved.</strong></p><button class="notice-dismiss button-custom-dismiss" type="button"><span class="screen-reader-text">Dismiss this notice</span></button></div>','duplicate-page'); 40 36 endif; 41 37 ?> … … 55 51 <option value="gutenberg" <?php echo (isset($opt['duplicate_post_editor']) && $opt['duplicate_post_editor'] == 'gutenberg') ? "selected = 'selected'" : ''; ?>><?php _e('Gutenberg Editor', 'duplicate-page'); ?></option> 56 52 </select> 57 <p><?php _e('Please select which editor your are using. <strong>Default:</strong> Classic Editor', 'duplicate-page'); ?></p>53 <p><?php _e('Please select which editor your are using.<strong>Default: </strong> Classic Editor', 'duplicate-page'); ?></p> 58 54 </td> 59 55 </tr> … … 67 63 <option value="pending" <?php echo($opt['duplicate_post_status'] == 'pending') ? "selected = 'selected'" : ''; ?>><?php _e('Pending', 'duplicate-page'); ?></option> 68 64 </select> 69 <p><?php _e('Please select any post status you want to assign for duplicate post. <strong>Default:</strong> Draft.','duplicate-page'); ?></p>65 <p><?php _e('Please select any post status you want to assign for duplicate post.<strong>Default: </strong> Draft.','duplicate-page'); ?></p> 70 66 </td> 71 67 </tr> … … 76 72 <option value="to_page" <?php echo($opt['duplicate_post_redirect'] == 'to_page') ? "selected = 'selected'" : ''; ?>><?php _e('To Duplicate Edit Screen', 'duplicate-page'); ?></option> 77 73 </select> 78 <p><?php _e('Please select any post redirection, redirect you to selected after click on duplicate this link. <strong>Default:</strong> To current list.','duplicate-page'); ?></p>74 <p><?php _e('Please select any post redirection, redirect you to selected after click on duplicate this link.<strong>Default: </strong>To current list.','duplicate-page'); ?></p> 79 75 </td> 80 76 </tr> … … 82 78 <th scope="row"><label for="duplicate_post_suffix"><?php _e('Duplicate Post Suffix', 'duplicate-page'); ?></label></th> 83 79 <td> 84 <input type="text" class="regular-text" value="<?php echo !empty($opt['duplicate_post_suffix']) ? $opt['duplicate_post_suffix']: ''; ?>" id="duplicate_post_suffix" name="duplicate_post_suffix">80 <input type="text" class="regular-text" value="<?php echo !empty($opt['duplicate_post_suffix']) ? esc_attr($opt['duplicate_post_suffix']) : ''; ?>" id="duplicate_post_suffix" name="duplicate_post_suffix"> 85 81 <p><?php _e('Add a suffix for duplicate or clone post as Copy, Clone etc. It will show after title.', 'duplicate-page'); ?></p> 86 82 </td> 87 83 </tr> 88 84 </tbody></table> 89 <p class="submit"><input type="submit" value=" Save Changes" class="button button-primary" id="submit" name="submit_duplicate_page"></p>85 <p class="submit"><input type="submit" value="<?php _e('Save Changes','duplicate-page'); ?>" class="button button-primary" id="submit" name="submit_duplicate_page"></p> 90 86 </form> 91 87 </div> … … 93 89 </div> 94 90 </div> 95 <script type="text/javascript">96 jQuery(document).ready(function() {97 var admin_page_url = "options-general.php?page=duplicate_page_settings";98 window.history.replaceState({}, document.title, admin_page_url);99 });100 </script> -
duplicate-page/trunk/js/duplicate_page.js
r2370923 r2601508 5 5 jQuery('.close_dp_help').on('click', function (e) { 6 6 var what_to_do = jQuery(this).data('ct'); 7 var nonce = dt_params.nonce 7 8 jQuery.ajax({ 8 9 type: "post", 9 url: d p_ajax_url,10 url: dt_params.ajax_url, 10 11 data: { 11 12 action: "mk_dp_close_dp_help", 12 what_to_do: what_to_do 13 what_to_do: what_to_do, 14 nonce:nonce 13 15 }, 14 16 success: function (response) { … … 18 20 }); 19 21 }); 22 jQuery(document).ready(function() { 23 var admin_page_url = "options-general.php?page=duplicate_page_settings"; 24 window.history.replaceState({}, document.title, admin_page_url); 25 }); 26 jQuery(document).on('click', '.button-custom-dismiss', function(e) { 27 jQuery(this).parent().hide(); 28 }) -
duplicate-page/trunk/js/editor-script.js
r2595720 r2601508 17 17 name: 'duplicate_page_link_guten', 18 18 isLink: true, 19 title: dt_params.dp_post_title, 19 20 href : dt_params.dp_duplicate_link+"&post="+dt_params.dp_post_id+"&nonce="+dt_params.dtnonce 20 }, dt_params.dp_post_t itle21 }, dt_params.dp_post_text 21 22 ) 22 23 ); -
duplicate-page/trunk/readme.txt
r2595720 r2601508 3 3 Tags: Page Duplicate, Post duplicate, duplicate custom posts, duplicate page, duplicate post, duplicate ,custom posts, post, page, duplicate this, duplicate, content duplicate, duplicate content, data duplicate, duplicate data, copy page, clone page,wordpress page duplicate, wordpress post duplicate, Copy post, wordpress page duplicator, wordpress post duplicator, Cloner, duplicate post 4 4 Requires at least: 3.4 5 Tested up to: 5.8 6 Stable tag: 4.4. 35 Tested up to: 5.8.1 6 Stable tag: 4.4.4 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 57 57 58 58 == Changelog == 59 60 = 4.4.4(17th Sep, 2021) 61 62 * Fixed sanitization Issues as per wordpress standards. 59 63 60 64 = 4.4.3(8th Sep, 2021)
Note: See TracChangeset
for help on using the changeset viewer.