Permalink Manager Lite - Version 2.2.7.5

Version Description

  • CSS Hotfix. Now the redirects box is displayed correctly in the URI editor
Download this release

Release Info

Developer mbis
Plugin Icon 128x128 Permalink Manager Lite
Version 2.2.7.5
Comparing to
See all releases

Code changes from version 2.2.6 to 2.2.7.5

README.txt CHANGED
@@ -6,19 +6,18 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
6
  Tags: permalinks, custom permalinks, translate permalinks, woocommerce permalinks
7
  Requires at least: 4.4.0
8
  Requires PHP: 5.4
9
- Tested up to: 5.2.3
10
- Stable tag: 2.2.6
11
 
12
- Permalink Manager Pro allows to easily change full URL addresses of posts, pages, custom post types, terms and WooCommerce links. You can also set different permalink formats per language or bulk change the URLs.
13
 
14
  == Description ==
15
 
16
  Permalink Manager is a most advanced and highly rated Wordpress permalink plugin that helps Wordpress users to control the URL addresses of all posts, pages, custom post type elements (taxonomies are supported in Pro version). To avoid 404 or duplicated content errors after the new custom permalink is defined, the visitors trying to access the old permalink will be automatically redirected to the new custom URL.
17
 
18
- The plugin supports all custom post types & custom taxonomies and popular 3rd party plugins including WooCommerce, Yoast SEO, WPML, and Polylang. To improve SEO performance even more, the plugin settings provide a possibility to disable the canonical redirect (used natively by Wordpress) and control the trailing slashes settings.
19
-
20
- <a href="https://permalinkmanager.pro/docs/?utm_source=wordpressorg">Documentation</a> | <a href="https://permalinkmanager.pro/buy-permalink-manager-pro/?utm_source=wordpressorg">Permalink Manager Pro</a>
21
 
 
22
 
23
  = All features =
24
 
@@ -32,8 +31,8 @@ The plugin supports all custom post types & custom taxonomies and popular 3rd pa
32
  * **Trailing slashes settings**<br/>They can be forced or removed from all permalinks.
33
 
34
  = Need additional features & priority support? =
35
- Buy <a href="https://permalinkmanager.pro?utm_source=wordpress">Permalink Manager Pro here</a>.
36
-
37
  https://www.youtube.com/watch?v=KMOtAK5c7t8
38
 
39
  = Additional features available in Permalink Manager Pro =
@@ -104,13 +103,40 @@ It is because Permalink Manager overwrites one of the core Wordpress functionali
104
 
105
  == Changelog ==
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  = 2.2.6 =
108
  * More debug functions added
109
  * Better support for Hebrew letters
110
  * Support for location custom fields in WP Store Locator - CSV Manager plugin
111
  * Improved support for Gutenberg editor (reported by Cedric Busuttil)
112
 
113
- = 2.2.4/2.2.5=
114
  * Minor code improvements
115
  * Yoast SEO Breadcrumbs - further improvements
116
  * Hotfix for Toolset custom fields support (Permalink Manager Pro)
6
  Tags: permalinks, custom permalinks, translate permalinks, woocommerce permalinks
7
  Requires at least: 4.4.0
8
  Requires PHP: 5.4
9
+ Tested up to: 5.3.1
10
+ Stable tag: 2.2.7.5
11
 
12
+ Permalink Manager Pro allows to easily change full URL addresses of posts, pages, custom post types, terms and WooCommerce links. You can also set different permalink formats per language or bulk change the URLs.
13
 
14
  == Description ==
15
 
16
  Permalink Manager is a most advanced and highly rated Wordpress permalink plugin that helps Wordpress users to control the URL addresses of all posts, pages, custom post type elements (taxonomies are supported in Pro version). To avoid 404 or duplicated content errors after the new custom permalink is defined, the visitors trying to access the old permalink will be automatically redirected to the new custom URL.
17
 
18
+ The plugin supports all custom post types & custom taxonomies and popular 3rd party plugins including WooCommerce, Yoast SEO, WPML, and Polylang. To improve SEO performance even more, the plugin settings provide a possibility to disable the canonical redirect (used natively by Wordpress) and control the trailing slashes settings.
 
 
19
 
20
+ <a href="https://permalinkmanager.pro/docs/?utm_source=wordpressorg">Documentation</a> | <a href="https://permalinkmanager.pro/buy-permalink-manager-pro/?utm_source=wordpressorg">Permalink Manager Pro</a>
21
 
22
  = All features =
23
 
31
  * **Trailing slashes settings**<br/>They can be forced or removed from all permalinks.
32
 
33
  = Need additional features & priority support? =
34
+ Buy <a href="https://permalinkmanager.pro?utm_source=wordpress">Permalink Manager Pro here</a>.
35
+
36
  https://www.youtube.com/watch?v=KMOtAK5c7t8
37
 
38
  = Additional features available in Permalink Manager Pro =
103
 
104
  == Changelog ==
105
 
106
+ = 2.2.7.5 =
107
+ * CSS Hotfix. Now the redirects box is displayed correctly in the URI editor
108
+
109
+ = 2.2.7.4 =
110
+ * Support for "Primary category" set with SEOPress & RankMath plugins
111
+ * Support for breadcrumbs added by SEOPress & RankMath plugins
112
+ * Improved "trailing slashes" functionality - untrailingslashit() & trailingslashit() replaced with REGEX based functions
113
+ * Possibility to remove custom permalinks, redirects, permastructure settings directly from "Debug" section
114
+ * New filter "permalink_manager_duplicates_priority" that allows to decide what content type ("posts" or "terms") should be loaded when the custom permalink is duplicated
115
+ * A minor fix for url_to_postid() function
116
+
117
+ = 2.2.7.3 =
118
+ * Support for "Primary category" set with The SEO Framework
119
+ * Changes for URI Editor section backend (SQL queries + improvements for search box)
120
+ * Improved support for WooCommerce Wishlist plugin
121
+ * Improvements for slugs sanitization functions
122
+ * Possibility to exclude posts from bulk tools added to "Auto-update the URI" dropdown in URI Editor
123
+
124
+ = 2.2.7.1 =
125
+ * Hotfix for PHP Fatal error in permalink-manager-admin-functions.php file
126
+
127
+ = 2.2.7 =
128
+ * Force 404 for draft posts (for non-logged-in users)
129
+ * New feature: Force HTTPs/WWW in URLs
130
+ * New setting fields: "URI Editor role capability" & "Force HTTPS in URLs"
131
+ * Minor improvements
132
+
133
  = 2.2.6 =
134
  * More debug functions added
135
  * Better support for Hebrew letters
136
  * Support for location custom fields in WP Store Locator - CSV Manager plugin
137
  * Improved support for Gutenberg editor (reported by Cedric Busuttil)
138
 
139
+ = 2.2.4/2.2.5 =
140
  * Minor code improvements
141
  * Yoast SEO Breadcrumbs - further improvements
142
  * Hotfix for Toolset custom fields support (Permalink Manager Pro)
includes/core/permalink-manager-actions.php CHANGED
@@ -23,7 +23,14 @@ class Permalink_Manager_Actions extends Permalink_Manager_Class {
23
  global $permalink_manager_after_sections_html;
24
 
25
  // 1. Check if the form was submitted
26
- if(empty($_POST)) { return; }
 
 
 
 
 
 
 
27
 
28
  $actions_map = array(
29
  'uri_editor' => array('function' => 'update_all_permalinks', 'display_uri_table' => true),
@@ -35,7 +42,7 @@ class Permalink_Manager_Actions extends Permalink_Manager_Class {
35
  'import' => array('function' => 'import_custom_permalinks_uris'),
36
  );
37
 
38
- // 2. Find the action
39
  foreach($actions_map as $action => $map) {
40
  if(isset($_POST[$action]) && wp_verify_nonce($_POST[$action], 'permalink-manager')) {
41
  // Execute the function
@@ -52,7 +59,7 @@ class Permalink_Manager_Actions extends Permalink_Manager_Class {
52
  }
53
  }
54
 
55
- // 3. Display the slugs table (and append the globals)
56
  if(isset($updated_slugs_count)) {
57
  $permalink_manager_after_sections_html .= Permalink_Manager_Admin_Functions::display_updated_slugs($updated_slugs_array);
58
  }
@@ -133,7 +140,7 @@ class Permalink_Manager_Actions extends Permalink_Manager_Class {
133
  $progress = get_transient("pm_{$uniq_id}_progress");
134
 
135
  $first_chunk = true;
136
- $chunk_size = apply_filters('permalink_manager_chunk_size', 50);
137
 
138
  if(empty($items)) {
139
  $items = $class_name::get_items();
@@ -231,12 +238,8 @@ class Permalink_Manager_Actions extends Permalink_Manager_Class {
231
  * Update all permalinks in "Permalink Editor"
232
  */
233
  function update_all_permalinks() {
234
- // Do nothing if search query is not empty
235
- if(!empty($_REQUEST['search-submit'])) {
236
- return;
237
- }
238
  // Check if posts or terms should be updated
239
- else if(!empty($_POST['content_type']) && $_POST['content_type'] == 'taxonomies') {
240
  return Permalink_Manager_URI_Functions_Tax::update_all_permalinks();
241
  } else {
242
  return Permalink_Manager_URI_Functions_Post::update_all_permalinks();
@@ -251,6 +254,9 @@ class Permalink_Manager_Actions extends Permalink_Manager_Class {
251
  self::flush_sitemaps();
252
  } else if(isset($_GET['clear-permalink-manager-uris'])) {
253
  self::clear_all_uris();
 
 
 
254
  } else if(!empty($_REQUEST['remove-uri'])) {
255
  $uri_key = sanitize_text_field($_REQUEST['remove-uri']);
256
  self::force_clear_single_element_uris_and_redirects($uri_key);
@@ -358,6 +364,52 @@ class Permalink_Manager_Actions extends Permalink_Manager_Class {
358
  }
359
  }
360
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
361
  /**
362
  * Check if the post/term uses the same URI for both permalink & custom redirects
363
  */
23
  global $permalink_manager_after_sections_html;
24
 
25
  // 1. Check if the form was submitted
26
+ if(empty($_POST)) {
27
+ return;
28
+ }
29
+
30
+ // 2. Do nothing if search query is not empty
31
+ if(isset($_REQUEST['search-submit']) || isset($_REQUEST['months-filter-button'])) {
32
+ return;
33
+ }
34
 
35
  $actions_map = array(
36
  'uri_editor' => array('function' => 'update_all_permalinks', 'display_uri_table' => true),
42
  'import' => array('function' => 'import_custom_permalinks_uris'),
43
  );
44
 
45
+ // 3. Find the action
46
  foreach($actions_map as $action => $map) {
47
  if(isset($_POST[$action]) && wp_verify_nonce($_POST[$action], 'permalink-manager')) {
48
  // Execute the function
59
  }
60
  }
61
 
62
+ // 4. Display the slugs table (and append the globals)
63
  if(isset($updated_slugs_count)) {
64
  $permalink_manager_after_sections_html .= Permalink_Manager_Admin_Functions::display_updated_slugs($updated_slugs_array);
65
  }
140
  $progress = get_transient("pm_{$uniq_id}_progress");
141
 
142
  $first_chunk = true;
143
+ $chunk_size = 50;
144
 
145
  if(empty($items)) {
146
  $items = $class_name::get_items();
238
  * Update all permalinks in "Permalink Editor"
239
  */
240
  function update_all_permalinks() {
 
 
 
 
241
  // Check if posts or terms should be updated
242
+ if(!empty($_POST['content_type']) && $_POST['content_type'] == 'taxonomies') {
243
  return Permalink_Manager_URI_Functions_Tax::update_all_permalinks();
244
  } else {
245
  return Permalink_Manager_URI_Functions_Post::update_all_permalinks();
254
  self::flush_sitemaps();
255
  } else if(isset($_GET['clear-permalink-manager-uris'])) {
256
  self::clear_all_uris();
257
+ } else if(isset($_GET['remove-permalink-manager-settings'])) {
258
+ $option_name = sanitize_text_field($_GET['remove-permalink-manager-settings']);
259
+ self::remove_plugin_data($option_name);
260
  } else if(!empty($_REQUEST['remove-uri'])) {
261
  $uri_key = sanitize_text_field($_REQUEST['remove-uri']);
262
  self::force_clear_single_element_uris_and_redirects($uri_key);
364
  }
365
  }
366
 
367
+ /**
368
+ * Remove plugin data
369
+ */
370
+ public static function remove_plugin_data($field_name) {
371
+ global $permalink_manager, $permalink_manager_before_sections_html;
372
+
373
+ // Make sure that the user is allowed to remove the plugin data
374
+ if(!current_user_can('manage_options')) {
375
+ $permalink_manager_before_sections_html .= Permalink_Manager_Admin_Functions::get_alert_message(__( 'You are not allowed to remove Permalink Manager data!', 'permalink-manager' ), 'error updated_slugs');
376
+ }
377
+
378
+ switch($field_name) {
379
+ case 'uris' :
380
+ $option_name = 'permalink-manager-uris';
381
+ $alert = __('Custom permalinks', 'permalink-manager');
382
+ break;
383
+ case 'redirects' :
384
+ $option_name = 'permalink-manager-redirects';
385
+ $alert = __('Custom redirects', 'permalink-manager');
386
+ break;
387
+ case 'external-redirects' :
388
+ $option_name = 'permalink-manager-external-redirects';
389
+ $alert = __('External redirects', 'permalink-manager');
390
+ break;
391
+ case 'permastructs' :
392
+ $option_name = 'permalink-manager-permastructs';
393
+ $alert = __('Permastructure settings', 'permalink-manager');
394
+ break;
395
+ case 'settings' :
396
+ $option_name = 'permalink-manager';
397
+ $alert = __('Permastructure settings', 'permalink-manager');
398
+ break;
399
+ }
400
+
401
+ if(!empty($option_name)) {
402
+ // Remove the option from DB
403
+ delete_option($option_name);
404
+
405
+ // Reload globals
406
+ $permalink_manager->get_options_and_globals();
407
+
408
+ $alert_message = sprintf(__('%s were removed!', 'permalink-manager'), $alert);
409
+ $permalink_manager_before_sections_html .= Permalink_Manager_Admin_Functions::get_alert_message($alert_message, 'updated updated_slugs');
410
+ }
411
+ }
412
+
413
  /**
414
  * Check if the post/term uses the same URI for both permalink & custom redirects
415
  */
includes/core/permalink-manager-admin-functions.php CHANGED
@@ -26,8 +26,9 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
26
  * Hooks that should be triggered with "admin_init"
27
  */
28
  public function init() {
29
- // Additional link in "Plugins" page
30
  add_filter( "plugin_action_links_{$this->plugin_basename}", array($this, "plugins_page_links") );
 
31
 
32
  // Detect current section
33
  $this->sections = apply_filters('permalink_manager_sections', array());
@@ -136,7 +137,12 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
136
  wp_enqueue_script( 'permalink-manager-plugins', PERMALINK_MANAGER_URL . '/out/permalink-manager-plugins.js', array( 'jquery', ), PERMALINK_MANAGER_VERSION, false );
137
  wp_enqueue_script( 'permalink-manager', PERMALINK_MANAGER_URL . '/out/permalink-manager-admin.js', array( 'jquery', 'permalink-manager-plugins' ), PERMALINK_MANAGER_VERSION, false );
138
 
139
- wp_localize_script( 'permalink-manager', 'permalink_manager', array('ajax_url' => admin_url('admin-ajax.php'), 'url' => PERMALINK_MANAGER_URL, 'spinners' => admin_url('images')) );
 
 
 
 
 
140
 
141
  }
142
 
@@ -154,10 +160,30 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
154
  * Additional links on "Plugins" page
155
  */
156
  public function plugins_page_links($links) {
157
- $links[] = sprintf('<a href="%s">%s</a>', $this->get_admin_url(), __( 'URI Editor', 'permalink-manager' ));
158
- if(!defined('PERMALINK_MANAGER_PRO')) {
159
- $links[] = sprintf('<a href="%s" target="_blank">%s</a>', PERMALINK_MANAGER_WEBSITE, __( 'Buy Permalink Manager Pro', 'permalink-manager' ));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
  }
 
161
  return $links;
162
  }
163
 
@@ -639,16 +665,16 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
639
  }
640
 
641
  // Decode permalink
642
- $permalink = urldecode(urldecode($permalink));
643
 
644
  $main_content .= "<tr{$alternate_class}>";
645
  $main_content .= '<td class="row-title column-primary" data-colname="' . __('Title', 'permalink-manager') . '">' . $row['item_title'] . "<a target=\"_blank\" href=\"{$permalink}\"><span class=\"small\">{$permalink}</span></a>" . '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __('Show more details', 'permalink-manager') . '</span></button></td>';
646
  if($show_slugs) {
647
- $main_content .= (isset($row['old_slug'])) ? '<td data-colname="' . __('Old Slug', 'permalink-manager') . '">' . urldecode($row['old_slug']) . '</td>' : "";
648
- $main_content .= (isset($row['new_slug'])) ? '<td data-colname="' . __('New Slug', 'permalink-manager') . '">' . urldecode($row['new_slug']) . '</td>' : "";
649
  } else {
650
- $main_content .= '<td data-colname="' . __('Old URI', 'permalink-manager') . '">' . urldecode($row['old_uri']) . '</td>';
651
- $main_content .= '<td data-colname="' . __('New URI', 'permalink-manager') . '">' . urldecode($row['new_uri']) . '</td>';
652
  }
653
  $main_content .= '</tr>';
654
  }
@@ -727,21 +753,19 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
727
  public static function display_uri_box($element, $gutenberg = false) {
728
  global $permalink_manager_options, $permalink_manager_uris;
729
 
 
 
 
 
 
 
730
  if(!empty($element->ID)) {
731
  $id = $element_id = $element->ID;
732
  $native_slug = $element->post_name;
733
  $is_draft = (!empty($element->post_status) && (in_array($element->post_status, array('draft', 'auto-draft')))) ? true : false;
734
  $is_front_page = Permalink_Manager_Helper_Functions::is_front_page($id);
735
 
736
- // Auto-update settings
737
  $auto_update_val = get_post_meta($id, "auto_update_uri", true);
738
- $auto_update_def_val = $permalink_manager_options["general"]["auto_update_uris"];
739
- $auto_update_def_label = ($auto_update_def_val) ? __("Yes", "permalink-manager") : __("No", "permalink-manager");
740
- $auto_update_choices = array(
741
- 0 => array("label" => sprintf(__("Use global settings [%s]", "permalink-manager"), $auto_update_def_label), "atts" => "data-auto-update=\"{$auto_update_def_val}\""),
742
- -1 => array("label" => __("No", "permalink-manager"), "atts" => "data-auto-update=\"0\""),
743
- 1 => array("label" => __("Yes", "permalink-manager"), "atts" => "data-auto-update=\"1\"")
744
- );
745
 
746
  // Get URIs
747
  $uri = Permalink_Manager_URI_Functions_Post::get_post_uri($id, true, $is_draft);
@@ -752,6 +776,8 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
752
  $element_id = "tax-{$id}";
753
  $native_slug = $element->slug;
754
 
 
 
755
  // Get URIs
756
  $uri = Permalink_Manager_URI_Functions_Tax::get_term_uri($element->term_id, true);
757
  $default_uri = Permalink_Manager_URI_Functions_Tax::get_default_term_uri($element->term_id);
@@ -760,8 +786,18 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
760
  return;
761
  }
762
 
 
 
 
 
 
 
 
 
 
 
763
  // Decode default URI
764
- $default_uri = urldecode($default_uri);
765
 
766
  // Start HTML output
767
  // 1. Button
@@ -796,7 +832,7 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
796
 
797
  // 5. Native slug
798
  if(!empty($element->ID) && !empty($permalink_manager_options["general"]["show_native_slug_field"])) {
799
- $native_slug_field = Permalink_Manager_Admin_Functions::generate_option_field("native_slug", array("extra_atts" => "data-default=\"{$native_slug}\" data-element-id=\"{$element_id}\"", "input_class" => "widefat native_slug", "value" => urldecode($native_slug)));
800
 
801
  $html .= sprintf("<div class=\"native_slug_container\"><p><label for=\"native_slug\" class=\"strong\">%s %s</label></p><span>%s</span></div>",
802
  __("Native slug", "permalink-manager"),
@@ -832,7 +868,7 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
832
  "<div class=\"default-permalink-row columns-container\"><span><strong>%s</strong> <a href=\"%s\">%s</a></span></div>",
833
  __("Automatic redirect for native URI enabled:", "permalink-manager"),
834
  $native_permalink,
835
- urldecode($native_uri)
836
  );
837
  }
838
  }
@@ -875,21 +911,22 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
875
  global $permalink_manager_options, $permalink_manager_redirects;
876
 
877
  // Heading
878
- $html = sprintf(
879
- "<div class=\"permalink-manager redirects-row redirects-panel columns-container\"><div><a class=\"button\" href=\"#\" id=\"toggle-redirect-panel\">%s</a></span></div>",
 
 
880
  __("Manage redirects", "permalink-manager")
881
  );
882
 
883
  $html .= "<div id=\"redirect-panel-inside\">";
884
-
885
- // Table
886
  if(Permalink_Manager_Admin_Functions::is_pro_active() && class_exists('Permalink_Manager_Pro_Addons')) {
887
  $html .= Permalink_Manager_Pro_Addons::display_redirect_form($element_id);
888
  } else {
889
  $html .= self::pro_text(true);
890
  }
 
891
 
892
- $html .= "</div></div>";
893
 
894
  return $html;
895
  }
26
  * Hooks that should be triggered with "admin_init"
27
  */
28
  public function init() {
29
+ // Additional links in "Plugins" page
30
  add_filter( "plugin_action_links_{$this->plugin_basename}", array($this, "plugins_page_links") );
31
+ add_filter( "plugin_row_meta", array($this, "plugins_page_meta"), 10, 2 );
32
 
33
  // Detect current section
34
  $this->sections = apply_filters('permalink_manager_sections', array());
137
  wp_enqueue_script( 'permalink-manager-plugins', PERMALINK_MANAGER_URL . '/out/permalink-manager-plugins.js', array( 'jquery', ), PERMALINK_MANAGER_VERSION, false );
138
  wp_enqueue_script( 'permalink-manager', PERMALINK_MANAGER_URL . '/out/permalink-manager-admin.js', array( 'jquery', 'permalink-manager-plugins' ), PERMALINK_MANAGER_VERSION, false );
139
 
140
+ wp_localize_script( 'permalink-manager', 'permalink_manager', array(
141
+ 'ajax_url' => admin_url('admin-ajax.php'),
142
+ 'url' => PERMALINK_MANAGER_URL,
143
+ 'confirm' => __('Are you sure? This action cannot be undone!', 'permalink-manager'),
144
+ 'spinners' => admin_url('images'))
145
+ );
146
 
147
  }
148
 
160
  * Additional links on "Plugins" page
161
  */
162
  public function plugins_page_links($links) {
163
+ $new_links = array(
164
+ sprintf('<a href="%s">%s</a>', $this->get_admin_url(), __( 'URI Editor', 'permalink-manager' )),
165
+ sprintf('<a href="%s">%s</a>', $this->get_admin_url('&section=settings'), __( 'Settings', 'permalink-manager' )),
166
+ );
167
+
168
+ return array_merge($links, $new_links);
169
+ }
170
+
171
+ /**
172
+ * Additional meta links on "Plugins" page
173
+ */
174
+ public function plugins_page_meta($links, $file) {
175
+ if($file == PERMALINK_MANAGER_BASENAME) {
176
+ $new_links = array(
177
+ 'doc' => sprintf('<a href="%s?utm_source=plugin_admin_page" target="_blank">%s</a>', 'https://permalinkmanager.pro/docs/', __( 'Documentation', 'permalink-manager' ))
178
+ );
179
+
180
+ if(!defined('PERMALINK_MANAGER_PRO')) {
181
+ $new_links['upgrade'] = sprintf('<a href="%s?utm_source=plugin_admin_page" target="_blank"><strong>%s</strong></a>', PERMALINK_MANAGER_WEBSITE, __( 'Buy Permalink Manager Pro', 'permalink-manager' ));
182
+ }
183
+
184
+ $links = array_merge($links, $new_links);
185
  }
186
+
187
  return $links;
188
  }
189
 
665
  }
666
 
667
  // Decode permalink
668
+ $permalink = rawurldecode(rawurldecode($permalink));
669
 
670
  $main_content .= "<tr{$alternate_class}>";
671
  $main_content .= '<td class="row-title column-primary" data-colname="' . __('Title', 'permalink-manager') . '">' . $row['item_title'] . "<a target=\"_blank\" href=\"{$permalink}\"><span class=\"small\">{$permalink}</span></a>" . '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __('Show more details', 'permalink-manager') . '</span></button></td>';
672
  if($show_slugs) {
673
+ $main_content .= (isset($row['old_slug'])) ? '<td data-colname="' . __('Old Slug', 'permalink-manager') . '">' . rawurldecode($row['old_slug']) . '</td>' : "";
674
+ $main_content .= (isset($row['new_slug'])) ? '<td data-colname="' . __('New Slug', 'permalink-manager') . '">' . rawurldecode($row['new_slug']) . '</td>' : "";
675
  } else {
676
+ $main_content .= '<td data-colname="' . __('Old URI', 'permalink-manager') . '">' . rawurldecode($row['old_uri']) . '</td>';
677
+ $main_content .= '<td data-colname="' . __('New URI', 'permalink-manager') . '">' . rawurldecode($row['new_uri']) . '</td>';
678
  }
679
  $main_content .= '</tr>';
680
  }
753
  public static function display_uri_box($element, $gutenberg = false) {
754
  global $permalink_manager_options, $permalink_manager_uris;
755
 
756
+ // Check the user capabilities
757
+ $edit_uris_cap = (!empty($permalink_manager_options['general']['edit_uris_cap'])) ? $permalink_manager_options['general']['edit_uris_cap'] : 'publish_posts';
758
+ if(!current_user_can($edit_uris_cap)) {
759
+ return;
760
+ }
761
+
762
  if(!empty($element->ID)) {
763
  $id = $element_id = $element->ID;
764
  $native_slug = $element->post_name;
765
  $is_draft = (!empty($element->post_status) && (in_array($element->post_status, array('draft', 'auto-draft')))) ? true : false;
766
  $is_front_page = Permalink_Manager_Helper_Functions::is_front_page($id);
767
 
 
768
  $auto_update_val = get_post_meta($id, "auto_update_uri", true);
 
 
 
 
 
 
 
769
 
770
  // Get URIs
771
  $uri = Permalink_Manager_URI_Functions_Post::get_post_uri($id, true, $is_draft);
776
  $element_id = "tax-{$id}";
777
  $native_slug = $element->slug;
778
 
779
+ $auto_update_val = get_term_meta($id, "auto_update_uri", true);
780
+
781
  // Get URIs
782
  $uri = Permalink_Manager_URI_Functions_Tax::get_term_uri($element->term_id, true);
783
  $default_uri = Permalink_Manager_URI_Functions_Tax::get_default_term_uri($element->term_id);
786
  return;
787
  }
788
 
789
+ // Auto-update settings
790
+ $auto_update_def_val = $permalink_manager_options["general"]["auto_update_uris"];
791
+ $auto_update_def_label = ($auto_update_def_val) ? __("Yes", "permalink-manager") : __("No", "permalink-manager");
792
+ $auto_update_choices = array(
793
+ 0 => array("label" => sprintf(__("Use global settings [%s]", "permalink-manager"), $auto_update_def_label), "atts" => "data-auto-update=\"{$auto_update_def_val}\""),
794
+ 1 => array("label" => __("Yes", "permalink-manager"), "atts" => "data-auto-update=\"1\""),
795
+ -1 => array("label" => __("No", "permalink-manager"), "atts" => "data-auto-update=\"0\""),
796
+ -2 => array("label" => __("No (ignore this URI in bulk tools)", "permalink-manager"), "atts" => "data-auto-update=\"2\"")
797
+ );
798
+
799
  // Decode default URI
800
+ $default_uri = rawurldecode($default_uri);
801
 
802
  // Start HTML output
803
  // 1. Button
832
 
833
  // 5. Native slug
834
  if(!empty($element->ID) && !empty($permalink_manager_options["general"]["show_native_slug_field"])) {
835
+ $native_slug_field = Permalink_Manager_Admin_Functions::generate_option_field("native_slug", array("extra_atts" => "data-default=\"{$native_slug}\" data-element-id=\"{$element_id}\"", "input_class" => "widefat native_slug", "value" => rawurldecode($native_slug)));
836
 
837
  $html .= sprintf("<div class=\"native_slug_container\"><p><label for=\"native_slug\" class=\"strong\">%s %s</label></p><span>%s</span></div>",
838
  __("Native slug", "permalink-manager"),
868
  "<div class=\"default-permalink-row columns-container\"><span><strong>%s</strong> <a href=\"%s\">%s</a></span></div>",
869
  __("Automatic redirect for native URI enabled:", "permalink-manager"),
870
  $native_permalink,
871
+ rawurldecode($native_uri)
872
  );
873
  }
874
  }
911
  global $permalink_manager_options, $permalink_manager_redirects;
912
 
913
  // Heading
914
+ $html = "<div class=\"permalink-manager redirects-row redirects-panel columns-container\">";
915
+
916
+ $html .= sprintf(
917
+ "<div><a class=\"button\" href=\"#\" id=\"toggle-redirect-panel\">%s</a></span></div>",
918
  __("Manage redirects", "permalink-manager")
919
  );
920
 
921
  $html .= "<div id=\"redirect-panel-inside\">";
 
 
922
  if(Permalink_Manager_Admin_Functions::is_pro_active() && class_exists('Permalink_Manager_Pro_Addons')) {
923
  $html .= Permalink_Manager_Pro_Addons::display_redirect_form($element_id);
924
  } else {
925
  $html .= self::pro_text(true);
926
  }
927
+ $html .= "</div>";
928
 
929
+ $html .= "</div>";
930
 
931
  return $html;
932
  }
includes/core/permalink-manager-core-functions.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  /**
4
- * Core function
5
  */
6
  class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
7
 
@@ -17,10 +17,6 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
17
  add_filter( 'permalink_manager_filter_final_post_permalink', array($this, 'control_trailing_slashes'), 9);
18
  add_filter( 'permalink_manager_filter_post_sample_uri', array($this, 'control_trailing_slashes'), 9);
19
 
20
- // Replace empty placeholder tags & remove BOM
21
- add_filter( 'permalink_manager_filter_default_post_uri', array($this, 'replace_empty_placeholder_tags'), 10, 5 );
22
- add_filter( 'permalink_manager_filter_default_term_uri', array($this, 'replace_empty_placeholder_tags'), 10, 5 );
23
-
24
  /**
25
  * Detect & canonical URL/redirect functions
26
  */
@@ -30,9 +26,6 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
30
  // Do not trigger if Customizer is loaded
31
  if(function_exists('is_customize_preview') && is_customize_preview()) { return false; }
32
 
33
- // Do not trigger if Elementor is loaded
34
- if((!empty($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || isset($_REQUEST['elementor-preview'])) { return false; }
35
-
36
  // Use the URIs set in this plugin
37
  add_filter( 'request', array($this, 'detect_post'), 0, 1 );
38
 
@@ -54,7 +47,7 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
54
  * The most important Permalink Manager function
55
  */
56
  public static function detect_post($query, $request_url = false, $return_object = false) {
57
- global $wpdb, $wp, $wp_rewrite, $permalink_manager, $permalink_manager_uris, $wp_filter, $permalink_manager_options, $pm_query, $pm_uri_parts;
58
 
59
  // Check if the array with custom URIs is set
60
  //if(!(is_array($permalink_manager_uris)) || (empty($query) && empty($request_url))) return $query;
@@ -129,8 +122,31 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
129
  // Ignore URLs with no URI grabbed
130
  if(empty($uri)) return $query;
131
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  // Flip array for better performance
133
- $all_uris = array_flip($permalink_manager_uris);
134
 
135
  // Attempt 1.
136
  // Find the element ID
@@ -142,10 +158,13 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
142
  $uri = strtolower(urldecode($uri));
143
 
144
  foreach($all_uris as $raw_uri => $uri_id) {
145
- $raw_uri = strtolower(urldecode($raw_uri));
146
  $all_uris[$raw_uri] = $uri_id;
147
  }
148
 
 
 
 
149
  $element_id = isset($all_uris[$uri]) ? $all_uris[$uri] : $element_id;
150
  }
151
 
@@ -260,6 +279,11 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
260
  $query['p'] = $element_id;
261
  $query['preview'] = true;
262
  $query['post_type'] = $post_type;
 
 
 
 
 
263
  } else {
264
  $query = $old_query;
265
  }
@@ -341,17 +365,7 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
341
  }
342
 
343
  /**
344
- * 6. WWW prefix mismatch detect
345
- */
346
- $home_url_has_www = (strpos($raw_home_url, 'www.') !== false) ? true : false;
347
- $requested_url_has_www = (strpos($_SERVER['HTTP_HOST'], 'www.') !== false) ? true : false;
348
-
349
- if($home_url_has_www != $requested_url_has_www) {
350
- unset($query['do_not_redirect']);
351
- }
352
-
353
- /**
354
- * 7. Set global with detected item id
355
  */
356
  if(!empty($element_id)) {
357
  $pm_query['id'] = $element_id;
@@ -362,7 +376,7 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
362
  }
363
 
364
  /**
365
- * 8. Debug data
366
  */
367
  if(!empty($taxonomy)) {
368
  $content_type = "Taxonomy: {$term_taxonomy}";
@@ -385,7 +399,7 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
385
  /**
386
  * Trailing slash & remove BOM and double slashes
387
  */
388
- function control_trailing_slashes($permalink) {
389
  global $permalink_manager_options;
390
 
391
  // Ignore empty permalinks
@@ -393,15 +407,12 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
393
 
394
  $trailing_slash_setting = (!empty($permalink_manager_options['general']['trailing_slashes'])) ? $permalink_manager_options['general']['trailing_slashes'] : "";
395
 
396
- // Do not append the trailing slash if permalink contains hashtag or get parameters
397
- $url_parsed = parse_url($permalink);
398
-
399
- if(!empty($url_parsed['query']) || !empty($url_parsed['fragment']) || preg_match("/.*\.([a-zA-Z]{3,4})\/?$/", $permalink)) {
400
- $permalink = untrailingslashit($permalink);
401
  } else if(in_array($trailing_slash_setting, array(1, 10))) {
402
- $permalink = trailingslashit($permalink);
403
  } else if(in_array($trailing_slash_setting, array(2, 20))) {
404
- $permalink = untrailingslashit($permalink);
405
  }
406
 
407
  // Remove double slashes
@@ -439,7 +450,7 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
439
  }
440
 
441
  // 5. Block non-existent pages (Force 404 error)
442
- if($is_404) {
443
  $wp_query->is_404 = true;
444
  $wp_query->query = $wp_query->queried_object = $wp_query->queried_object_id = null;
445
  $wp_query->set_404();
@@ -456,18 +467,7 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
456
  * Redirects
457
  */
458
  function new_uri_redirect_and_404() {
459
- global $wp_query, $permalink_manager_uris, $permalink_manager_redirects, $permalink_manager_external_redirects, $permalink_manager_options, $wp, $pm_query, $pm_uri_parts;
460
-
461
- // Do not redirect on author pages & front page
462
- if(is_author() || is_front_page() || is_home() || is_feed()) { return false; }
463
-
464
- // Unset 404 if custom URI is detected
465
- if(isset($pm_query['id'])) {
466
- $wp_query->is_404 = false;
467
- }
468
-
469
- // Sometimes $wp_query indicates the wrong object if requested directly
470
- $queried_object = get_queried_object();
471
 
472
  // Get the redirection mode & trailing slashes settings
473
  $redirect_mode = (!empty($permalink_manager_options['general']['redirect'])) ? $permalink_manager_options['general']['redirect'] : false;
@@ -475,10 +475,6 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
475
  $trailing_slashes_redirect_mode = (!empty($permalink_manager_options['general']['trailing_slashes_redirect'])) ? $permalink_manager_options['general']['trailing_slashes_redirect'] : 301;
476
  $redirect_type = '-';
477
 
478
- // Get query string & URI
479
- $query_string = $_SERVER['QUERY_STRING'];
480
- $old_uri = $_SERVER['REQUEST_URI'];
481
-
482
  // Get home URL
483
  $home_url = rtrim(get_option('home'), "/");
484
  $home_dir = parse_url($home_url, PHP_URL_PATH);
@@ -486,146 +482,183 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
486
  // Set up $correct_permalink variable
487
  $correct_permalink = '';
488
 
 
 
 
 
489
  // Fix for WP installed in directories (remove the directory name from the URI)
490
  if(!empty($home_dir)) {
491
  $home_dir_regex = preg_quote(trim($home_dir), "/");
492
  $old_uri = preg_replace("/{$home_dir_regex}/", "", $old_uri, 1);
493
  }
494
 
495
- /**
496
- * 1A. External redirect
497
- */
498
- if(!empty($pm_query['id']) && !empty($permalink_manager_external_redirects[$pm_query['id']])) {
499
- $external_url = $permalink_manager_external_redirects[$pm_query['id']];
 
 
500
 
501
- if(filter_var($external_url, FILTER_VALIDATE_URL)) {
502
- // Allow redirect
503
- $wp_query->query_vars['do_not_redirect'] = 0;
 
 
 
 
 
504
 
505
- wp_redirect($external_url, 301);
506
- exit();
 
 
 
 
 
507
  }
508
- }
509
 
510
- /**
511
- * 1B. Custom redirects
512
- */
513
- if(empty($wp_query->query_vars['do_not_redirect']) && !empty($permalink_manager_redirects) && is_array($permalink_manager_redirects) && !empty($wp->request) && !empty($pm_query['uri'])) {
514
- $uri = $pm_query['uri'];
 
515
 
516
- // Make sure that URIs with non-ASCII characters are also detected
517
- $decoded_url = urldecode($uri);
 
518
 
519
- // Check if the URI is not assigned to any post/term's redirects
520
- foreach($permalink_manager_redirects as $element => $redirects) {
521
- if(is_array($redirects) && (in_array($uri, $redirects) || in_array($decoded_url, $redirects))) {
522
 
523
- // Post is detected
524
- if(is_numeric($element)) {
525
- $correct_permalink = get_permalink($element);
526
- }
527
- // Term is detected
528
- else {
529
- $term_id = intval(preg_replace("/[^0-9]/", "", $element));
530
- $correct_permalink = get_term_link($term_id);
 
 
 
531
  }
532
  }
 
 
533
  }
534
 
535
- $redirect_type = (!empty($correct_permalink)) ? 'custom_redirect' : $redirect_type;
536
- }
537
 
538
- // Ignore WP-Content links
539
- if(!empty($_SERVER['REQUEST_URI']) && (strpos($_SERVER['REQUEST_URI'], '/wp-content') !== false)) { return false; }
 
 
540
 
541
- /**
542
- * 1C. Enhance native redirect
543
- */
544
- if(empty($wp_query->query_vars['do_not_redirect']) && $redirect_mode && !empty($queried_object) && empty($correct_permalink)) {
 
 
545
 
546
- // Affect only posts with custom URI and old URIs
547
- if(!empty($queried_object->ID) && isset($permalink_manager_uris[$queried_object->ID]) && empty($wp_query->query['preview'])) {
548
- // Ignore posts with specific statuses
549
- if(!(empty($queried_object->post_status)) && in_array($queried_object->post_status, array('draft', 'pending', 'auto-draft', 'future'))) {
550
- return '';
551
- }
552
 
553
- // Check if post type is allowed
554
- if(Permalink_Manager_Helper_Functions::is_disabled($queried_object->post_type, 'post_type')) { return ''; }
 
 
 
 
 
555
 
556
- // Get the real URL
557
- $correct_permalink = get_permalink($queried_object->ID);
558
- }
559
- // Affect only terms with custom URI and old URIs
560
- else if(!empty($queried_object->term_id) && isset($permalink_manager_uris["tax-{$queried_object->term_id}"]) && defined('PERMALINK_MANAGER_PRO')) {
561
- // Check if taxonomy is allowed
562
- if(Permalink_Manager_Helper_Functions::is_disabled($queried_object->taxonomy, "taxonomy")) { return ''; }
563
 
564
- // Get the real URL
565
- $correct_permalink = get_term_link($queried_object->term_id, $queried_object->taxonomy);
566
- }
567
 
568
- $redirect_type = (!empty($correct_permalink)) ? 'native_redirect' : $redirect_type;
569
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
570
 
571
- /**
572
- * 2. Check trailing slashes (ignore links with query parameters)
573
- */
574
- if($trailing_slashes_mode && empty($_SERVER['QUERY_STRING']) && !empty($_SERVER['REQUEST_URI'])) {
575
- // Check if $old_uri ends with slash or not
576
- $ends_with_slash = (substr($old_uri, -1) == "/") ? true : false;
577
- $trailing_slashes_mode = (preg_match("/.*\.([a-zA-Z]{3,4})\/?$/", $old_uri) && $trailing_slashes_mode == 10) ? 20 : $trailing_slashes_mode;
578
-
579
- // Ignore empty URIs
580
- if($old_uri != "/") {
581
- // Remove the trailing slashes (and add them again if needed below)
582
- $old_uri = trim($old_uri, "/");
583
- $correct_permalink = (!empty($correct_permalink)) ? trim($correct_permalink, "/") : "";
584
-
585
- // 2A. Force trailing slashes
586
- if($trailing_slashes_mode == 10 && $ends_with_slash == false) {
587
- $correct_permalink = (!empty($correct_permalink)) ? "{$correct_permalink}/" : "{$home_url}/{$old_uri}/";
588
- }
589
- // 2B. Remove trailing slashes
590
- else if($trailing_slashes_mode == 20 && $ends_with_slash == true) {
591
- $correct_permalink = (!empty($correct_permalink)) ? $correct_permalink : "{$home_url}/{$old_uri}";
592
- $correct_permalink = trim($correct_permalink, "/");
593
  }
594
 
595
- // Use redirect mode set for trailing slash redirect
596
- if(($trailing_slashes_mode == 20 && $ends_with_slash == true) || ($trailing_slashes_mode == 10 && $ends_with_slash == false)) {
597
- $redirect_mode = $trailing_slashes_redirect_mode;
598
- }
599
  }
600
 
601
- $redirect_type = (!empty($correct_permalink)) ? 'slash_redirect' : '-';
602
- }
 
 
 
 
 
603
 
604
- /**
605
- * 3. Check if URL contains duplicated slashes
606
- */
607
- if(!empty($old_uri) && ($old_uri != '/') && preg_match('/\/{2,}/', $old_uri)) {
608
- $new_uri = ltrim(preg_replace('/([^:])([\/]+)/', '$1/', $old_uri), "/");
609
- $correct_permalink = "{$home_url}/{$new_uri}";
 
 
 
 
 
610
  }
611
 
612
  /**
613
- * 4. Prevent redirect loop
614
  */
615
- if(!empty($correct_permalink) && is_string($correct_permalink) && !empty($wp->request) && !empty($redirect_type) && $redirect_type != 'slash_redirect') {
616
- $current_uri = trim($wp->request, "/");
617
- $redirect_uri = trim(parse_url($correct_permalink, PHP_URL_PATH), "/");
 
 
618
 
619
- $correct_permalink = ($redirect_uri == $current_uri) ? null : $correct_permalink;
 
 
 
620
  }
621
 
622
  /**
623
- * 5. Debug redirect
624
  */
625
  $correct_permalink = apply_filters('permalink_manager_filter_redirect', $correct_permalink, $redirect_type, $queried_object);
626
 
627
  /**
628
- * 6. Ignore default URIs (or do nothing if redirects are disabled)
629
  */
630
  if(!empty($correct_permalink) && is_string($correct_permalink) && !empty($redirect_mode)) {
631
  // Allow redirect
@@ -634,10 +667,10 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
634
  // Append query string
635
  $correct_permalink = (!empty($query_string)) ? sprintf("%s?%s", strtok($correct_permalink, "?"), $query_string) : $correct_permalink;
636
 
637
- // Remove double slash
638
- $correct_permalink = preg_replace('~(?<!https:|http:)[/\\\\]+~', "/", trim($correct_permalink));
639
 
640
- wp_safe_redirect($correct_permalink, $redirect_mode);
641
  exit();
642
  }
643
  }
@@ -695,29 +728,4 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
695
  }
696
  }
697
 
698
- /**
699
- * Replace empty placeholder tags & remove BOM
700
- */
701
- public static function replace_empty_placeholder_tags($default_uri, $native_slug = "", $element = "", $slug = "", $native_uri = "") {
702
- // Do not affect native URIs
703
- if($native_uri == true) { return $default_uri; }
704
-
705
- // Remove the BOM
706
- $default_uri = str_replace(array("\xEF\xBB\xBF", "%ef%bb%bf"), '', $default_uri);
707
-
708
- // Encode the URI before placeholders are removed
709
- $chunks = explode('/', $default_uri);
710
- foreach ($chunks as &$chunk) {
711
- if(preg_match("/^(%.+?%)$/", $chunk) == false) {
712
- $chunk = urldecode($chunk);
713
- }
714
- }
715
- $default_uri = implode("/", $chunks);
716
-
717
- $empty_tag_replacement = apply_filters('permalink_manager_empty_tag_replacement', null, $element);
718
- $default_uri = ($empty_tag_replacement || is_null($empty_tag_replacement)) ? str_replace("//", "/", preg_replace("/%(.+?)%/", $empty_tag_replacement, $default_uri)) : $default_uri;
719
-
720
- return trim($default_uri, "/");
721
- }
722
-
723
  }
1
  <?php
2
 
3
  /**
4
+ * Core functions
5
  */
6
  class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
7
 
17
  add_filter( 'permalink_manager_filter_final_post_permalink', array($this, 'control_trailing_slashes'), 9);
18
  add_filter( 'permalink_manager_filter_post_sample_uri', array($this, 'control_trailing_slashes'), 9);
19
 
 
 
 
 
20
  /**
21
  * Detect & canonical URL/redirect functions
22
  */
26
  // Do not trigger if Customizer is loaded
27
  if(function_exists('is_customize_preview') && is_customize_preview()) { return false; }
28
 
 
 
 
29
  // Use the URIs set in this plugin
30
  add_filter( 'request', array($this, 'detect_post'), 0, 1 );
31
 
47
  * The most important Permalink Manager function
48
  */
49
  public static function detect_post($query, $request_url = false, $return_object = false) {
50
+ global $wpdb, $wp, $wp_rewrite, $permalink_manager, $permalink_manager_uris, $wp_filter, $permalink_manager_options, $pm_query;
51
 
52
  // Check if the array with custom URIs is set
53
  //if(!(is_array($permalink_manager_uris)) || (empty($query) && empty($request_url))) return $query;
122
  // Ignore URLs with no URI grabbed
123
  if(empty($uri)) return $query;
124
 
125
+ // Store an array with custom permalinks in a separate variable
126
+ $all_uris = $permalink_manager_uris;
127
+
128
+ // Check what content type should be loaded in case of duplicate ("posts" or "terms")
129
+ $duplicates_priority = apply_filters('permalink_manager_duplicates_priority', false);
130
+ if($duplicates_priority !== false) {
131
+ $uri_count = array_count_values($all_uris);
132
+
133
+ foreach($uri_count as $duplicated_uri => $count) {
134
+ if($count <= 1) { continue; }
135
+
136
+ $duplicates_ids = array_keys($all_uris, $duplicated_uri);
137
+
138
+ foreach($duplicates_ids as $id) {
139
+ if($duplicates_priority == 'posts' && !is_numeric($id)) {
140
+ unset($all_uris[$id]);
141
+ } else if($duplicates_priority !== 'posts' && is_numeric($id)) {
142
+ unset($all_uris[$id]);
143
+ }
144
+ }
145
+ }
146
+ }
147
+
148
  // Flip array for better performance
149
+ $all_uris = array_flip($all_uris);
150
 
151
  // Attempt 1.
152
  // Find the element ID
158
  $uri = strtolower(urldecode($uri));
159
 
160
  foreach($all_uris as $raw_uri => $uri_id) {
161
+ $raw_uri = urldecode($raw_uri);
162
  $all_uris[$raw_uri] = $uri_id;
163
  }
164
 
165
+ // Convert array keys lowercase
166
+ $all_uris = array_change_key_case($all_uris, CASE_LOWER);
167
+
168
  $element_id = isset($all_uris[$uri]) ? $all_uris[$uri] : $element_id;
169
  }
170
 
279
  $query['p'] = $element_id;
280
  $query['preview'] = true;
281
  $query['post_type'] = $post_type;
282
+ } else if($post_to_load->post_status == 'draft') {
283
+ $query['pagename'] = '-';
284
+ $query['error'] = '404';
285
+
286
+ $element_id = 0;
287
  } else {
288
  $query = $old_query;
289
  }
365
  }
366
 
367
  /**
368
+ * 6. Set global with detected item id
 
 
 
 
 
 
 
 
 
 
369
  */
370
  if(!empty($element_id)) {
371
  $pm_query['id'] = $element_id;
376
  }
377
 
378
  /**
379
+ * 7. Debug data
380
  */
381
  if(!empty($taxonomy)) {
382
  $content_type = "Taxonomy: {$term_taxonomy}";
399
  /**
400
  * Trailing slash & remove BOM and double slashes
401
  */
402
+ static function control_trailing_slashes($permalink) {
403
  global $permalink_manager_options;
404
 
405
  // Ignore empty permalinks
407
 
408
  $trailing_slash_setting = (!empty($permalink_manager_options['general']['trailing_slashes'])) ? $permalink_manager_options['general']['trailing_slashes'] : "";
409
 
410
+ if(preg_match("/.*\.([a-zA-Z]{3,4})\/?$/", $permalink)) {
411
+ $permalink = preg_replace('/(.+?)([\/]*)(\?[^\/]+|\#[^\/]+|$)/', '$1$3', $permalink); // Instead of untrailingslashit()
 
 
 
412
  } else if(in_array($trailing_slash_setting, array(1, 10))) {
413
+ $permalink = preg_replace('/(.+?)([\/]*)(\?[^\/]+|\#[^\/]+|$)/', '$1/$3', $permalink); // Instead of trailingslashit()
414
  } else if(in_array($trailing_slash_setting, array(2, 20))) {
415
+ $permalink = preg_replace('/(.+?)([\/]*)(\?[^\/]+|\#[^\/]+|$)/', '$1$3', $permalink); // Instead of untrailingslashit
416
  }
417
 
418
  // Remove double slashes
450
  }
451
 
452
  // 5. Block non-existent pages (Force 404 error)
453
+ if(!empty($is_404)) {
454
  $wp_query->is_404 = true;
455
  $wp_query->query = $wp_query->queried_object = $wp_query->queried_object_id = null;
456
  $wp_query->set_404();
467
  * Redirects
468
  */
469
  function new_uri_redirect_and_404() {
470
+ global $wp_query, $permalink_manager_uris, $permalink_manager_redirects, $permalink_manager_external_redirects, $permalink_manager_options, $wp, $pm_query;
 
 
 
 
 
 
 
 
 
 
 
471
 
472
  // Get the redirection mode & trailing slashes settings
473
  $redirect_mode = (!empty($permalink_manager_options['general']['redirect'])) ? $permalink_manager_options['general']['redirect'] : false;
475
  $trailing_slashes_redirect_mode = (!empty($permalink_manager_options['general']['trailing_slashes_redirect'])) ? $permalink_manager_options['general']['trailing_slashes_redirect'] : 301;
476
  $redirect_type = '-';
477
 
 
 
 
 
478
  // Get home URL
479
  $home_url = rtrim(get_option('home'), "/");
480
  $home_dir = parse_url($home_url, PHP_URL_PATH);
482
  // Set up $correct_permalink variable
483
  $correct_permalink = '';
484
 
485
+ // Get query string & URI
486
+ $query_string = $_SERVER['QUERY_STRING'];
487
+ $old_uri = $_SERVER['REQUEST_URI'];
488
+
489
  // Fix for WP installed in directories (remove the directory name from the URI)
490
  if(!empty($home_dir)) {
491
  $home_dir_regex = preg_quote(trim($home_dir), "/");
492
  $old_uri = preg_replace("/{$home_dir_regex}/", "", $old_uri, 1);
493
  }
494
 
495
+ // Do not use custom redirects on author pages, search & front page
496
+ if(!is_author() && !is_front_page() && !is_home() && !is_feed() && !is_search() && empty($_GET['s'])) {
497
+
498
+ // Unset 404 if custom URI is detected
499
+ if(isset($pm_query['id'])) {
500
+ $wp_query->is_404 = false;
501
+ }
502
 
503
+ // Sometimes $wp_query indicates the wrong object if requested directly
504
+ $queried_object = get_queried_object();
505
+
506
+ /**
507
+ * 1A. External redirect
508
+ */
509
+ if(!empty($pm_query['id']) && !empty($permalink_manager_external_redirects[$pm_query['id']])) {
510
+ $external_url = $permalink_manager_external_redirects[$pm_query['id']];
511
 
512
+ if(filter_var($external_url, FILTER_VALIDATE_URL)) {
513
+ // Allow redirect
514
+ $wp_query->query_vars['do_not_redirect'] = 0;
515
+
516
+ wp_redirect($external_url, 301, PERMALINK_MANAGER_PLUGIN_NAME);
517
+ exit();
518
+ }
519
  }
 
520
 
521
+ /**
522
+ * 1B. Custom redirects
523
+ */
524
+ if(empty($wp_query->query_vars['do_not_redirect']) && !empty($permalink_manager_redirects) && is_array($permalink_manager_redirects) && !empty($wp->request) && !empty($pm_query['uri'])) {
525
+ $uri = $pm_query['uri'];
526
+ $endpoint_value = $pm_query['endpoint_value'];
527
 
528
+ // Make sure that URIs with non-ASCII characters are also detected + Check the URLs that end with number
529
+ $decoded_url = urldecode($uri);
530
+ $endpoint_url = "{$uri}/{$endpoint_value}";
531
 
532
+ // Check if the URI is not assigned to any post/term's redirects
533
+ foreach($permalink_manager_redirects as $element => $redirects) {
534
+ if(!is_array($redirects)) { continue; }
535
 
536
+ if(in_array($uri, $redirects) || in_array($decoded_url, $redirects) || (is_numeric($endpoint_value) && in_array($endpoint_url, $redirects))) {
537
+
538
+ // Post is detected
539
+ if(is_numeric($element)) {
540
+ $correct_permalink = get_permalink($element);
541
+ }
542
+ // Term is detected
543
+ else {
544
+ $term_id = intval(preg_replace("/[^0-9]/", "", $element));
545
+ $correct_permalink = get_term_link($term_id);
546
+ }
547
  }
548
  }
549
+
550
+ $redirect_type = (!empty($correct_permalink)) ? 'custom_redirect' : $redirect_type;
551
  }
552
 
553
+ // Ignore WP-Content links
554
+ if(!empty($_SERVER['REQUEST_URI']) && (strpos($_SERVER['REQUEST_URI'], '/wp-content') !== false)) { return false; }
555
 
556
+ /**
557
+ * 1C. Enhance native redirect
558
+ */
559
+ if(empty($wp_query->query_vars['do_not_redirect']) && $redirect_mode && !empty($queried_object) && empty($correct_permalink)) {
560
 
561
+ // Affect only posts with custom URI and old URIs
562
+ if(!empty($queried_object->ID) && isset($permalink_manager_uris[$queried_object->ID]) && empty($wp_query->query['preview'])) {
563
+ // Ignore posts with specific statuses
564
+ if(!(empty($queried_object->post_status)) && in_array($queried_object->post_status, array('draft', 'pending', 'auto-draft', 'future'))) {
565
+ return '';
566
+ }
567
 
568
+ // Check if post type is allowed
569
+ if(Permalink_Manager_Helper_Functions::is_disabled($queried_object->post_type, 'post_type')) { return ''; }
 
 
 
 
570
 
571
+ // Get the real URL
572
+ $correct_permalink = get_permalink($queried_object->ID);
573
+ }
574
+ // Affect only terms with custom URI and old URIs
575
+ else if(!empty($queried_object->term_id) && isset($permalink_manager_uris["tax-{$queried_object->term_id}"]) && defined('PERMALINK_MANAGER_PRO')) {
576
+ // Check if taxonomy is allowed
577
+ if(Permalink_Manager_Helper_Functions::is_disabled($queried_object->taxonomy, "taxonomy")) { return ''; }
578
 
579
+ // Get the real URL
580
+ $correct_permalink = get_term_link($queried_object->term_id, $queried_object->taxonomy);
581
+ }
 
 
 
 
582
 
583
+ $redirect_type = (!empty($correct_permalink)) ? 'native_redirect' : $redirect_type;
584
+ }
 
585
 
586
+ /**
587
+ * 2. Check trailing slashes (ignore links with query parameters)
588
+ */
589
+ if($trailing_slashes_mode && empty($_SERVER['QUERY_STRING']) && !empty($_SERVER['REQUEST_URI'])) {
590
+ // Check if $old_uri ends with slash or not
591
+ $ends_with_slash = (substr($old_uri, -1) == "/") ? true : false;
592
+ $trailing_slashes_mode = (preg_match("/.*\.([a-zA-Z]{3,4})\/?$/", $old_uri) && $trailing_slashes_mode == 10) ? 20 : $trailing_slashes_mode;
593
+
594
+ // Ignore empty URIs
595
+ if($old_uri != "/") {
596
+ // Remove the trailing slashes (and add them again if needed below)
597
+ $old_uri = trim($old_uri, "/");
598
+ $correct_permalink = (!empty($correct_permalink)) ? trim($correct_permalink, "/") : "";
599
+
600
+ // 2A. Force trailing slashes
601
+ if($trailing_slashes_mode == 10 && $ends_with_slash == false) {
602
+ $correct_permalink = (!empty($correct_permalink)) ? "{$correct_permalink}/" : "{$home_url}/{$old_uri}/";
603
+ }
604
+ // 2B. Remove trailing slashes
605
+ else if($trailing_slashes_mode == 20 && $ends_with_slash == true) {
606
+ $correct_permalink = (!empty($correct_permalink)) ? $correct_permalink : "{$home_url}/{$old_uri}";
607
+ $correct_permalink = trim($correct_permalink, "/");
608
+ }
609
 
610
+ // Use redirect mode set for trailing slash redirect
611
+ if(($trailing_slashes_mode == 20 && $ends_with_slash == true) || ($trailing_slashes_mode == 10 && $ends_with_slash == false)) {
612
+ $redirect_mode = $trailing_slashes_redirect_mode;
613
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
614
  }
615
 
616
+ $redirect_type = (!empty($correct_permalink)) ? 'slash_redirect' : '-';
 
 
 
617
  }
618
 
619
+ /**
620
+ * 3. Check if URL contains duplicated slashes
621
+ */
622
+ if(!empty($old_uri) && ($old_uri != '/') && preg_match('/\/{2,}/', $old_uri)) {
623
+ $new_uri = ltrim(preg_replace('/([^:])([\/]+)/', '$1/', $old_uri), "/");
624
+ $correct_permalink = "{$home_url}/{$new_uri}";
625
+ }
626
 
627
+ /**
628
+ * 4. Prevent redirect loop
629
+ */
630
+ if(!empty($correct_permalink) && is_string($correct_permalink) && !empty($wp->request) && !empty($redirect_type) && $redirect_type !== 'slash_redirect') {
631
+ $current_uri = trim($wp->request, "/");
632
+ $redirect_uri = trim(parse_url($correct_permalink, PHP_URL_PATH), "/");
633
+
634
+ $correct_permalink = ($redirect_uri == $current_uri) ? null : $correct_permalink;
635
+ }
636
+ } else {
637
+ $queried_object = '-';
638
  }
639
 
640
  /**
641
+ * 5. WWW prefix | SSL mismatch redirect
642
  */
643
+ if(!empty($permalink_manager_options['general']['sslwww_redirect'])) {
644
+ $home_url_has_www = (strpos($home_url, 'www.') !== false) ? true : false;
645
+ $requested_url_has_www = (strpos($_SERVER['HTTP_HOST'], 'www.') !== false) ? true : false;
646
+ $home_url_has_ssl = (strpos($home_url, 'https') !== false) ? true : false;
647
+ $requested_url_has_ssl = is_ssl();
648
 
649
+ if(($home_url_has_www !== $requested_url_has_www) || ($home_url_has_ssl !== $requested_url_has_ssl)) {
650
+ $correct_permalink = "{$home_url}/{$old_uri}";
651
+ $redirect_type = 'www_redirect';
652
+ }
653
  }
654
 
655
  /**
656
+ * 6. Debug redirect
657
  */
658
  $correct_permalink = apply_filters('permalink_manager_filter_redirect', $correct_permalink, $redirect_type, $queried_object);
659
 
660
  /**
661
+ * 7. Ignore default URIs (or do nothing if redirects are disabled)
662
  */
663
  if(!empty($correct_permalink) && is_string($correct_permalink) && !empty($redirect_mode)) {
664
  // Allow redirect
667
  // Append query string
668
  $correct_permalink = (!empty($query_string)) ? sprintf("%s?%s", strtok($correct_permalink, "?"), $query_string) : $correct_permalink;
669
 
670
+ // Adjust trailing slashes
671
+ $correct_permalink = self::control_trailing_slashes($correct_permalink);
672
 
673
+ wp_safe_redirect($correct_permalink, $redirect_mode, PERMALINK_MANAGER_PLUGIN_NAME);
674
  exit();
675
  }
676
  }
728
  }
729
  }
730
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
731
  }
includes/core/permalink-manager-debug.php CHANGED
@@ -160,14 +160,14 @@ class Permalink_Manager_Debug_Functions extends Permalink_Manager_Class {
160
  wp_die($debug_txt);
161
  }
162
 
163
- public static function output_csv($array) {
164
  if(count($array) == 0) {
165
  return null;
166
  }
167
 
168
  // Disable caching
169
  $now = gmdate("D, d M Y H:i:s");
170
- header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
171
  header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate");
172
  header("Last-Modified: {$now} GMT");
173
 
@@ -175,9 +175,10 @@ class Permalink_Manager_Debug_Functions extends Permalink_Manager_Class {
175
  header("Content-Type: application/force-download");
176
  header("Content-Type: application/octet-stream");
177
  header("Content-Type: application/download");
 
178
 
179
  // Disposition / encoding on response body
180
- header("Content-Disposition: attachment;filename=debug.csv");
181
  header("Content-Transfer-Encoding: binary");
182
 
183
  ob_start();
@@ -190,7 +191,8 @@ class Permalink_Manager_Debug_Functions extends Permalink_Manager_Class {
190
  }
191
  fclose($df);
192
 
193
- return ob_get_clean();
 
194
  }
195
 
196
  }
160
  wp_die($debug_txt);
161
  }
162
 
163
+ public static function output_csv($array, $filename = 'debug.csv') {
164
  if(count($array) == 0) {
165
  return null;
166
  }
167
 
168
  // Disable caching
169
  $now = gmdate("D, d M Y H:i:s");
170
+ header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
171
  header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate");
172
  header("Last-Modified: {$now} GMT");
173
 
175
  header("Content-Type: application/force-download");
176
  header("Content-Type: application/octet-stream");
177
  header("Content-Type: application/download");
178
+ header('Content-Type: text/csv');
179
 
180
  // Disposition / encoding on response body
181
+ header("Content-Disposition: attachment;filename={$filename}");
182
  header("Content-Transfer-Encoding: binary");
183
 
184
  ob_start();
191
  }
192
  fclose($df);
193
 
194
+ echo ob_get_clean();
195
+ die();
196
  }
197
 
198
  }
includes/core/permalink-manager-helper-functions.php CHANGED
@@ -10,9 +10,13 @@ class Permalink_Manager_Helper_Functions extends Permalink_Manager_Class {
10
  }
11
 
12
  public function init() {
 
 
 
 
13
  // Clear the final default URIs
14
- add_filter( 'permalink_manager_filter_default_term_uri', array('Permalink_Manager_Helper_Functions', 'clear_single_uri'), 20);
15
- add_filter( 'permalink_manager_filter_default_post_uri', array('Permalink_Manager_Helper_Functions', 'clear_single_uri'), 20);
16
  }
17
 
18
  /**
@@ -33,22 +37,40 @@ class Permalink_Manager_Helper_Functions extends Permalink_Manager_Class {
33
  }
34
 
35
  /**
36
- * Get primary term (by Yoast SEO)
37
  */
38
  static function get_primary_term($post_id, $taxonomy, $slug_only = true) {
39
  global $permalink_manager_options;
40
 
41
  $primary_term_enabled = apply_filters('permalink_manager_primary_term', true);
42
 
43
- if($primary_term_enabled && class_exists('WPSEO_Primary_Term')) {
 
 
 
44
  $primary_term = new WPSEO_Primary_Term($taxonomy, $post_id);
45
  $primary_term = get_term($primary_term->get_primary_term());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
- if(!is_wp_error($primary_term)) {
48
- return ($slug_only) ? $primary_term->slug : $primary_term;
49
- }
 
50
  }
51
- return '';
52
  }
53
 
54
  /**
@@ -442,40 +464,65 @@ class Permalink_Manager_Helper_Functions extends Permalink_Manager_Class {
442
 
443
  // $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $clean);
444
  $percent_sign = ($keep_percent_sign) ? "\%" : "";
445
- $clean = preg_replace("/[^\p{Thai}\p{Xwd}\p{Hebrew}a-zA-Z0-9{$percent_sign}\/_\.|+ -]/u", '', $clean);
446
  $clean = ($force_lowercase) ? strtolower(trim($clean, '-')) : trim($clean, '-');
447
 
 
 
 
448
  // Remove special characters
449
  if($sanitize_slugs !== false) {
450
  $clean = preg_replace("/[\s_|+-]+/", "-", $clean);
 
451
  $clean = preg_replace('/([\.]+)(?![a-z]{3,4}$)/i', '', $clean);
452
  $clean = preg_replace('/([-\s+]\/[-\s+])/', '-', $clean);
453
  } else {
454
  $clean = preg_replace("/[\s]+/", "-", $clean);
455
  }
456
 
 
 
 
457
  return $clean;
458
  }
459
 
460
  /**
461
- * Clear the URI
462
  */
463
- public static function clear_single_uri($uri) {
464
- $uri = preg_replace("/[\s_|+-]+/", "-", $uri);
465
- $uri = preg_replace('/([-\s+]\/[-\s+])/', '-', $uri);
466
- $uri = str_replace(array('-/', '/-', '//'), '/', $uri);
467
- $uri = trim($uri, "/");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
468
 
469
- return $uri;
 
 
 
 
470
  }
471
 
472
  /**
473
  * Remove all slashes
474
  */
475
  public static function remove_slashes($uri) {
476
- $uri = preg_replace("/[\/]+/", "", $uri);
477
-
478
- return $uri;
479
  }
480
 
481
  /**
@@ -488,10 +535,6 @@ class Permalink_Manager_Helper_Functions extends Permalink_Manager_Class {
488
  $force_custom_slugs = apply_filters('permalink_manager_force_custom_slugs', $force_custom_slugs, $slug, $object);
489
 
490
  if($force_custom_slugs) {
491
- // Decode URI-encoded characters
492
- //$slug = urldecode($slug);
493
- //$title = urldecode($title);
494
-
495
  $title = (!empty($object->name)) ? $object->name : $object->post_title;
496
  $title = self::remove_slashes($title);
497
 
@@ -569,10 +612,10 @@ class Permalink_Manager_Helper_Functions extends Permalink_Manager_Class {
569
 
570
  // Keep the URIs in a separate array just here & unset the URI for requested element to prevent false alert
571
  $all_uris = $permalink_manager_uris;
572
- unset($permalink_manager_uris[$element_id]);
573
 
574
- if(in_array($uri, $permalink_manager_uris)) {
575
- $all_duplicates = (array) array_keys($permalink_manager_uris, $uri);
576
  $this_uri_lang = Permalink_Manager_Third_Parties::get_language_code($element_id);
577
 
578
  if($this_uri_lang) {
10
  }
11
 
12
  public function init() {
13
+ // Replace empty placeholder tags & remove BOM
14
+ add_filter( 'permalink_manager_filter_default_post_uri', array($this, 'replace_empty_placeholder_tags'), 10, 5);
15
+ add_filter( 'permalink_manager_filter_default_term_uri', array($this, 'replace_empty_placeholder_tags'), 10, 5);
16
+
17
  // Clear the final default URIs
18
+ add_filter( 'permalink_manager_filter_default_term_uri', array($this, 'clear_single_uri'), 20);
19
+ add_filter( 'permalink_manager_filter_default_post_uri', array($this, 'clear_single_uri'), 20);
20
  }
21
 
22
  /**
37
  }
38
 
39
  /**
40
+ * Get primary term
41
  */
42
  static function get_primary_term($post_id, $taxonomy, $slug_only = true) {
43
  global $permalink_manager_options;
44
 
45
  $primary_term_enabled = apply_filters('permalink_manager_primary_term', true);
46
 
47
+ if(!$primary_term_enabled) { return; }
48
+
49
+ // A. Yoast SEO
50
+ if(class_exists('WPSEO_Primary_Term')) {
51
  $primary_term = new WPSEO_Primary_Term($taxonomy, $post_id);
52
  $primary_term = get_term($primary_term->get_primary_term());
53
+ }
54
+ // B. The SEO Framework
55
+ else if(function_exists('the_seo_framework')) {
56
+ $primary_term = the_seo_framework()->get_primary_term($post_id, $taxonomy);
57
+ }
58
+ // C. RankMath
59
+ else if(class_exists('RankMath') && $taxonomy == 'category') {
60
+ $primary_cat_id = get_post_meta($post_id, 'rank_math_primary_category', true);
61
+ $primary_term = (!empty($primary_cat_id)) ? get_term($primary_cat_id, 'category') : '';
62
+ }
63
+ // D. SEOPress
64
+ else if(function_exists('seopress_init') && $taxonomy == 'category') {
65
+ $primary_cat_id = get_post_meta($post_id, '_seopress_robots_primary_cat', true);
66
+ $primary_term = (!empty($primary_cat_id)) ? get_term($primary_cat_id, 'category') : '';
67
+ }
68
 
69
+ if(!empty($primary_term) && !is_wp_error($primary_term)) {
70
+ return ($slug_only) ? $primary_term->slug : $primary_term;
71
+ } else {
72
+ return;
73
  }
 
74
  }
75
 
76
  /**
464
 
465
  // $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $clean);
466
  $percent_sign = ($keep_percent_sign) ? "\%" : "";
467
+ $clean = preg_replace("/[^\p{L}\p{Thai}\p{Xwd}\p{Hebrew}\p{Arabic}\p{Cyrillic}\p{Greek}a-zA-Z0-9{$percent_sign}\/_\.|+, -]/u", '', $clean);
468
  $clean = ($force_lowercase) ? strtolower(trim($clean, '-')) : trim($clean, '-');
469
 
470
+ // Remove amperand
471
+ $clean = str_replace(array('%26', '&'), '', $clean);
472
+
473
  // Remove special characters
474
  if($sanitize_slugs !== false) {
475
  $clean = preg_replace("/[\s_|+-]+/", "-", $clean);
476
+ $clean = preg_replace("/[,]+/", "", $clean);
477
  $clean = preg_replace('/([\.]+)(?![a-z]{3,4}$)/i', '', $clean);
478
  $clean = preg_replace('/([-\s+]\/[-\s+])/', '-', $clean);
479
  } else {
480
  $clean = preg_replace("/[\s]+/", "-", $clean);
481
  }
482
 
483
+ // Remove trailing slashes
484
+ $clean = str_replace(array('-/', '/-', '//'), '/', $clean);
485
+
486
  return $clean;
487
  }
488
 
489
  /**
490
+ * Replace empty placeholder tags & remove BOM
491
  */
492
+ public static function replace_empty_placeholder_tags($default_uri, $native_slug = "", $element = "", $slug = "", $native_uri = "") {
493
+ // Do not affect native URIs
494
+ if($native_uri == true) { return $default_uri; }
495
+
496
+ // Remove the BOM
497
+ $default_uri = str_replace(array("\xEF\xBB\xBF", "%ef%bb%bf"), '', $default_uri);
498
+
499
+ // Encode the URI before placeholders are removed
500
+ $chunks = explode('/', $default_uri);
501
+ foreach ($chunks as &$chunk) {
502
+ if(preg_match("/^(%.+?%)$/", $chunk) == false) {
503
+ $chunk = rawurldecode($chunk);
504
+ }
505
+ }
506
+ $default_uri = implode("/", $chunks);
507
+
508
+ $empty_tag_replacement = apply_filters('permalink_manager_empty_tag_replacement', null, $element);
509
+ $default_uri = ($empty_tag_replacement || is_null($empty_tag_replacement)) ? str_replace("//", "/", preg_replace("/%(.+?)%/", $empty_tag_replacement, $default_uri)) : $default_uri;
510
+
511
+ return trim($default_uri, "/");
512
+ }
513
 
514
+ /**
515
+ * Clear/Sanitize the URI
516
+ */
517
+ public static function clear_single_uri($uri) {
518
+ return self::sanitize_title($uri, true);
519
  }
520
 
521
  /**
522
  * Remove all slashes
523
  */
524
  public static function remove_slashes($uri) {
525
+ return preg_replace("/[\/]+/", "", $uri);
 
 
526
  }
527
 
528
  /**
535
  $force_custom_slugs = apply_filters('permalink_manager_force_custom_slugs', $force_custom_slugs, $slug, $object);
536
 
537
  if($force_custom_slugs) {
 
 
 
 
538
  $title = (!empty($object->name)) ? $object->name : $object->post_title;
539
  $title = self::remove_slashes($title);
540
 
612
 
613
  // Keep the URIs in a separate array just here & unset the URI for requested element to prevent false alert
614
  $all_uris = $permalink_manager_uris;
615
+ unset($all_uris[$element_id]);
616
 
617
+ if(in_array($uri, $all_uris)) {
618
+ $all_duplicates = (array) array_keys($all_uris, $uri);
619
  $this_uri_lang = Permalink_Manager_Third_Parties::get_language_code($element_id);
620
 
621
  if($this_uri_lang) {
includes/core/permalink-manager-third-parties.php CHANGED
@@ -90,7 +90,7 @@ class Permalink_Manager_Third_Parties extends Permalink_Manager_Class {
90
  add_filter('request', array($this, 'woocommerce_detect'), 20, 1);
91
  add_filter('template_redirect', array($this, 'woocommerce_checkout_fix'), 9);
92
 
93
- if(class_exists('WooCommerce') && class_exists('Permalink_Manager_Pro_Functions')) {
94
  if(is_admin()){
95
  add_filter('woocommerce_coupon_data_tabs', 'Permalink_Manager_Pro_Functions::woocommerce_coupon_tabs');
96
  add_action('woocommerce_coupon_data_panels', 'Permalink_Manager_Pro_Functions::woocommerce_coupon_panel');
@@ -108,9 +108,11 @@ class Permalink_Manager_Third_Parties extends Permalink_Manager_Class {
108
  add_filter('permalink_manager_filter_final_post_permalink', array($this, 'tml_keep_query_parameters'), 9, 3);
109
  }
110
 
111
- // 6. Yoast SEO
112
  add_filter('wpseo_xml_sitemap_post_url', array($this, 'yoast_fix_sitemap_urls'), 9);
113
- add_filter('wpseo_breadcrumb_links', array($this, 'yoast_fix_breadcrumbs'), 9);
 
 
114
 
115
  // 7. WooCommerce Wishlist Plugin
116
  if(function_exists('tinv_get_option')) {
@@ -147,6 +149,10 @@ class Permalink_Manager_Third_Parties extends Permalink_Manager_Class {
147
  add_action('added_post_meta', array($this, 'wpsl_regenerate_after_import'), 10, 4);
148
  add_action('updated_post_meta', array($this, 'wpsl_regenerate_after_import'), 10, 4);
149
  }
 
 
 
 
150
  }
151
 
152
  /**
@@ -174,6 +180,10 @@ class Permalink_Manager_Third_Parties extends Permalink_Manager_Class {
174
  else if(!empty($query_vars['WP_Route'])) {
175
  $wp_query->query_vars['do_not_redirect'] = 1;
176
  }
 
 
 
 
177
  }
178
  }
179
 
@@ -185,7 +195,8 @@ class Permalink_Manager_Third_Parties extends Permalink_Manager_Class {
185
 
186
  // Fallback
187
  if(is_string($element) && strpos($element, 'tax-') !== false) {
188
- $element = get_term($element);
 
189
  } else if(is_numeric($element)) {
190
  $element = get_post($element);
191
  }
@@ -284,6 +295,7 @@ class Permalink_Manager_Third_Parties extends Permalink_Manager_Class {
284
  $element = get_term($item_id);
285
  if(!empty($element) && !is_wp_error($element)) {
286
  $element_id = $element->term_taxonomy_id;
 
287
  } else {
288
  return false;
289
  }
@@ -291,8 +303,8 @@ class Permalink_Manager_Third_Parties extends Permalink_Manager_Class {
291
  $element = get_post($item_id);
292
 
293
  if(!empty($element->post_type)) {
294
- $element_type = $element->post_type;
295
  $element_id = $item_id;
 
296
  }
297
  }
298
 
@@ -302,7 +314,7 @@ class Permalink_Manager_Third_Parties extends Permalink_Manager_Class {
302
  $language_code = self::get_language_code($element);
303
 
304
  if(!empty($uri_parts['lang']) && ($uri_parts['lang'] != $language_code)) {
305
- $wpml_item_id = apply_filters('wpml_object_id', $element_id);
306
  $item_id = (is_numeric($wpml_item_id)) ? $wpml_item_id : $item_id;
307
  }
308
 
@@ -655,11 +667,13 @@ class Permalink_Manager_Third_Parties extends Permalink_Manager_Class {
655
 
656
  if(!empty($object)) {
657
  $product_id = $object->get_id();
658
- $product_uri = Permalink_Manager_URI_Functions_Post::get_default_post_uri($product_id, false, true);
659
 
660
- $permalink_manager_uris[$product_id] = $product_uri;
 
 
661
 
662
- update_option('permalink-manager-uris', $permalink_manager_uris);
 
663
  }
664
  }
665
 
@@ -681,108 +695,115 @@ class Permalink_Manager_Third_Parties extends Permalink_Manager_Class {
681
  $home_url = WPSEO_Utils::home_url();
682
  $home_protocol = parse_url($home_url, PHP_URL_SCHEME);
683
 
684
- $permalink = preg_replace("/http(s)?/", $home_protocol, $permalink);
685
  }
686
 
687
  return $permalink;
688
  }
689
 
690
- function yoast_fix_breadcrumbs($links) {
691
  // Get post type permastructure settings
692
- global $permalink_manager_permastructs, $permalink_manager_uris, $permalink_manager_options, $post, $wpdb, $wp;
693
 
694
- // Check if filter should be activated
695
  if(empty($permalink_manager_options['general']['yoast_breadcrumbs']) || empty($permalink_manager_uris)) { return $links; }
696
 
697
- // Get post type
698
- $post_type = (!empty($post->post_type)) ? $post->post_type : '';
699
-
700
- if(!empty($post_type) && !empty($permalink_manager_permastructs) && !empty($permalink_manager_permastructs['post_types'][$post_type])) {
701
- $queried_element = get_queried_object();
702
- if(!empty($queried_element->ID)) {
703
- $element_id = $queried_element->ID;
704
- } else if(!empty($queried_element->term_id)) {
705
- $element_id = "tax-{$queried_element->term_id}";
706
- } /*else {
707
- return $links;
708
- }*/
709
-
710
- if(!empty($element_id) && !empty($permalink_manager_uris[$element_id])) {
711
- $custom_uri = preg_replace("/([^\/]+)$/", '', $permalink_manager_uris[$element_id]);
712
- } else {
713
- $custom_uri = trim(preg_replace("/([^\/]+)$/", '', $wp->request), "/");
714
- //return $links;
715
- }
716
 
717
- $all_uris = array_flip($permalink_manager_uris);
718
- $custom_uri_parts = explode('/', trim($custom_uri));
719
- $breadcrumbs = array();
720
- $snowball = '';
 
 
721
 
722
- // Get Yoast meta
723
- $yoast_meta_terms = get_option('wpseo_taxonomy_meta');
 
 
 
 
724
 
725
- // Get internal breadcrumb elements
726
- foreach($custom_uri_parts as $slug) {
727
- if(empty($slug)) { continue; }
728
 
729
- $available_taxonomies = Permalink_Manager_Helper_Functions::get_taxonomies_array();
730
- $available_post_types = Permalink_Manager_Helper_Functions::get_post_types_array();
 
731
 
732
- $snowball = (empty($snowball)) ? $slug : "{$snowball}/{$slug}";
733
 
734
- // A. Try to match any custom URI
735
- if($snowball) {
736
- $uri = trim($snowball, "/");
737
- $element = (!empty($all_uris[$uri])) ? $all_uris[$uri] : false;
738
 
739
- if(!empty($element) && strpos($element, 'tax-') !== false) {
740
- $element = get_term($element);
741
- } else if(is_numeric($element)) {
742
- $element = get_post($element);
743
- }
744
  }
 
745
 
746
- // B. Try to get term
747
- if(empty($element) && !empty($available_taxonomies)) {
748
- $sql = sprintf("SELECT t.term_id, t.name, tt.taxonomy FROM {$wpdb->terms} AS t LEFT JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id WHERE slug = '%s' AND tt.taxonomy IN ('%s') LIMIT 1", $slug, implode("','", array_keys($available_taxonomies)));
749
 
750
- $element = $wpdb->get_row($sql);
751
- }
752
 
753
- // C. Try to get page/post
754
- if(empty($element) && !empty($available_post_types)) {
755
- $sql = sprintf("SELECT ID, post_title FROM {$wpdb->posts} WHERE post_name = '%s' AND post_status = 'publish' AND post_type IN ('%s') AND post_type != 'attachment' LIMIT 1", $slug, implode("','", array_keys($available_post_types)));
756
 
757
- $element = $wpdb->get_row($sql);
758
- }
759
 
760
- if(!empty($element->term_id)) {
761
- $title = (!empty($yoast_meta_terms[$element->taxonomy][$element->term_id]['wpseo_bctitle'])) ? $yoast_meta_terms[$element->taxonomy][$element->term_id]['wpseo_bctitle'] : $element->name;
762
-
763
- $breadcrumbs[] = array(
764
- 'text' => $title,
765
- 'url' => get_term_link((int) $element->term_id, $element->taxonomy),
766
- );
767
- } else if(!empty($element->ID)) {
768
- $title = get_post_meta($element->ID, '_yoast_wpseo_bctitle', true);
769
- $title = (!empty($title)) ? $title : $element->post_title;
770
-
771
- $breadcrumbs[] = array(
772
- 'text' => $title,
773
- 'url' => get_permalink($element->ID),
774
- );
775
- }
776
  }
 
 
 
 
777
 
778
- // Get new links
779
- if(!empty($links) && is_array($links)) {
780
- $first_element = reset($links);
781
- $last_element = end($links);
782
- $breadcrumbs = (!empty($breadcrumbs)) ? $breadcrumbs : array();
 
 
 
 
 
 
 
783
 
784
- $links = array_merge(array($first_element), $breadcrumbs, array($last_element));
 
 
 
 
 
 
 
785
  }
 
 
786
  }
787
 
788
  return array_filter($links);
90
  add_filter('request', array($this, 'woocommerce_detect'), 20, 1);
91
  add_filter('template_redirect', array($this, 'woocommerce_checkout_fix'), 9);
92
 
93
+ if(class_exists('Permalink_Manager_Pro_Functions')) {
94
  if(is_admin()){
95
  add_filter('woocommerce_coupon_data_tabs', 'Permalink_Manager_Pro_Functions::woocommerce_coupon_tabs');
96
  add_action('woocommerce_coupon_data_panels', 'Permalink_Manager_Pro_Functions::woocommerce_coupon_panel');
108
  add_filter('permalink_manager_filter_final_post_permalink', array($this, 'tml_keep_query_parameters'), 9, 3);
109
  }
110
 
111
+ // 6. Yoast SEO + RankMath + SEOPress
112
  add_filter('wpseo_xml_sitemap_post_url', array($this, 'yoast_fix_sitemap_urls'), 9);
113
+ add_filter('wpseo_breadcrumb_links', array($this, 'filter_breadcrumbs'), 9);
114
+ add_filter('rank_math/frontend/breadcrumb/items', array($this, 'filter_breadcrumbs'), 9);
115
+ add_filter('seopress_pro_breadcrumbs_crumbs', array($this, 'filter_breadcrumbs'), 9);
116
 
117
  // 7. WooCommerce Wishlist Plugin
118
  if(function_exists('tinv_get_option')) {
149
  add_action('added_post_meta', array($this, 'wpsl_regenerate_after_import'), 10, 4);
150
  add_action('updated_post_meta', array($this, 'wpsl_regenerate_after_import'), 10, 4);
151
  }
152
+ // 2. Woocommerce
153
+ if(class_exists('WooCommerce')) {
154
+ add_filter('woocommerce_get_endpoint_url', array('Permalink_Manager_Core_Functions', 'control_trailing_slashes'), 9);
155
+ }
156
  }
157
 
158
  /**
180
  else if(!empty($query_vars['WP_Route'])) {
181
  $wp_query->query_vars['do_not_redirect'] = 1;
182
  }
183
+ // WooCommerce Wishlist
184
+ else if(!empty($query_vars['wishlist-action'])) {
185
+ $wp_query->query_vars['do_not_redirect'] = 1;
186
+ }
187
  }
188
  }
189
 
195
 
196
  // Fallback
197
  if(is_string($element) && strpos($element, 'tax-') !== false) {
198
+ $element_id = intval(preg_replace("/[^0-9]/", "", $element));
199
+ $element = get_term($element_id);
200
  } else if(is_numeric($element)) {
201
  $element = get_post($element);
202
  }
295
  $element = get_term($item_id);
296
  if(!empty($element) && !is_wp_error($element)) {
297
  $element_id = $element->term_taxonomy_id;
298
+ $element_type = $element->taxonomy;
299
  } else {
300
  return false;
301
  }
303
  $element = get_post($item_id);
304
 
305
  if(!empty($element->post_type)) {
 
306
  $element_id = $item_id;
307
+ $element_type = $element->post_type;
308
  }
309
  }
310
 
314
  $language_code = self::get_language_code($element);
315
 
316
  if(!empty($uri_parts['lang']) && ($uri_parts['lang'] != $language_code)) {
317
+ $wpml_item_id = apply_filters('wpml_object_id', $element_id, $element_type);
318
  $item_id = (is_numeric($wpml_item_id)) ? $wpml_item_id : $item_id;
319
  }
320
 
667
 
668
  if(!empty($object)) {
669
  $product_id = $object->get_id();
 
670
 
671
+ // Ignore variations
672
+ if(empty($permalink_manager_uris[$product_id]) && $object->get_type() !== 'variation') {
673
+ $permalink_manager_uris[$product_id] = Permalink_Manager_URI_Functions_Post::get_default_post_uri($product_id, false, true);
674
 
675
+ update_option('permalink-manager-uris', $permalink_manager_uris);
676
+ }
677
  }
678
  }
679
 
695
  $home_url = WPSEO_Utils::home_url();
696
  $home_protocol = parse_url($home_url, PHP_URL_SCHEME);
697
 
698
+ $permalink = preg_replace("/^http(s)?/", $home_protocol, $permalink);
699
  }
700
 
701
  return $permalink;
702
  }
703
 
704
+ function filter_breadcrumbs($links) {
705
  // Get post type permastructure settings
706
+ global $permalink_manager_uris, $permalink_manager_options, $post, $wpdb, $wp;
707
 
708
+ // Check if the filter should be activated
709
  if(empty($permalink_manager_options['general']['yoast_breadcrumbs']) || empty($permalink_manager_uris)) { return $links; }
710
 
711
+ // Get current post/page/term (if available)
712
+ $queried_element = get_queried_object();
713
+ if(!empty($queried_element->ID)) {
714
+ $element_id = $queried_element->ID;
715
+ } else if(!empty($queried_element->term_id)) {
716
+ $element_id = "tax-{$queried_element->term_id}";
717
+ }
 
 
 
 
 
 
 
 
 
 
 
 
718
 
719
+ // Get the custom permalink (if available) or the current request URL (if unavailable)
720
+ if(!empty($element_id) && !empty($permalink_manager_uris[$element_id])) {
721
+ $custom_uri = preg_replace("/([^\/]+)$/", '', $permalink_manager_uris[$element_id]);
722
+ } else {
723
+ $custom_uri = trim(preg_replace("/([^\/]+)$/", '', $wp->request), "/");
724
+ }
725
 
726
+ $all_uris = array_flip($permalink_manager_uris);
727
+ $custom_uri_parts = explode('/', trim($custom_uri));
728
+ $breadcrumbs = array();
729
+ $snowball = '';
730
+ $available_taxonomies = Permalink_Manager_Helper_Functions::get_taxonomies_array();
731
+ $available_post_types = Permalink_Manager_Helper_Functions::get_post_types_array();
732
 
733
+ // Get Yoast Meta (the breadcrumbs titles can be changed in Yoast metabox)
734
+ $yoast_meta_terms = get_option('wpseo_taxonomy_meta');
 
735
 
736
+ // Get internal breadcrumb elements
737
+ foreach($custom_uri_parts as $slug) {
738
+ if(empty($slug)) { continue; }
739
 
740
+ $snowball = (empty($snowball)) ? $slug : "{$snowball}/{$slug}";
741
 
742
+ // 1A. Try to match any custom URI
743
+ if($snowball) {
744
+ $uri = trim($snowball, "/");
745
+ $element = (!empty($all_uris[$uri])) ? $all_uris[$uri] : false;
746
 
747
+ if(!empty($element) && strpos($element, 'tax-') !== false) {
748
+ $element_id = intval(preg_replace("/[^0-9]/", "", $element));
749
+ $element = get_term($element_id);
750
+ } else if(is_numeric($element)) {
751
+ $element = get_post($element);
752
  }
753
+ }
754
 
755
+ // 1B. Try to get term
756
+ if(empty($element) && !empty($available_taxonomies)) {
757
+ $sql = sprintf("SELECT t.term_id, t.name, tt.taxonomy FROM {$wpdb->terms} AS t LEFT JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id WHERE slug = '%s' AND tt.taxonomy IN ('%s') LIMIT 1", $slug, implode("','", array_keys($available_taxonomies)));
758
 
759
+ $element = $wpdb->get_row($sql);
760
+ }
761
 
762
+ // 1C. Try to get page/post
763
+ if(empty($element) && !empty($available_post_types)) {
764
+ $sql = sprintf("SELECT ID, post_title FROM {$wpdb->posts} WHERE post_name = '%s' AND post_status = 'publish' AND post_type IN ('%s') AND post_type != 'attachment' LIMIT 1", $slug, implode("','", array_keys($available_post_types)));
765
 
766
+ $element = $wpdb->get_row($sql);
767
+ }
768
 
769
+ // 2A. When the term is found, we can add it to the breadcrumbs
770
+ if(!empty($element->term_id)) {
771
+ $title = (!empty($yoast_meta_terms[$element->taxonomy][$element->term_id]['wpseo_bctitle'])) ? $yoast_meta_terms[$element->taxonomy][$element->term_id]['wpseo_bctitle'] : $element->name;
772
+
773
+ $breadcrumbs[] = array(
774
+ 'text' => $title,
775
+ 'url' => get_term_link((int) $element->term_id, $element->taxonomy),
776
+ );
 
 
 
 
 
 
 
 
777
  }
778
+ // 2B. When the post/page is found, we can add it to the breadcrumbs
779
+ else if(!empty($element->ID)) {
780
+ $title = get_post_meta($element->ID, '_yoast_wpseo_bctitle', true);
781
+ $title = (!empty($title)) ? $title : $element->post_title;
782
 
783
+ $breadcrumbs[] = array(
784
+ 'text' => $title,
785
+ 'url' => get_permalink($element->ID),
786
+ );
787
+ }
788
+ }
789
+
790
+ // Add new links to current breadcrumbs array
791
+ if(!empty($links) && is_array($links)) {
792
+ $first_element = reset($links);
793
+ $last_element = end($links);
794
+ $breadcrumbs = (!empty($breadcrumbs)) ? $breadcrumbs : array();
795
 
796
+ // Support RankMath/SEOPress breadcrumbs
797
+ if(class_exists('RankMath') || function_exists('seopress_init')) {
798
+ foreach($breadcrumbs as &$breadcrumb) {
799
+ if(isset($breadcrumb['text'])) {
800
+ $breadcrumb[0] = $breadcrumb['text'];
801
+ $breadcrumb[1] = $breadcrumb['url'];
802
+ }
803
+ }
804
  }
805
+
806
+ $links = array_merge(array($first_element), $breadcrumbs, array($last_element));
807
  }
808
 
809
  return array_filter($links);
includes/core/permalink-manager-uri-functions-post.php CHANGED
@@ -23,9 +23,11 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
23
  * URI Editor
24
  */
25
  add_filter( 'get_sample_permalink_html', array($this, 'edit_uri_box'), 99, 5 );
 
26
  add_action( 'save_post', array($this, 'update_post_uri'), 99, 1);
27
  add_action( 'edit_attachment', array($this, 'update_post_uri'), 99, 1 );
28
  add_action( 'wp_insert_post', array($this, 'new_post_uri'), 99, 1 );
 
29
  add_action( 'wp_trash_post', array($this, 'remove_post_uri'), 100, 1 );
30
 
31
  add_action( 'quick_edit_custom_box', array($this, 'quick_edit_column_form'), 99, 3);
@@ -53,8 +55,8 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
53
  // Do not filter permalinks in Customizer
54
  if((function_exists('is_customize_preview') && is_customize_preview())) { return $permalink; }
55
 
56
- // Do not filter in Elementor
57
- if(!empty($_GET['action']) && $_GET['action'] == 'elementor') { return $permalink; }
58
 
59
  $post = (is_integer($post)) ? get_post($post) : $post;
60
 
@@ -80,19 +82,19 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
80
  if(isset($permalink_manager_uris[$post->ID])) {
81
  // Encode URI?
82
  if(!empty($permalink_manager_options['general']['decode_uris'])) {
83
- $permalink = "{$home_url}/" . urldecode("/{$permalink_manager_uris[$post->ID]}");
84
  } else {
85
  $permalink = "{$home_url}/" . Permalink_Manager_Helper_Functions::encode_uri("{$permalink_manager_uris[$post->ID]}");
86
  }
87
  } else if($post->post_type == 'attachment' && $post->post_parent > 0 && $post->post_parent != $post->ID && !empty($permalink_manager_uris[$post->post_parent])) {
88
  $permalink = "{$home_url}/{$permalink_manager_uris[$post->post_parent]}/attachment/{$post->post_name}";
89
  } else if(!empty($permalink_manager_options['general']['decode_uris'])) {
90
- $permalink = "{$home_url}/" . urldecode("/{$permalink}");
91
  }
92
 
93
  // 5. Allow to filter (do not filter in Customizer)
94
  if(!(function_exists('is_customize_preview') && is_customize_preview())) {
95
- return apply_filters('permalink_manager_filter_final_post_permalink', user_trailingslashit($permalink), $post, $old_permalink);
96
  } else {
97
  return $old_permalink;
98
  }
@@ -329,6 +331,9 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
329
  * Support url_to_postid
330
  */
331
  public function url_to_postid($url) {
 
 
 
332
  $post = Permalink_Manager_Core_Functions::detect_post(null, $url, true);
333
 
334
  if(!empty($post->ID)) {
@@ -379,11 +384,17 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
379
  $where .= ")";
380
  }
381
 
 
 
 
 
 
 
382
  // Support for attachments
383
  $attachment_support = (in_array('attachment', $post_types_array)) ? " OR (post_type = 'attachment')" : "";
384
 
385
  // Get the rows before they are altered
386
- return $wpdb->get_results("SELECT post_title, post_name, ID FROM {$wpdb->posts} WHERE ((post_status IN ('{$post_statuses}') AND post_type IN ('{$post_types}')){$attachment_support}) {$where}", ARRAY_A);
387
  }
388
 
389
  /**
@@ -467,9 +478,6 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
467
  // Now if the array is not empty use IDs from each subarray as a key
468
  if($posts_to_update && empty($errors)) {
469
  foreach ($posts_to_update as $row) {
470
- // Prevent server timeout
471
- set_time_limit(0);
472
-
473
  // Get default & native URL
474
  $native_uri = self::get_default_post_uri($row['ID'], true);
475
  $default_uri = self::get_default_post_uri($row['ID']);
@@ -535,9 +543,6 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
535
 
536
  if (!empty($new_uris)) {
537
  foreach($new_uris as $id => $new_uri) {
538
- // Prevent server timeout
539
- set_time_limit(0);
540
-
541
  // Prepare variables
542
  $this_post = get_post($id);
543
  $updated = '';
@@ -613,7 +618,7 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
613
  }
614
 
615
  // Decode URI & allow to filter it
616
- $sample_permalink_uri = apply_filters('permalink_manager_filter_post_sample_uri', urldecode($sample_permalink_uri), $post);
617
 
618
  // Prepare the sample & default permalink
619
  $sample_permalink = sprintf("%s/<span class=\"editable\">%s</span>", $home_url, str_replace("//", "/", $sample_permalink_uri));
@@ -655,7 +660,7 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
655
  $auto_update_val = get_post_meta($post_id, "auto_update_uri", true);
656
  $auto_update_uri = (!empty($auto_update_val)) ? $auto_update_val : $permalink_manager_options["general"]["auto_update_uris"];
657
 
658
- $uri = (!empty($permalink_manager_uris[$post_id])) ? urldecode($permalink_manager_uris[$post_id]) : self::get_post_uri($post_id, true);
659
  printf('<span class="permalink-manager-col-uri" data-auto_update="%s">%s</span>', intval($auto_update_uri), $uri);
660
  }
661
  }
@@ -768,9 +773,6 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
768
  // Use default URI if URI is cleared by user OR URI should be automatically updated
769
  $new_uri = (($_POST['custom_uri'] == '') || $auto_update_uri == 1) ? $default_uri : Permalink_Manager_Helper_Functions::sanitize_title($_POST['custom_uri'], true);
770
 
771
- // Remove the empty placeholder tags
772
- $new_uri = Permalink_Manager_Core_Functions::replace_empty_placeholder_tags($new_uri);
773
-
774
  // Save or remove "Auto-update URI" settings
775
  if(!empty($auto_update_uri_current)) {
776
  update_post_meta($post_id, "auto_update_uri", $auto_update_uri_current);
23
  * URI Editor
24
  */
25
  add_filter( 'get_sample_permalink_html', array($this, 'edit_uri_box'), 99, 5 );
26
+
27
  add_action( 'save_post', array($this, 'update_post_uri'), 99, 1);
28
  add_action( 'edit_attachment', array($this, 'update_post_uri'), 99, 1 );
29
  add_action( 'wp_insert_post', array($this, 'new_post_uri'), 99, 1 );
30
+ add_action( 'add_attachment', array($this, 'new_post_uri'), 99, 1 );
31
  add_action( 'wp_trash_post', array($this, 'remove_post_uri'), 100, 1 );
32
 
33
  add_action( 'quick_edit_custom_box', array($this, 'quick_edit_column_form'), 99, 3);
55
  // Do not filter permalinks in Customizer
56
  if((function_exists('is_customize_preview') && is_customize_preview())) { return $permalink; }
57
 
58
+ // Do not filter in WPML String Editor
59
+ if(!empty($_REQUEST['icl_ajx_action']) && $_REQUEST['icl_ajx_action'] == 'icl_st_save_translation') { return $permalink; }
60
 
61
  $post = (is_integer($post)) ? get_post($post) : $post;
62
 
82
  if(isset($permalink_manager_uris[$post->ID])) {
83
  // Encode URI?
84
  if(!empty($permalink_manager_options['general']['decode_uris'])) {
85
+ $permalink = "{$home_url}/" . rawurldecode("/{$permalink_manager_uris[$post->ID]}");
86
  } else {
87
  $permalink = "{$home_url}/" . Permalink_Manager_Helper_Functions::encode_uri("{$permalink_manager_uris[$post->ID]}");
88
  }
89
  } else if($post->post_type == 'attachment' && $post->post_parent > 0 && $post->post_parent != $post->ID && !empty($permalink_manager_uris[$post->post_parent])) {
90
  $permalink = "{$home_url}/{$permalink_manager_uris[$post->post_parent]}/attachment/{$post->post_name}";
91
  } else if(!empty($permalink_manager_options['general']['decode_uris'])) {
92
+ $permalink = "{$home_url}/" . rawurldecode("/{$permalink}");
93
  }
94
 
95
  // 5. Allow to filter (do not filter in Customizer)
96
  if(!(function_exists('is_customize_preview') && is_customize_preview())) {
97
+ return apply_filters('permalink_manager_filter_final_post_permalink', $permalink, $post, $old_permalink);
98
  } else {
99
  return $old_permalink;
100
  }
331
  * Support url_to_postid
332
  */
333
  public function url_to_postid($url) {
334
+ // Filter only defined URLs
335
+ if(empty($url)) { return $url; }
336
+
337
  $post = Permalink_Manager_Core_Functions::detect_post(null, $url, true);
338
 
339
  if(!empty($post->ID)) {
384
  $where .= ")";
385
  }
386
 
387
+ // Get excluded items
388
+ $exclude_posts = $wpdb->get_col("SELECT post_ID FROM {$wpdb->postmeta} AS pm LEFT JOIN {$wpdb->posts} AS p ON (pm.post_ID = p.ID) WHERE pm.meta_key = 'auto_update_uri' AND pm.meta_value = '-2' AND post_type IN ('{$post_types}')");
389
+ if(!empty($exclude_posts)) {
390
+ $where .= sprintf(" AND ID NOT IN ('%s') ", implode("', '", $exclude_posts));
391
+ }
392
+
393
  // Support for attachments
394
  $attachment_support = (in_array('attachment', $post_types_array)) ? " OR (post_type = 'attachment')" : "";
395
 
396
  // Get the rows before they are altered
397
+ return $wpdb->get_results("SELECT post_type, post_title, post_name, ID FROM {$wpdb->posts} WHERE ((post_status IN ('{$post_statuses}') AND post_type IN ('{$post_types}')){$attachment_support}) {$where}", ARRAY_A);
398
  }
399
 
400
  /**
478
  // Now if the array is not empty use IDs from each subarray as a key
479
  if($posts_to_update && empty($errors)) {
480
  foreach ($posts_to_update as $row) {
 
 
 
481
  // Get default & native URL
482
  $native_uri = self::get_default_post_uri($row['ID'], true);
483
  $default_uri = self::get_default_post_uri($row['ID']);
543
 
544
  if (!empty($new_uris)) {
545
  foreach($new_uris as $id => $new_uri) {
 
 
 
546
  // Prepare variables
547
  $this_post = get_post($id);
548
  $updated = '';
618
  }
619
 
620
  // Decode URI & allow to filter it
621
+ $sample_permalink_uri = apply_filters('permalink_manager_filter_post_sample_uri', rawurldecode($sample_permalink_uri), $post);
622
 
623
  // Prepare the sample & default permalink
624
  $sample_permalink = sprintf("%s/<span class=\"editable\">%s</span>", $home_url, str_replace("//", "/", $sample_permalink_uri));
660
  $auto_update_val = get_post_meta($post_id, "auto_update_uri", true);
661
  $auto_update_uri = (!empty($auto_update_val)) ? $auto_update_val : $permalink_manager_options["general"]["auto_update_uris"];
662
 
663
+ $uri = (!empty($permalink_manager_uris[$post_id])) ? rawurldecode($permalink_manager_uris[$post_id]) : self::get_post_uri($post_id, true);
664
  printf('<span class="permalink-manager-col-uri" data-auto_update="%s">%s</span>', intval($auto_update_uri), $uri);
665
  }
666
  }
773
  // Use default URI if URI is cleared by user OR URI should be automatically updated
774
  $new_uri = (($_POST['custom_uri'] == '') || $auto_update_uri == 1) ? $default_uri : Permalink_Manager_Helper_Functions::sanitize_title($_POST['custom_uri'], true);
775
 
 
 
 
776
  // Save or remove "Auto-update URI" settings
777
  if(!empty($auto_update_uri_current)) {
778
  update_post_meta($post_id, "auto_update_uri", $auto_update_uri_current);
includes/views/permalink-manager-debug.php CHANGED
@@ -19,7 +19,9 @@ class Permalink_Manager_Debug extends Permalink_Manager_Class {
19
  }
20
 
21
  public function output() {
22
- global $permalink_manager_options, $permalink_manager_uris, $permalink_manager_permastructs, $permalink_manager_redirects, $wp_filter;
 
 
23
 
24
  $sections_and_fields = apply_filters('permalink_manager_debug_fields', array(
25
  'debug-data' => array(
@@ -27,28 +29,54 @@ class Permalink_Manager_Debug extends Permalink_Manager_Class {
27
  'fields' => array(
28
  'uris' => array(
29
  'type' => 'textarea',
30
- 'description' => __('List of the URIs generated by this plugin.', 'permalink-manager'),
 
 
 
 
31
  'label' => __('Array with URIs', 'permalink-manager'),
32
  'input_class' => 'short-textarea widefat',
33
  'value' => ($permalink_manager_uris) ? print_r($permalink_manager_uris, true) : ''
34
  ),
35
  'custom-redirects' => array(
36
  'type' => 'textarea',
37
- 'description' => __('List of custom redirects set-up by this plugin.', 'permalink-manager'),
 
 
 
 
38
  'label' => __('Array with redirects', 'permalink-manager'),
39
  'input_class' => 'short-textarea widefat',
40
  'value' => ($permalink_manager_redirects) ? print_r($permalink_manager_redirects, true) : ''
41
  ),
 
 
 
 
 
 
 
 
 
 
42
  'permastructs' => array(
43
  'type' => 'textarea',
44
- 'description' => __('List of the permastructures.', 'permalink-manager'),
 
 
 
 
45
  'label' => __('Array with permastructures', 'permalink-manager'),
46
  'input_class' => 'short-textarea widefat',
47
  'value' => ($permalink_manager_permastructs) ? print_r($permalink_manager_permastructs, true) : ''
48
  ),
49
  'settings' => array(
50
  'type' => 'textarea',
51
- 'description' => __('Currently used plugin settings.', 'permalink-manager'),
 
 
 
 
52
  'label' => __('Array with settings used in this plugin.', 'permalink-manager'),
53
  'input_class' => 'short-textarea widefat',
54
  'value' => print_r($permalink_manager_options, true)
19
  }
20
 
21
  public function output() {
22
+ global $permalink_manager_options, $permalink_manager_uris, $permalink_manager_permastructs, $permalink_manager_redirects, $permalink_manager_external_redirects, $wp_filter;
23
+
24
+ $debug_section_url = Permalink_Manager_Admin_Functions::get_admin_url('&section=debug');
25
 
26
  $sections_and_fields = apply_filters('permalink_manager_debug_fields', array(
27
  'debug-data' => array(
29
  'fields' => array(
30
  'uris' => array(
31
  'type' => 'textarea',
32
+ 'description' => sprintf('%s<br /><strong><a class="pm-confirm-action" href="%s&remove-permalink-manager-settings=uris">%s</a></strong>',
33
+ __('List of the URIs generated by this plugin.', 'permalink-manager'),
34
+ $debug_section_url,
35
+ __('Remove all custom permalinks', 'permalink-manager')
36
+ ),
37
  'label' => __('Array with URIs', 'permalink-manager'),
38
  'input_class' => 'short-textarea widefat',
39
  'value' => ($permalink_manager_uris) ? print_r($permalink_manager_uris, true) : ''
40
  ),
41
  'custom-redirects' => array(
42
  'type' => 'textarea',
43
+ 'description' => sprintf('%s<br /><strong><a class="pm-confirm-action" href="%s&remove-permalink-manager-settings=redirects">%s</a></strong>',
44
+ __('List of custom redirects set-up by this plugin.', 'permalink-manager'),
45
+ $debug_section_url,
46
+ __('Remove all custom redirects', 'permalink-manager')
47
+ ),
48
  'label' => __('Array with redirects', 'permalink-manager'),
49
  'input_class' => 'short-textarea widefat',
50
  'value' => ($permalink_manager_redirects) ? print_r($permalink_manager_redirects, true) : ''
51
  ),
52
+ 'external-redirects' => array(
53
+ 'type' => 'textarea',
54
+ 'description' => sprintf('%s<br /><strong><a class="pm-confirm-action" href="%s&remove-permalink-manager-settings=external-redirects">%s</a></strong>',
55
+ __('List of external redirects set-up by this plugin.', 'permalink-manager'),
56
+ $debug_section_url, __('Remove all external redirects', 'permalink-manager')
57
+ ),
58
+ 'label' => __('Array with external redirects', 'permalink-manager'),
59
+ 'input_class' => 'short-textarea widefat',
60
+ 'value' => ($permalink_manager_external_redirects) ? print_r(array_filter($permalink_manager_external_redirects), true) : ''
61
+ ),
62
  'permastructs' => array(
63
  'type' => 'textarea',
64
+ 'description' => sprintf('%s<br /><strong><a class="pm-confirm-action" href="%s&remove-permalink-manager-settings=permastructs">%s</a></strong>',
65
+ __('List of permastructures set-up by this plugin.', 'permalink-manager'),
66
+ $debug_section_url,
67
+ __('Remove all permastructures settings', 'permalink-manager')
68
+ ),
69
  'label' => __('Array with permastructures', 'permalink-manager'),
70
  'input_class' => 'short-textarea widefat',
71
  'value' => ($permalink_manager_permastructs) ? print_r($permalink_manager_permastructs, true) : ''
72
  ),
73
  'settings' => array(
74
  'type' => 'textarea',
75
+ 'description' => sprintf('%s<br /><strong><a class="pm-confirm-action" href="%s&remove-permalink-manager-settings=settings">%s</a></strong>',
76
+ __('List of plugin settings.', 'permalink-manager'),
77
+ $debug_section_url,
78
+ __('Remove all plugin settings', 'permalink-manager')
79
+ ),
80
  'label' => __('Array with settings used in this plugin.', 'permalink-manager'),
81
  'input_class' => 'short-textarea widefat',
82
  'value' => print_r($permalink_manager_options, true)
includes/views/permalink-manager-settings.php CHANGED
@@ -45,6 +45,18 @@ class Permalink_Manager_Settings extends Permalink_Manager_Class {
45
  'label' => __('Show "Native slug" field', 'permalink-manager'),
46
  'input_class' => '',
47
  'description' => __('If enabled, it would be possible to edit the native slug via URI Editor on single post/term edit page.', 'permalink-manager')
 
 
 
 
 
 
 
 
 
 
 
 
48
  )
49
  )
50
  ),
@@ -80,13 +92,7 @@ class Permalink_Manager_Settings extends Permalink_Manager_Class {
80
  'input_class' => 'settings-select',
81
  'choices' => array(0 => __('Use default settings', 'permalink-manager'), 1 => __('Add trailing slashes', 'permalink-manager'), 10 => __('Add trailing slashes (+ auto-redirect links without them)', 'permalink-manager'), 2 => __('Remove trailing slashes', 'permalink-manager'), 20 => __('Remove trailing slashes (+ auto-redirect links with them)', 'permalink-manager'),),
82
  'description' => __('This option can be used to alter the native settings and control if trailing slash should be added or removed from the end of posts & terms permalinks.', 'permalink-manager')
83
- ),
84
- 'pagination_redirect' => array(
85
- 'type' => 'single_checkbox',
86
- 'label' => __('Force 404 on non-existing pagination pages', 'permalink-manager'),
87
- 'input_class' => '',
88
- 'description' => __('If enabled, the non-existing pagination pages (for single posts) will return 404 ("Not Found") error.<br /><strong>Please disable it, if you encounter any problems with pagination pages or use custom pagination system.</strong>', 'permalink-manager')
89
- ),
90
  )
91
  ),
92
  'advanced' => array(
@@ -114,9 +120,9 @@ class Permalink_Manager_Settings extends Permalink_Manager_Class {
114
  ),
115
  'yoast_breadcrumbs' => array(
116
  'type' => 'single_checkbox',
117
- 'label' => __('Yoast SEO breadcrumbs', 'permalink-manager'),
118
  'input_class' => '',
119
- 'description' => __('If checked, the Yoast SEO breadcrumbs will be filtered by Permalink Manager to mimic the current URL structure.', 'permalink-manager')
120
  ),
121
  'force_custom_slugs' => array(
122
  'type' => 'select',
@@ -129,14 +135,20 @@ class Permalink_Manager_Settings extends Permalink_Manager_Class {
129
  'type' => 'select',
130
  'label' => __('Strip special characters from slugs', 'permalink-manager'),
131
  'input_class' => 'settings-select',
132
- 'choices' => array(0 => __('Yes, use native settings', 'permalink-manager'), 1 => __('No, keep special characters (.|_+) in the slugs', 'permalink-manager')),
133
  'description' => __('If enabled only alphanumeric characters, underscores and dashes will be allowed for post/term slugs.', 'permalink-manager')
134
  ),
135
  'partial_disable' => array(
136
  'type' => 'checkbox',
137
- 'label' => __('Disable Permalink Manager functionalities', 'permalink-manager'),
138
  'choices' => $content_types,
139
- 'description' => __('Select the post types & taxonomies where the functionalities of Permalink Manager should be completely disabled.', 'permalink-manager')
 
 
 
 
 
 
140
  ),
141
  )
142
  )
45
  'label' => __('Show "Native slug" field', 'permalink-manager'),
46
  'input_class' => '',
47
  'description' => __('If enabled, it would be possible to edit the native slug via URI Editor on single post/term edit page.', 'permalink-manager')
48
+ ),
49
+ 'pagination_redirect' => array(
50
+ 'type' => 'single_checkbox',
51
+ 'label' => __('Force 404 on non-existing pagination pages', 'permalink-manager'),
52
+ 'input_class' => '',
53
+ 'description' => __('If enabled, the non-existing pagination pages (for single posts) will return 404 ("Not Found") error.<br /><strong>Please disable it, if you encounter any problems with pagination pages or use custom pagination system.</strong>', 'permalink-manager')
54
+ ),
55
+ 'sslwww_redirect' => array(
56
+ 'type' => 'single_checkbox',
57
+ 'label' => __('Force HTTPS in URLs', 'permalink-manager'),
58
+ 'input_class' => '',
59
+ 'description' => __('<strong>Please disable it, if you encounter any redirect loop issues.</strong>', 'permalink-manager')
60
  )
61
  )
62
  ),
92
  'input_class' => 'settings-select',
93
  'choices' => array(0 => __('Use default settings', 'permalink-manager'), 1 => __('Add trailing slashes', 'permalink-manager'), 10 => __('Add trailing slashes (+ auto-redirect links without them)', 'permalink-manager'), 2 => __('Remove trailing slashes', 'permalink-manager'), 20 => __('Remove trailing slashes (+ auto-redirect links with them)', 'permalink-manager'),),
94
  'description' => __('This option can be used to alter the native settings and control if trailing slash should be added or removed from the end of posts & terms permalinks.', 'permalink-manager')
95
+ )
 
 
 
 
 
 
96
  )
97
  ),
98
  'advanced' => array(
120
  ),
121
  'yoast_breadcrumbs' => array(
122
  'type' => 'single_checkbox',
123
+ 'label' => __('Filter breadcrumbs', 'permalink-manager'),
124
  'input_class' => '',
125
+ 'description' => __('If checked, the HTML breadcrumbs will be filtered by Permalink Manager to mimic the current URL structure.<br />Works with: Yoast SEO, RankMath and SEOPress breadcrumbs.', 'permalink-manager')
126
  ),
127
  'force_custom_slugs' => array(
128
  'type' => 'select',
135
  'type' => 'select',
136
  'label' => __('Strip special characters from slugs', 'permalink-manager'),
137
  'input_class' => 'settings-select',
138
+ 'choices' => array(0 => __('Yes, use native settings', 'permalink-manager'), 1 => __('No, keep special characters (.,|_+) in the slugs', 'permalink-manager')),
139
  'description' => __('If enabled only alphanumeric characters, underscores and dashes will be allowed for post/term slugs.', 'permalink-manager')
140
  ),
141
  'partial_disable' => array(
142
  'type' => 'checkbox',
143
+ 'label' => __('Exclude content types', 'permalink-manager'),
144
  'choices' => $content_types,
145
+ 'description' => __('Permalink Manager will ignore and not filter the custom permalinks of all selected above post types & taxonomies.', 'permalink-manager')
146
+ ),
147
+ 'edit_uris_cap' => array(
148
+ 'type' => 'select',
149
+ 'label' => __('URI Editor role capability', 'permalink-manager'),
150
+ 'choices' => array('edit_theme_options' => __('Administrator (edit_theme_options)', 'permalink-manager'), 'publish_pages' => __('Editor (publish_pages)', 'permalink-manager'), 'publish_posts' => __('Author (publish_posts)', 'permalink-manager'), 'edit_posts' => __('Contributor (edit_posts)', 'permalink-manager')),
151
+ 'description' => sprintf(__('Only the users who have selected capability will be able to access URI Editor.<br />The list of capabilities <a href="%s" target="_blank">can be found here</a>.', 'permalink-manager'), 'https://wordpress.org/support/article/roles-and-capabilities/#capability-vs-role-table')
152
  ),
153
  )
154
  )
includes/views/permalink-manager-uri-editor-post.php CHANGED
@@ -172,7 +172,7 @@ class Permalink_Manager_URI_Editor_Post extends WP_List_Table {
172
  $html .= "<option value=\"{$month_raw}\" {$selected}>{$month_human_name}</option>";
173
  }
174
  $html .= "</select>";
175
- $html .= sprintf("<input id=\"months-filter-button\" class=\"button\" value=\"%s\" type=\"submit\">", __("Filter", "permalink-manager"));
176
  $html .= "</div>";
177
  }
178
  }
@@ -233,13 +233,14 @@ class Permalink_Manager_URI_Editor_Post extends WP_List_Table {
233
  // Grab posts from database
234
  $sql_parts['start'] = "SELECT * FROM {$wpdb->posts} ";
235
  if($search_query) {
236
- $sql_parts['where'] = "WHERE post_name LIKE ('%{$search_query}%') ";
237
 
238
  // Search in array with custom URIs
239
  $found = Permalink_Manager_Helper_Functions::search_uri($search_query, 'posts');
240
  if($found) {
241
  $sql_parts['where'] .= sprintf("OR ID IN ('%s')", implode(',', (array) $found));
242
  }
 
243
  } else {
244
  $sql_parts['where'] = "WHERE ((post_status IN ($this->displayed_post_statuses) AND post_type IN ($this->displayed_post_types)) {$attachment_support}) {$extra_filters} ";
245
  }
172
  $html .= "<option value=\"{$month_raw}\" {$selected}>{$month_human_name}</option>";
173
  }
174
  $html .= "</select>";
175
+ $html .= get_submit_button(__("Filter", "permalink-manager"), 'button', false, false, array('id' => 'months-filter-button', 'name' => 'months-filter-button'));
176
  $html .= "</div>";
177
  }
178
  }
233
  // Grab posts from database
234
  $sql_parts['start'] = "SELECT * FROM {$wpdb->posts} ";
235
  if($search_query) {
236
+ $sql_parts['where'] = "WHERE (post_name LIKE ('%{$search_query}%') ";
237
 
238
  // Search in array with custom URIs
239
  $found = Permalink_Manager_Helper_Functions::search_uri($search_query, 'posts');
240
  if($found) {
241
  $sql_parts['where'] .= sprintf("OR ID IN ('%s')", implode(',', (array) $found));
242
  }
243
+ $sql_parts['where'] .= " ) AND ((post_status IN ($this->displayed_post_statuses) AND post_type IN ($this->displayed_post_types)) {$attachment_support}) {$extra_filters} ";
244
  } else {
245
  $sql_parts['where'] = "WHERE ((post_status IN ($this->displayed_post_statuses) AND post_type IN ($this->displayed_post_types)) {$attachment_support}) {$extra_filters} ";
246
  }
languages/permalink-manager-ja.mo CHANGED
Binary file
languages/permalink-manager-ja.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Permalink Manager Lite\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2018-06-13 10:15+0000\n"
6
- "PO-Revision-Date: 2018-06-13 12:19+0000\n"
7
  "Last-Translator: admin <contact@maciejbis.net>\n"
8
  "Language-Team: Japanese\n"
9
  "Language: ja\n"
@@ -11,9 +11,10 @@ msgstr ""
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
- "X-Generator: Loco https://localise.biz/"
 
15
 
16
- #: permalink-manager.php:185
17
  #, php-format
18
  msgid ""
19
  "Get access to extra features: full taxonomy and WooCommerce support, "
@@ -25,785 +26,676 @@ msgstr ""
25
  "<strong>パーマリンク マネージャー Proの購入は<a href=\"%s\" target=\"_blank\">コチラ</a>! %s "
26
  "の割引 「%s」をご利用下さい。 </strong> %s まで!"
27
 
28
- #: includes/views/permalink-manager-upgrade.php:16
29
- msgid "Extra features"
30
- msgstr "その他の機能"
31
 
32
- #: includes/views/permalink-manager-upgrade.php:24
33
- msgid "Permalink Manager Pro extra features"
34
- msgstr "パーマリンク マネージャー Proのその他の機能"
35
 
36
- #: includes/views/permalink-manager-upgrade.php:26
37
- msgid ""
38
- "Take full control of your permalinks! Permalink Manager Pro contains a bunch "
39
- "of useful extra functionalities!"
40
- msgstr "パーマリンクを全て管理しましょう!パーマリンクマネージャー Proには、様々な便利な機能が搭載されています!"
 
 
 
 
 
 
 
 
 
 
 
 
41
 
42
- #: includes/views/permalink-manager-upgrade.php:27
 
43
  msgid ""
44
- "Not certain if Permalink Manager Pro will fix your permalink problem?<br />"
45
- "Contact us at <a href=\"mailto:contact@permalinkmanager.pro\">"
46
- "contact@permalinkmanager.pro</a>!"
47
  msgstr ""
48
- "パーマリンク マネージャー Proが、パーマリンクの問題を修復可能か不明な場合、<a href=\"mailto:"
49
- "contact@permalinkmanager.pro\">contact@permalinkmanager.pro</a>"
50
- "までご連絡下さい。(日本語不可)"
51
 
52
- #: includes/views/permalink-manager-upgrade.php:31
53
- msgid "Full Taxonomy Support"
54
- msgstr "タクソノミーのフルサポート"
55
 
56
- #: includes/views/permalink-manager-upgrade.php:32
57
- msgid ""
58
- "With Permalink Manager Pro you can easily alter the default taxonomies’ "
59
- "permastructures & edit the full permalink in all the categories, tags and "
60
- "custom taxonomies terms!"
61
- msgstr ""
62
- "パーマリンク マネージャー "
63
- "Proを使用すると、デフォルトのタクソノミーのパーマストラクチャを簡単に変更することができ、すべてのカテゴリ、タグ、およびカスタムタクソノミーのターム内のパーマリンクを全て編集できます!"
64
 
65
- #: includes/views/permalink-manager-upgrade.php:33
66
- msgid ""
67
- "You can also bulk edit the taxonomies permalinks (eg. reset the native terms "
68
- "slugs) with included tools - “Find & replace” or “Regnerate/reset”"
69
  msgstr ""
70
- "「検索&置換」や「再生成 / リセット」にて、タクソノミーのパーマリンクを一括編集することもできます。(例:ネイティブ タームやスラッグのリセットなど)"
71
 
72
- #: includes/views/permalink-manager-upgrade.php:36
73
- msgid "Full WooCommerce Support"
74
- msgstr "WooCommerce フルサポート"
75
 
76
- #: includes/views/permalink-manager-upgrade.php:37
77
- msgid ""
78
- "Adjust your shop, product category, tags or single product permalinks and "
79
- "set your e-commerce URLs any way you want!"
80
- msgstr "あなたのショップの調整、商品カテゴリー、タグもしくは単一商品のパーマリンクとあなたのEコーマスURLの設定など、あなたの望むままに!"
81
 
82
- #: includes/views/permalink-manager-upgrade.php:38
83
- msgid ""
84
- "Remove <em>product-category</em>, <em>product-tag</em> and <em>product</em> "
85
- "or replace them with another permalink tags. Furthermore, the plugin allows "
86
- "to set completely custom permalinks for each product &#038; product "
87
- "taxonomies individually."
88
  msgstr ""
89
- "<em>商品カテゴリー</em>や<em>商品タグ</em>、<em>商品</em>"
90
- "などの削除、または別のパーマリンクに置換します。さらに本プラグインでは、商品と商品分類ごとのカスタムパーマリンクを個別に設定できます。"
91
 
92
- #: includes/views/permalink-manager-upgrade.php:41
93
- msgid "Custom fields inside permalinks"
94
- msgstr "パーマリンク内のカスタムフィールド"
95
 
96
- #: includes/views/permalink-manager-upgrade.php:42
97
- msgid ""
98
- "Automatically embed your custom fields values inside the permalinks, by "
99
- "adding the custom field tags to the permastructures."
100
- msgstr "パーマストラクチャにカスタムフィールドタグを追加することにより、パーマリンク内のカスタムフィールド値を自動的に埋め込めます。"
101
 
102
- #: includes/views/permalink-manager-upgrade.php:43
103
- msgid ""
104
- "This functionality is compatible with meta keys set with Advanced Custom "
105
- "Fields plugin."
106
- msgstr "この機能は、Advanced Custom Field プラグインにて設定されたメタキーと互換性があります。"
107
 
108
- #: includes/views/permalink-manager-upgrade.php:46
109
- msgid "Extra Redirects"
110
- msgstr "追加のリダイレクト"
111
 
112
- #: includes/views/permalink-manager-upgrade.php:47
113
  msgid ""
114
- "Set-up extra redirects and/or aliases for each post or term. Permalink "
115
- "Manager would also automatically create redirects for previously used custom "
116
- "permalinks."
 
117
  msgstr ""
118
- "投稿 / タームごとに、リダイレクト / "
119
- "エイリアスを設定します。パーマリンクマネージャーは、使用済のカスタムパーマリンクに対してもリダイレクトを自動的に生成します。"
120
 
121
- #: includes/views/permalink-manager-upgrade.php:50
122
- msgid "Import permalinks from \"Custom Permalinks\""
123
- msgstr "「カスタム パーマリンク」から、パーマリンクをインポートする"
124
 
125
- #: includes/views/permalink-manager-upgrade.php:51
126
- msgid ""
127
- "Additionally, Permalink Manager Pro allows to import the custom URIs defined "
128
- "previously with \"Custom Permalinks\" plugin. "
129
  msgstr ""
130
- "さらにパーマリンク マネージャー Proでは、以前に「カスタム パーマリンク」プラグインにて定められたカスタム URI のインポートが可能です。"
131
 
132
- #: includes/views/permalink-manager-upgrade.php:54
133
- msgid "Remove \"stop words\" from permalinks"
134
- msgstr "パーマリンクから「使用禁止の単語」を削除する"
 
 
135
 
136
- #: includes/views/permalink-manager-upgrade.php:55
137
- msgid ""
138
- "Set your own list of stop words or use a predefined one available in 21 "
139
- "languages. If enabled, all the words will be automatically removed from the "
140
- "default permalinks."
141
  msgstr ""
142
- "21の言語に対応した定義済みのリスト、もしくは独自の「使用禁止の単語」リストを設定できます。有効にすると、設定された全ての単語が、デフォルトのパーマリンクから自動的に削除されます。"
143
 
144
- #: includes/views/permalink-manager-upgrade.php:59
145
- msgid "More info about Permalink Manager Pro"
146
- msgstr "パーマリンク マネージャー Pro の追加情報"
147
 
148
- #: includes/views/permalink-manager-upgrade.php:59
149
- #: includes/core/permalink-manager-admin-functions.php:121
150
- msgid "Buy Permalink Manager Pro"
151
- msgstr "パーマリンク マネージャー Proを購入"
152
 
153
- #: includes/views/permalink-manager-uri-editor.php:28
154
- msgid "URI editor"
155
- msgstr "URIエディター"
156
 
157
- #: includes/views/permalink-manager-uri-editor.php:83
158
- msgid "Apply"
159
- msgstr "適用"
160
 
161
- #: includes/views/permalink-manager-uri-editor.php:89
162
- msgid "Per page"
163
- msgstr "ページ毎"
 
164
 
165
- #: includes/views/permalink-manager-uri-editor.php:94
166
- msgid "Post statuses"
167
- msgstr "投稿状態"
 
168
 
169
- #: includes/views/permalink-manager-uri-editor-post.php:54
170
- msgid "Post title"
171
- msgstr "投稿タイトル"
 
172
 
173
- #: includes/views/permalink-manager-uri-editor-post.php:55
174
- #: includes/views/permalink-manager-uri-editor-tax.php:51
175
- msgid "Full URI & Permalink"
176
- msgstr "全ての URIとパーマリンク"
177
 
178
- #: includes/views/permalink-manager-uri-editor-post.php:88
179
- msgid "Inherit (Attachment)"
180
- msgstr "継承(添付)"
 
181
 
182
- #: includes/views/permalink-manager-uri-editor-post.php:105
183
- #: includes/views/permalink-manager-uri-editor-tax.php:94
184
- msgid "Slug"
185
- msgstr "スラッグ"
186
 
187
- #: includes/views/permalink-manager-uri-editor-post.php:106
188
- msgid "Post status"
189
- msgstr "投稿状態"
190
 
191
- #: includes/views/permalink-manager-uri-editor-post.php:111
192
- #: includes/views/permalink-manager-uri-editor-tax.php:99
193
- #: includes/views/permalink-manager-uri-editor-tax.php:99
194
- msgid "Edit"
195
- msgstr "編集"
 
196
 
197
- #: includes/views/permalink-manager-uri-editor-post.php:112
198
- #: includes/views/permalink-manager-uri-editor-tax.php:100
199
- #: includes/views/permalink-manager-uri-editor-tax.php:100
200
- msgid "View"
201
- msgstr "見る"
202
 
203
- #: includes/views/permalink-manager-uri-editor-post.php:140
204
- #: includes/views/permalink-manager-uri-editor-tax.php:137
205
- msgid "Update all the URIs below"
206
- msgstr "下記のURIを全て更新する"
207
 
208
- #: includes/views/permalink-manager-uri-editor-post.php:141
209
- #: includes/views/permalink-manager-uri-editor-tax.php:138
210
- msgid "Update all the URIs above"
211
- msgstr "上記のURIを全て更新する"
212
 
213
- #: includes/views/permalink-manager-uri-editor-post.php:159
214
- msgid "All dates"
215
- msgstr "全日付"
 
216
 
217
- #: includes/views/permalink-manager-uri-editor-post.php:168
218
- msgid "Filter"
219
- msgstr "フィルター"
 
220
 
221
- #: includes/views/permalink-manager-debug.php:14
222
- msgid "Debug"
223
- msgstr "デバッグ"
224
 
225
- #: includes/views/permalink-manager-debug.php:26
226
- msgid "Debug data"
227
- msgstr "デバッグデータ"
228
 
229
- #: includes/views/permalink-manager-debug.php:30
230
- msgid "List of the URIs generated by this plugin."
231
- msgstr "本プラグインで生成されたURIのリスト"
232
 
233
- #: includes/views/permalink-manager-debug.php:31
234
- msgid "Array with URIs"
235
- msgstr "URIで配列"
 
 
 
236
 
237
- #: includes/views/permalink-manager-debug.php:37
238
- msgid "List of custom redirects set-up by this plugin."
239
- msgstr "本プラグインによって設定されたカスタム リダイレクトのリスト"
240
 
241
- #: includes/views/permalink-manager-debug.php:38
242
- msgid "Array with redirects"
243
- msgstr "リダイレクトで配列"
 
 
244
 
245
- #: includes/views/permalink-manager-debug.php:44
246
- msgid "List of the permastructures."
247
- msgstr "パーマストラクチャのリスト"
248
 
249
- #: includes/views/permalink-manager-debug.php:45
250
- msgid "Array with permastructures"
251
- msgstr "パーマストラクチャで配列"
 
 
252
 
253
- #: includes/views/permalink-manager-debug.php:51
254
- msgid "Currently used plugin settings."
255
- msgstr "現在ご利用のプラグイン 設定"
256
 
257
- #: includes/views/permalink-manager-debug.php:52
258
- msgid "Array with settings used in this plugin."
259
- msgstr "プラグイン内で使用中の設定で配列"
260
 
261
- #: includes/views/permalink-manager-tools.php:15
262
- msgid "Tools"
263
- msgstr "ツール"
264
 
265
- #: includes/views/permalink-manager-tools.php:18
266
- msgid "Permalink Duplicates"
267
- msgstr "重複したパーマリンク"
 
 
 
 
268
 
269
- #: includes/views/permalink-manager-tools.php:22
270
- msgid "Find & Replace"
271
- msgstr "検索&置換"
272
 
273
- #: includes/views/permalink-manager-tools.php:26
274
- msgid "Regenerate/Reset"
275
- msgstr "再作成 / リセット"
276
 
277
- #: includes/views/permalink-manager-tools.php:30
278
- msgid "Stop Words"
279
- msgstr "使用禁止の単語"
280
 
281
- #: includes/views/permalink-manager-tools.php:34
282
- #: includes/views/permalink-manager-pro-addons.php:219
283
- msgid "Custom Permalinks"
284
- msgstr "カスタム パーマリンク"
 
 
285
 
286
- #: includes/views/permalink-manager-tools.php:44
 
 
287
  msgid ""
288
- "<strong>A MySQL backup is highly recommended before using \"<em>Native "
289
- "slugs</em>\" mode!</strong>"
290
  msgstr ""
291
- "<strong>「<em>ネイティブ スラッグ</em>」モード使用される前に、MY SQLのバックアップを強く推奨します!</strong>"
292
 
293
- #: includes/views/permalink-manager-tools.php:54
294
- msgid "List of duplicated permalinks"
295
- msgstr "重複したパーマリンクのリスト"
 
 
296
 
297
- #: includes/views/permalink-manager-tools.php:55
298
- msgid "Remove all broken URIs"
299
- msgstr "全てのリンク切れURIを削除する"
300
 
301
- #: includes/views/permalink-manager-tools.php:70
302
- msgid "Extra Redirect"
303
- msgstr "追加のリダイレクト"
 
 
 
 
304
 
305
- #: includes/views/permalink-manager-tools.php:70
306
- #: includes/core/permalink-manager-uri-functions-tax.php:476
307
- msgid "Custom URI"
308
- msgstr "カスタム URI"
309
 
310
- #: includes/views/permalink-manager-tools.php:81
311
- msgid "Edit term"
312
- msgstr "タームの編集"
 
 
 
313
 
314
- #: includes/views/permalink-manager-tools.php:84
315
- msgid "(Removed term)"
316
- msgstr "(削除されたターム)"
317
 
318
- #: includes/views/permalink-manager-tools.php:85
319
- #: includes/views/permalink-manager-tools.php:98
320
- msgid "Remove broken URI"
321
- msgstr "リンク切れURLを削除する"
322
 
323
- #: includes/views/permalink-manager-tools.php:94
324
- msgid "Edit post"
325
- msgstr "投稿の編集"
326
 
327
- #: includes/views/permalink-manager-tools.php:97
328
- msgid "(Removed post)"
329
- msgstr "(削除された投稿)"
330
 
331
- #: includes/views/permalink-manager-tools.php:120
332
- msgid "Congratulations! No duplicated URIs or Redirects found!"
333
- msgstr "おめでとうございます!重複したURIもしくはリダイレクトは、見つかりませんでした!"
334
 
335
- #: includes/views/permalink-manager-tools.php:134
336
- msgid "Find ..."
337
- msgstr "検索"
338
 
339
- #: includes/views/permalink-manager-tools.php:140
340
- msgid "Replace with ..."
341
- msgstr "置換"
342
 
343
- #: includes/views/permalink-manager-tools.php:146
344
- #: includes/views/permalink-manager-tools.php:216
345
- msgid "Mode"
346
- msgstr "モード"
347
-
348
- #: includes/views/permalink-manager-tools.php:149
349
- #: includes/views/permalink-manager-tools.php:219
350
- msgid "Custom URIs"
351
- msgstr "カスタム URI"
352
-
353
- #: includes/views/permalink-manager-tools.php:149
354
- msgid "Native slugs"
355
- msgstr "ネイティブ スラッグ"
356
-
357
- #: includes/views/permalink-manager-tools.php:152
358
- #: includes/views/permalink-manager-tools.php:222
359
- msgid "Select content type"
360
- msgstr "コンテンツタイプを選択する"
361
-
362
- #: includes/views/permalink-manager-tools.php:158
363
- #: includes/views/permalink-manager-tools.php:228
364
- #: includes/views/permalink-manager-permastructs.php:38
365
- msgid "Post types"
366
- msgstr "投稿タイプ"
367
-
368
- #: includes/views/permalink-manager-tools.php:158
369
- #: includes/views/permalink-manager-tools.php:228
370
- #: includes/views/permalink-manager-permastructs.php:44
371
- msgid "Taxonomies"
372
- msgstr "タクソノミー"
373
 
374
- #: includes/views/permalink-manager-tools.php:161
375
- #: includes/views/permalink-manager-tools.php:231
376
- msgid "Select post types"
377
- msgstr "投稿タイプを選択する"
378
 
379
- #: includes/views/permalink-manager-tools.php:170
380
- #: includes/views/permalink-manager-tools.php:240
381
- msgid "Select taxonomies"
382
- msgstr "タクソノミーを選択する"
383
 
384
- #: includes/views/permalink-manager-tools.php:181
385
- #: includes/views/permalink-manager-tools.php:251
386
- msgid "Select post statuses"
387
- msgstr "投稿状態を選択する"
388
 
389
- #: includes/views/permalink-manager-tools.php:190
390
- #: includes/views/permalink-manager-tools.php:260
391
- msgid "Select IDs"
392
- msgstr "IDを選択する"
393
 
394
- #: includes/views/permalink-manager-tools.php:194
395
- #: includes/views/permalink-manager-tools.php:264
396
- msgid ""
397
- "To narrow the above filters you can type the post IDs (or ranges) here. Eg. "
398
- "<strong>1-8, 10, 25</strong>."
399
- msgstr ""
400
- "上記のフィルターに絞りこむために、ここに投稿ID(または範囲)を入力してください。例:<strong>1-8, 10, 25</strong>."
401
 
402
- #: includes/views/permalink-manager-tools.php:200
403
- #: includes/views/permalink-manager-tools.php:270
404
- #: includes/views/permalink-manager-permastructs.php:99
405
- msgid "Important notices"
406
- msgstr "重要なお知らせ"
407
 
408
- #: includes/views/permalink-manager-tools.php:203
409
- msgid "Find and replace"
410
- msgstr "検索&置換"
411
 
412
- #: includes/views/permalink-manager-tools.php:219
413
- msgid "Restore native slugs"
414
- msgstr "ネイティブ スラッグを修復する"
415
 
416
- #: includes/views/permalink-manager-tools.php:219
417
- msgid "Restore native permalinks"
418
- msgstr "ネイティブ パーマリンクを修復する"
419
 
420
- #: includes/views/permalink-manager-tools.php:273
421
- msgid "Regenerate"
422
- msgstr "再作成"
423
 
424
- #: includes/views/permalink-manager-uri-editor-tax.php:50
425
- msgid "Term title"
426
- msgstr "ターム タイトル"
427
 
428
- #: includes/views/permalink-manager-uri-editor-tax.php:52
429
- msgid "Count"
430
- msgstr "カウント"
431
 
432
- #: includes/views/permalink-manager-settings.php:14
433
- msgid "Settings"
434
- msgstr "設定"
435
 
436
- #: includes/views/permalink-manager-settings.php:33
437
- msgid "General settings"
438
- msgstr "一般設定"
439
 
440
- #: includes/views/permalink-manager-settings.php:39
441
- msgid "Auto-update permalinks"
442
- msgstr "パーマリンクの自動更新"
443
 
444
- #: includes/views/permalink-manager-settings.php:41
445
  msgid ""
446
- "If enabled, the custom permalinks will be automatically updated every time "
447
- "the post is saved or updated."
448
- msgstr "有効にすると、カスタムパーマリンクは投稿が更新 / 保存される度に、自動的に更新されます。"
449
-
450
- #: includes/views/permalink-manager-settings.php:46
451
- msgid "SEO functions"
452
- msgstr "SEO機能"
453
-
454
- #: includes/views/permalink-manager-settings.php:52
455
- msgid "Canonical redirect"
456
- msgstr "カノニカル リダイレクト"
457
 
458
- #: includes/views/permalink-manager-settings.php:54
459
- msgid ""
460
- "This function allows Wordpress to correct the URLs used by the visitors."
461
- msgstr "この機能は、WordPressに対して訪問者が使用したURLの修正を許可します。"
462
 
463
- #: includes/views/permalink-manager-settings.php:58
464
- msgid "Auto-create \"Extra Redirects\" for old permalinks"
465
- msgstr "古いパーマリンクに対して、「追加のリダイレクト」を自動生成"
466
 
467
- #: includes/views/permalink-manager-settings.php:62
468
- msgid ""
469
- "If enabled, the redirects will be automatially created for old custom "
470
- "permalinks, after posts or terms are updated."
471
- msgstr "有効にすると、投稿 / タームの更新後、古いカスタムパーマリンクのリダイレクトが自動的に作成されます。"
472
 
473
- #: includes/views/permalink-manager-settings.php:66
474
- msgid "Redirect"
475
- msgstr "リダイレクト"
476
 
477
- #: includes/views/permalink-manager-settings.php:68
478
- msgid "Disable"
479
- msgstr "無効"
480
 
481
- #: includes/views/permalink-manager-settings.php:68
482
- msgid "Enable \"301 redirect\""
483
- msgstr "「301 リダイレクト」を有効にする"
484
 
485
- #: includes/views/permalink-manager-settings.php:68
486
- msgid "Enable \"302 redirect\""
487
- msgstr "「302 リダイレクト」を有効にする"
488
 
489
- #: includes/views/permalink-manager-settings.php:69
490
- msgid ""
491
- "If enabled - the visitors will be redirected from native permalinks to your "
492
- "custom permalinks.<br /><strong>Only native permalinks & extra redirects "
493
- "will be redirected to new custom permalinks</strong>."
494
  msgstr ""
495
- "有効にすると、訪問者はネイティブパーマリンクから、設定されたカスタムパーマリンクにリダイレクトされます。<br /><strong>"
496
- "ネイティブパーマリンクと追加リダイレクトのみ、新しいカスタムパーマリンクにリダイレクトされます。</strong>"
497
 
498
- #: includes/views/permalink-manager-settings.php:73
499
- msgid "Trailing slashes"
500
- msgstr "末尾のスラッシュ"
 
501
 
502
- #: includes/views/permalink-manager-settings.php:75
503
- msgid "Use default settings"
504
- msgstr "デフォルトの設定を使用する"
 
505
 
506
- #: includes/views/permalink-manager-settings.php:75
507
- msgid "Add trailing slashes"
508
- msgstr "末尾のスラッシュを追加する"
509
 
510
- #: includes/views/permalink-manager-settings.php:75
511
- msgid "Add trailing slashes (+ auto-redirect links without them)"
512
- msgstr "末尾のスラッシュを追加する(+自動リダイレクト リンク、スラッシュあり)"
513
 
514
- #: includes/views/permalink-manager-settings.php:75
515
- msgid "Remove trailing slashes"
516
- msgstr "末尾のスラッシュを削除する"
517
 
518
- #: includes/views/permalink-manager-settings.php:75
519
- msgid "Remove trailing slashes (+ auto-redirect links with them)"
520
- msgstr "末尾のスラッシュを削除する(+自動リダイレクト リンク、スラッシュなし)"
521
 
522
- #: includes/views/permalink-manager-settings.php:76
523
- msgid ""
524
- "This option can be used to alter the native settings and control if trailing "
525
- "slash should be added or removed from the end of posts & terms permalinks."
526
- msgstr ""
527
- "このオプションは、ネイティブの設定を変更し、末尾のスラッシュを投稿・タームのパーマリンクの末尾に、追加・削除するかを制御するために使用できます。"
528
 
529
- #: includes/views/permalink-manager-settings.php:80
530
- msgid "Force 404 on non-existing pagination pages"
531
- msgstr "実在しないページ割付のページに404を強制表示する"
 
 
532
 
533
- #: includes/views/permalink-manager-settings.php:82
534
- msgid ""
535
- "If enabled, the non-existing pagination pages (for single posts) will return "
536
- "404 (\"Not Found\") error.<br /><strong>Please disable it, if you encounter "
537
- "any problems with pagination pages or use custom pagination system.</strong>"
538
- msgstr ""
539
- "有効にすると、実在しないページ割付のページ(単一投稿用)に対して、404( \"Not Found\")エラーを返します。<br /><strong>"
540
- "ページ割付のページ、もしくは独自のページ割付システムをご利用で、なんらかの問題が生じた場合は、無効にしてください。</strong>"
541
 
542
- #: includes/views/permalink-manager-settings.php:87
543
- msgid "Advanced settings"
544
- msgstr "詳細設定"
545
 
546
- #: includes/views/permalink-manager-settings.php:93
547
- msgid "Automatically remove broken URIs"
548
- msgstr "リンク切れURIを自動的に削除する"
 
 
549
 
550
- #: includes/views/permalink-manager-settings.php:95
551
  #, php-format
552
  msgid ""
553
- "If enabled, the custom URIs assigned to removed posts & terms will be "
554
- "automatically removed.<br />To manually remove the duplicates please go <a "
555
- "href=\"%s\">to this page</a>."
 
556
  msgstr ""
557
- "有効にすると、削除済みの投稿とタームが割り当てられているカスタムURIは、自動的に削除されます。<br />手動で重複を削除する場合は、<a "
558
- "href=\"%s\">コチラ</a>で行えます。"
559
-
560
- #: includes/views/permalink-manager-settings.php:99
561
- msgid "Fix language mismatch"
562
- msgstr "言語の不一致を修正する"
563
 
564
- #: includes/views/permalink-manager-settings.php:101
565
- msgid ""
566
- "If enabled, the plugin will load the adjacent translation of post when the "
567
- "custom permalink is detected, but the language code in the URL does not "
568
- "match the language code assigned to the post/term."
569
  msgstr ""
570
- "有効にすると、本プラグインはカスタムパーマリンクを検出した際、投稿に用いた言語に近い翻訳を読み込みますが、投稿やタームに割当られた言語コードとURL内言語コードと一致しない場合は読み込みません。"
571
-
572
- #: includes/views/permalink-manager-settings.php:105
573
- msgid "Force custom slugs"
574
- msgstr "カスタムスラッグを強制使用する"
575
-
576
- #: includes/views/permalink-manager-settings.php:107
577
- msgid "No, use native slugs"
578
- msgstr "いいえ、ネイティブスラッグを使用する"
579
-
580
- #: includes/views/permalink-manager-settings.php:107
581
- msgid "Yes, use post/term titles"
582
- msgstr "はい、投稿/ターム タイトルを使用する"
583
-
584
- #: includes/views/permalink-manager-settings.php:107
585
- msgid "Yes, use post/term titles + do not strip special characters: .|-+"
586
- msgstr "はい、投稿 / ターム タイトルを使用する + 特殊文字を削除しない .|-+"
587
 
588
- #: includes/views/permalink-manager-settings.php:108
 
589
  msgid ""
590
- "If enabled, the slugs in the default custom permalinks will be recreated "
591
- "from the post titles.<br />This may cause permalinks duplicates when the "
592
- "post or term title is used more than once."
593
  msgstr ""
594
- "有効にすると、デフォルトのカスタムパーマリンク内のスラッグは、投稿タイトルから再作成されます。<br />"
595
- "この設定は、投稿やタームのタイトルが複数回使用された場合、パーマリンクが重複する可能性があります。"
596
-
597
- #: includes/views/permalink-manager-settings.php:112
598
- msgid "Disable Permalink Manager functionalities"
599
- msgstr "パーマリンク マネージャーの機能を無効にする"
600
 
601
- #: includes/views/permalink-manager-settings.php:114
602
- msgid ""
603
- "Select the post types & taxonomies where the functionalities of Permalink "
604
- "Manager should be completely disabled."
605
- msgstr "パーマリンクマネージャーの機能を完全無効にする必要がある、投稿タイプとタクソノミーを選択してください。"
606
-
607
- #: includes/views/permalink-manager-settings.php:120
608
- msgid "Save settings"
609
- msgstr "設定を保存する"
610
 
611
- #: includes/views/permalink-manager-permastructs.php:15
612
- msgid "Permastructures"
613
- msgstr "パーマストラクチャ"
614
 
615
- #: includes/views/permalink-manager-permastructs.php:29
616
- #, php-format
617
- msgid ""
618
- "All allowed <a href=\"%s\" target=\"_blank\">structure tags</a> are listed "
619
- "below."
620
- msgstr "使用可能な全ての<a href=\"%s\" target=\"_blank\">構造タグ</a>は、以下の通りです。"
621
 
622
- #: includes/views/permalink-manager-permastructs.php:31
623
- msgid ""
624
- "Please note that some of them can be used only for particular post types "
625
- "permastructures."
626
- msgstr "注意:いくつかは、特定の投稿タイプのパーマストラクチャのみ利用可能となります。"
627
 
628
- #: includes/views/permalink-manager-permastructs.php:32
629
- msgid ""
630
- "<h5>Custom fields inside permastructures <small>(Permalink Manager Pro only)"
631
- "</small></h5>"
632
- msgstr "<h5>パーマストラクチャ内のカスタムフィールド <small>(パーマリンク マネージャー Proのみ)</small></h5>"
633
 
634
- #: includes/views/permalink-manager-permastructs.php:33
635
- msgid ""
636
- "To use the custom fields inside the permalink, please use following tag "
637
- "<code>%__custom_field_key%</code> and replace \"<em>custom_field_key</em>\" "
638
- "with the full name of your custom field key."
639
- msgstr ""
640
- "パーマリンク内のカスタムフィールドを利用するには、<code>%__custom_field_key%</code> のタグを使用し、 「<em>"
641
- "custom_field_key</em>」の部分に、指定されたカスタムフィールドキーの名前を間違いのないよう置き換えてください。"
642
 
643
- #: includes/views/permalink-manager-permastructs.php:54
644
- msgid "WooCommerce"
645
- msgstr "WooCommerce"
 
 
646
 
647
- #: includes/views/permalink-manager-permastructs.php:88
648
- msgid "Default permastructure"
649
- msgstr "デフォルト パーマストラクチャ"
 
 
650
 
651
- #: includes/views/permalink-manager-permastructs.php:89
652
- msgid "Restore to Default Permastructure"
653
- msgstr "デフォルトのパーマストラクチャに修復する"
 
654
 
655
- #: includes/views/permalink-manager-permastructs.php:100
656
- msgid ""
657
- "This tool <strong>automatically appends the slug to the end of "
658
- "permastructure</strong>, so there is no need to use them within the fields. "
659
- "To prevent the overlapping URLs problem please keep the permastructures "
660
- "unique."
661
  msgstr ""
662
- "このツールは、<strong>スラッグをパーマストラクチャの末尾に自動追加するため、フィールド内で使用する必要はありません。</ strong> "
663
- "重複するURLの問題を回避するには、パーマストラクチャを唯一無二で維持してください。"
664
 
665
- #: includes/views/permalink-manager-permastructs.php:101
666
- #, php-format
667
- msgid ""
668
- "The current permastructures settings will be applied <strong>only to the new "
669
- "posts & terms</strong>. To apply the <strong>new permastructures to old "
670
- "posts & terms</strong>, please use \"Regenerate/reset\" tool available <a "
671
- "href=\"%s\">here</a>."
672
  msgstr ""
673
- "現在のパーマストラクチャの設定は、<strong>新しい投稿とタームのみ</ strong>適用されます。 <strong>"
674
- "古い投稿とタームに新しいパーマストラクチャ</strong>を適用するには、<a href=\"%s\">コチラ</a>の「再生成 / "
675
- "リセット」ツールをお使いください。"
676
 
677
- #: includes/views/permalink-manager-permastructs.php:103
678
- msgid "Save permastructures"
679
- msgstr "パーマストラクチャを保存する"
 
 
 
 
680
 
681
  #: includes/views/permalink-manager-pro-addons.php:99
682
  msgid "Support"
683
  msgstr "サポート"
684
 
685
- #: includes/views/permalink-manager-pro-addons.php:122
686
- #, php-format
687
- msgid ""
688
- "Your licence key expired! For more information please go to <a href=\"%s\" "
689
- "target=\"_blank\">this page</a>."
690
- msgstr ""
691
- "あなたのライセンスキーは、期限切れです!詳しくは、<a href=\"%s\" target=\"_blank\">コチラ</a>のページでご確認下さい。"
692
-
693
- #: includes/views/permalink-manager-pro-addons.php:124
694
- msgid "You own a lifetime licence key."
695
- msgstr "あなたは、永久ライセンスキーをお持ちです。"
696
-
697
  #: includes/views/permalink-manager-pro-addons.php:126
698
- #, php-format
699
- msgid ""
700
- "Your licence key is valid until %s. To prolong it please go to <a "
701
- "href=\"%s\" target=\"_blank\">this page</a> for more information."
702
- msgstr ""
703
- "あなたのライセンスキーの有効期限は、%s です。詳しくは、<a href=\"%s\" target=\"_blank\">コチラ</a>"
704
- "のページでご確認下さい。"
705
-
706
- #: includes/views/permalink-manager-pro-addons.php:128
707
- msgid ""
708
- "Please paste the licence key to access all Permalink Manager Pro updates!"
709
- msgstr "パーマリンク マネージャー Proの全ての更新にアクセスするため、ライセンスキーをペーストしてください。"
710
-
711
- #: includes/views/permalink-manager-pro-addons.php:133
712
  msgid "Licence"
713
  msgstr "ライセンス"
714
 
715
- #: includes/views/permalink-manager-pro-addons.php:138
716
  msgid "Licence key"
717
  msgstr "ライセンスキー"
718
 
719
- #: includes/views/permalink-manager-pro-addons.php:139
720
  msgid ""
721
  "The licence key allows you to access all the plugin updates & priority "
722
  "support."
723
  msgstr "ライセンスキーを利用すると、全てのプラグインの更新と優先サポートにアクセスできます。"
724
 
725
- #: includes/views/permalink-manager-pro-addons.php:164
 
 
 
 
726
  msgid "-- Use predefined words list --"
727
  msgstr "-- 定義済みの単語リストを使用する --"
728
 
729
- #: includes/views/permalink-manager-pro-addons.php:167
730
  msgid "Remove all words"
731
  msgstr "全ての単語を削除する"
732
 
733
- #: includes/views/permalink-manager-pro-addons.php:169
734
  msgid "Add the words from the list"
735
  msgstr "リストから単語を追加する"
736
 
737
- #: includes/views/permalink-manager-pro-addons.php:177
738
  msgid "Enable \"stop words\""
739
  msgstr "「使用禁止の単語」を有効にする"
740
 
741
- #: includes/views/permalink-manager-pro-addons.php:183
742
  msgid "\"Stop words\" list"
743
  msgstr "「使用禁止の単語」リスト"
744
 
745
- #: includes/views/permalink-manager-pro-addons.php:187
746
  msgid "The words should be comma-separated."
747
  msgstr "単語は、カンマで区切る必要があります。"
748
 
749
- #: includes/views/permalink-manager-pro-addons.php:195
750
- #: includes/views/permalink-manager-pro-addons.php:228
751
- msgid "Instructions"
752
- msgstr "手順"
753
-
754
- #: includes/views/permalink-manager-pro-addons.php:196
755
  msgid ""
756
  "If enabled, all selected \"stop words\" will be automatically removed from "
757
  "default URIs."
758
  msgstr "有効にすると、選択された全ての「使用禁止の単語」はデフォルトのURIから、自動的に削除されます。"
759
 
760
- #: includes/views/permalink-manager-pro-addons.php:197
761
  msgid ""
762
  "Each of the words can be removed and any new words can be added to the list. "
763
  "You can also use a predefined list (available in 21 languages)."
764
  msgstr "各単語は、リストへ追加/削除できます。また、定義済みのリスト(21の言語)も使用可能です。"
765
 
766
- #: includes/views/permalink-manager-pro-addons.php:199
767
  msgid "Save"
768
  msgstr "保存する"
769
 
770
- #: includes/views/permalink-manager-pro-addons.php:220
 
 
 
 
 
771
  msgid "Deactivate after import"
772
  msgstr "インポート後、非アクティブにする"
773
 
774
- #: includes/views/permalink-manager-pro-addons.php:223
775
  msgid ""
776
  "If selected, \"Custom Permalinks\" plugin will be deactivated after its "
777
  "custom URIs are imported."
778
  msgstr "選択すると、カスタムURIのインポート後、「カスタムパーマリンク」プラグインが無効になります。"
779
 
780
- #: includes/views/permalink-manager-pro-addons.php:229
781
  msgid ""
782
  "Please note that \"Custom Permalinks\" (if activated) may break the behavior "
783
  "of this plugin."
784
  msgstr "「カスタム パーマリンク」(有効にしている場合)により、本プラグインの動作が損なわれる場合があります。"
785
 
786
- #: includes/views/permalink-manager-pro-addons.php:230
787
  msgid ""
788
  "Therefore, it is recommended to disable \"Custom Permalink\" and import old "
789
  "permalinks before using Permalink Manager Pro."
790
  msgstr ""
791
  "したがって、「カスタム パーマリンク」を無効にして、パーマリンク マネージャー Proを使用する前の古いパーマリンクのインポートを推奨します。"
792
 
793
- #: includes/views/permalink-manager-pro-addons.php:235
794
  #, php-format
795
  msgid "Import %d URIs"
796
  msgstr "%d URIをインポートする"
797
 
798
- #: includes/views/permalink-manager-pro-addons.php:240
799
  msgid "No custom URIs to import"
800
  msgstr "インポートするカスタムURIはありません"
801
 
802
- #: includes/views/permalink-manager-pro-addons.php:253
803
  msgid "Technical support"
804
  msgstr "技術的サポート"
805
 
806
- #: includes/views/permalink-manager-pro-addons.php:254
807
  #, php-format
808
  msgid ""
809
  "To find the answers on frequently asked questions and information about how "
@@ -813,7 +705,7 @@ msgstr ""
813
  "よくある質問と一般的な問題に対する対処方法についての情報は、 <a target=\"_blank\" href=\"%s\">コチラ</a>"
814
  "の<strong>Knowledge Base</strong> をご利用下さい。(英語のみ)"
815
 
816
- #: includes/views/permalink-manager-pro-addons.php:255
817
  msgid ""
818
  "If you still did not find the answer to your question, please send us your "
819
  "question or a detailed description of your problem/issue to <a href=\"mailto:"
@@ -822,24 +714,24 @@ msgstr ""
822
  "ご質問に対して答えが見つからない場合は、問題の詳細又はご質問を<a href=\"mailto:support@permalinkmanager."
823
  "pro\">support@permalinkmanager.pro</a>までお送り下さい。(英語のみ)"
824
 
825
- #: includes/views/permalink-manager-pro-addons.php:256
826
  msgid ""
827
  "To reduce the response time, please attach your licence key and if possible "
828
  "also: URL address of your website and screenshots explaining the issue."
829
  msgstr ""
830
  "ご返答までの時間を短縮するため、ライセンスキーを添付し、可能であればWebサイトのURLと問題箇所のスクリーンショットもお送り下さい。(英語のみ)"
831
 
832
- #: includes/views/permalink-manager-pro-addons.php:258
833
  msgid "Suggestions/feedback"
834
  msgstr "ご意見 / フィードバック"
835
 
836
- #: includes/views/permalink-manager-pro-addons.php:259
837
  msgid ""
838
  "If you would like to suggest a new functionality or leave us feedback, we "
839
  "are open to all new ideas and would be grateful for all your comments!"
840
  msgstr "新たな機能の提案やフィードバックをお送り下さい。あらゆる新しいアイデアは大歓迎であり、あなたのコメントをお送り頂ければ幸いです。"
841
 
842
- #: includes/views/permalink-manager-pro-addons.php:260
843
  msgid ""
844
  " Please send your remarks to <a href=\"mailto:contact@permalinkmanager.pro\">"
845
  "contact@permalinkmanager.pro</a>."
@@ -847,21 +739,25 @@ msgstr ""
847
  "<a href=\"mailto:contact@permalinkmanager.pro\">contact@permalinkmanager."
848
  "pro</a>まで、ご意見をお送り下さい。"
849
 
850
- #: includes/views/permalink-manager-pro-addons.php:275
851
  msgid "Extra redirects (aliases)"
852
  msgstr "追加のリダイレクト(エイリアス)"
853
 
854
- #: includes/views/permalink-manager-pro-addons.php:276
855
  msgid ""
856
  "All URIs specified below will redirect the visitors to the custom URI "
857
  "defined above in \"Current URI\" field."
858
  msgstr "以下で指定された全てのURIは、訪問者を上記の「現在のURI」フィールドで定義されたカスタムURIにリダイレクトします。"
859
 
860
- #: includes/views/permalink-manager-pro-addons.php:282
861
  msgid "sample/custom-uri"
862
  msgstr "sample/custom-uri"
863
 
864
- #: includes/views/permalink-manager-pro-addons.php:299
 
 
 
 
865
  #, php-format
866
  msgid ""
867
  "<strong>Please use URIs only!</strong><br />For instance, to set-up a "
@@ -870,25 +766,21 @@ msgstr ""
870
  "<strong>URIのみご利用下さい!</strong><br />例えば、<code>%s/old-uri</code> "
871
  "のリダイレクトを設定する場合は、<code>old-uri</code> をお使い下さい。"
872
 
873
- #: includes/views/permalink-manager-pro-addons.php:304
874
- msgid "Add new redirect"
875
- msgstr "新しいリダイレクトを追加する"
876
-
877
- #: includes/views/permalink-manager-pro-addons.php:313
878
  msgid "Redirect this page to external URL"
879
  msgstr "このページを外部URLにリダイレクトする"
880
 
881
- #: includes/views/permalink-manager-pro-addons.php:314
882
  msgid ""
883
  "If not empty, the visitors trying to access this page will be redirected to "
884
  "the URL specified below."
885
  msgstr "空白でない場合、このページにアクセスしようと試みた訪問者は、下記のURLにリダイレクトされます。"
886
 
887
- #: includes/views/permalink-manager-pro-addons.php:318
888
  msgid "http://another-website.com/final-target-url"
889
  msgstr "http://another-website.com/final-target-url"
890
 
891
- #: includes/views/permalink-manager-pro-addons.php:322
892
  msgid ""
893
  "<strong>Please use full URLs!</strong><br />For instance, <code>http:"
894
  "//another-website.com/final-target-url</code>."
@@ -896,331 +788,495 @@ msgstr ""
896
  "<strong>全てのURLをお使い下さい!</strong><br />例:<code>http://another-website."
897
  "com/final-target-url</code>."
898
 
899
- #: includes/core/permalink-manager-pro-functions.php:77
900
- msgid "Arabic"
901
- msgstr "アラビア語"
902
 
903
- #: includes/core/permalink-manager-pro-functions.php:78
904
- msgid "Chinese"
905
- msgstr "中国語"
906
 
907
- #: includes/core/permalink-manager-pro-functions.php:79
908
- msgid "Danish"
909
- msgstr "デンマーク語"
910
 
911
- #: includes/core/permalink-manager-pro-functions.php:80
912
- msgid "Dutch"
913
- msgstr "ドイツ語"
914
 
915
- #: includes/core/permalink-manager-pro-functions.php:81
916
- msgid "English"
917
- msgstr "英語"
918
 
919
- #: includes/core/permalink-manager-pro-functions.php:82
920
- msgid "Finnish"
921
- msgstr "フィンランド語"
922
 
923
- #: includes/core/permalink-manager-pro-functions.php:83
924
- msgid "French"
925
- msgstr "フランス語"
926
 
927
- #: includes/core/permalink-manager-pro-functions.php:84
928
- msgid "German"
929
- msgstr "ドイツ語"
930
 
931
- #: includes/core/permalink-manager-pro-functions.php:85
932
- msgid "Hebrew"
933
- msgstr "ヘブライ語"
 
 
934
 
935
- #: includes/core/permalink-manager-pro-functions.php:86
936
- msgid "Hindi"
937
- msgstr "ヒンディー語"
938
 
939
- #: includes/core/permalink-manager-pro-functions.php:87
940
- msgid "Italian"
941
- msgstr "イタリア語"
 
 
942
 
943
- #: includes/core/permalink-manager-pro-functions.php:88
944
- msgid "Japanese"
945
- msgstr "日本語"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
946
 
947
- #: includes/core/permalink-manager-pro-functions.php:89
948
- msgid "Korean"
949
- msgstr "韓国語"
950
 
951
- #: includes/core/permalink-manager-pro-functions.php:90
952
- msgid "Norwegian"
953
- msgstr "ノルウェー語"
954
 
955
- #: includes/core/permalink-manager-pro-functions.php:91
956
- msgid "Persian"
957
- msgstr "ペルシア語"
 
 
958
 
959
- #: includes/core/permalink-manager-pro-functions.php:92
960
- msgid "Polish"
961
- msgstr "ポーランド語"
962
 
963
- #: includes/core/permalink-manager-pro-functions.php:93
964
- msgid "Portuguese"
965
- msgstr "ポルトガル語"
 
 
966
 
967
- #: includes/core/permalink-manager-pro-functions.php:94
968
- msgid "Russian"
969
- msgstr "ロシア語"
970
 
971
- #: includes/core/permalink-manager-pro-functions.php:95
972
- msgid "Spanish"
973
- msgstr "スペイン語"
974
 
975
- #: includes/core/permalink-manager-pro-functions.php:96
976
- msgid "Swedish"
977
- msgstr "スウェーデン語"
978
 
979
- #: includes/core/permalink-manager-pro-functions.php:97
980
- msgid "Turkish"
981
- msgstr "トルコ語"
982
 
983
- #: includes/core/permalink-manager-pro-functions.php:147
984
- #, php-format
985
- msgid ""
986
- "Your Permalink Manager Pro licence key expired! For more information please "
987
- "go to <a href=\"%s\" target=\"_blank\">this page</a>."
988
  msgstr ""
989
- "あなたのパーマリンク マネージャー Proのライセンスは期限切れです!詳しくは、<a href=\"%s\" target=\"_blank\">"
990
- "コチラ</a>のページでご確認下さい。"
991
 
992
- #: includes/core/permalink-manager-pro-functions.php:149
993
  #, php-format
994
  msgid ""
995
- "Please paste the licence key <a href=\"%s\">here</a> to access all Permalink "
996
- "Manager Pro updates!"
 
997
  msgstr ""
998
- "パーマリンク マネージャー Proの全ての更新にアクセスするため、<a href=\"%s\">コチラ</a>にライセンスキーをペーストしてください。"
999
 
1000
- #: includes/core/permalink-manager-pro-functions.php:325
1001
- msgid "Coupon Link"
1002
- msgstr "クーポンリンク"
1003
 
1004
- #: includes/core/permalink-manager-pro-functions.php:346
1005
- msgid "Coupon URI"
1006
- msgstr "クーポンURI"
1007
 
1008
- #: includes/core/permalink-manager-pro-functions.php:347
1009
- msgid ""
1010
- "The URIs are case-insensitive, eg. <strong>BLACKFRIDAY</strong> and <strong>"
1011
- "blackfriday</strong> are equivalent."
1012
- msgstr ""
1013
- "URIは、大文字・小文字は区別しません。例:<strong>BLACKFRIDAY</strong> と<strong>"
1014
- "blackfriday</strong>は、同じです。"
1015
 
1016
- #: includes/core/permalink-manager-pro-functions.php:358
1017
- msgid "Coupon Full URL"
1018
- msgstr "クーポン フル URL"
1019
 
1020
- #: includes/core/permalink-manager-third-parties.php:250
1021
- msgid "Language"
1022
- msgstr "言語"
1023
 
1024
- #: includes/core/permalink-manager-third-parties.php:357
1025
- msgid "\"Custom Permalinks\" URIs were imported!"
1026
- msgstr "「カスタム パーマリンク」URIは、インポートされました!"
1027
 
1028
- #: includes/core/permalink-manager-third-parties.php:360
1029
- msgid "No \"Custom Permalinks\" URIs were imported!"
1030
- msgstr "「カスタム パーマリンク」 URIはインポートされませんでした!"
 
 
 
1031
 
1032
- #: includes/core/permalink-manager-uri-functions-tax.php:477
1033
- msgid "Clear/leave the field empty to use the default permalink."
1034
- msgstr "デフォルトのパーマリンクを使用するため、フィールドを空のままにする / クリアする"
1035
 
1036
- #: includes/core/permalink-manager-uri-functions-tax.php:513
1037
- #: includes/core/permalink-manager-uri-functions-post.php:626
1038
- #: includes/core/permalink-manager-admin-functions.php:561
1039
- #: includes/core/permalink-manager-admin-functions.php:622
1040
- msgid "Current URI"
1041
- msgstr "現在のURI"
1042
 
1043
- #: includes/core/permalink-manager-actions.php:54
1044
- #, php-format
1045
- msgid "<strong>%d</strong> slug was updated!"
1046
- msgid_plural "<strong>%d</strong> slugs were updated!"
1047
- msgstr[0] "<strong>%d</strong> のスラッグは更新されました!"
1048
- msgstr[1] ""
1049
 
1050
- #: includes/core/permalink-manager-actions.php:55
1051
- #, php-format
1052
- msgid "<a %s>Click here</a> to go to the list of updated slugs"
1053
- msgstr "更新されたスラッグのリストは、<a %s>ここをクリック</a> "
1054
 
1055
- #: includes/core/permalink-manager-actions.php:60
1056
- msgid "<strong>No slugs</strong> were updated!"
1057
- msgstr "スラッグは、更新されませんでした。"
1058
 
1059
- #: includes/core/permalink-manager-actions.php:94
1060
- msgid "The settings are saved!"
1061
- msgstr "設定は、保存されました!"
 
1062
 
1063
- #: includes/core/permalink-manager-actions.php:191
1064
- #, php-format
1065
- msgid "%d Custom URIs and %d Custom Redirects were removed!"
1066
- msgstr "%d カスタムURIと、%d カスタム リダイレクトは削除されました。"
1067
 
1068
- #: includes/core/permalink-manager-actions.php:193
1069
- msgid "No Custom URIs or Custom Redirects were removed!"
1070
- msgstr "カスタムURIもしくはカスタム リダイレクトは、削除されませんでした!"
1071
 
1072
- #: includes/core/permalink-manager-actions.php:299
1073
- #, php-format
1074
- msgid "URI \"%s\" was removed successfully!"
1075
- msgstr "「%s」のURIは、無事削除されました!"
1076
 
1077
- #: includes/core/permalink-manager-actions.php:308
1078
- msgid "Broken redirects were removed successfully!"
1079
- msgstr "リンク切れリダイレクトは、無事削除されました!"
1080
 
1081
- #: includes/core/permalink-manager-actions.php:313
1082
- msgid "URI and/or custom redirects does not exist or were already removed!"
1083
- msgstr "URIもしくはカスタムリダイレクトは、実在しないか既に削除されています!"
1084
 
1085
- #: includes/core/permalink-manager-actions.php:327
1086
- msgid "The redirect was removed successfully!"
1087
- msgstr "リダイレクトは、無事削除されました!"
 
1088
 
1089
- #: includes/core/permalink-manager-actions.php:376
1090
- msgid "Sitemaps were updated!"
1091
- msgstr "サイトマップは、更新されました!"
1092
 
1093
- #. Name of the plugin
1094
- #: includes/core/permalink-manager-admin-functions.php:83
1095
- #: includes/core/permalink-manager-admin-functions.php:557
1096
- #: includes/core/permalink-manager-admin-functions.php:602
1097
- #: includes/core/permalink-manager-admin-functions.php:607
1098
- #: includes/core/permalink-manager-admin-functions.php:608
1099
- msgid "Permalink Manager"
1100
- msgstr "パーマリンク マネージャー"
1101
 
1102
- #: includes/core/permalink-manager-admin-functions.php:119
1103
- msgid "URI Editor"
1104
- msgstr "URIエディター"
 
1105
 
1106
- #: includes/core/permalink-manager-admin-functions.php:198
1107
- msgid "Select all"
1108
- msgstr "全てを選択する"
 
1109
 
1110
- #: includes/core/permalink-manager-admin-functions.php:199
1111
- msgid "Unselect all"
1112
- msgstr "選択を全て解除する"
 
1113
 
1114
- #: includes/core/permalink-manager-admin-functions.php:407
1115
- msgid "Donate"
1116
- msgstr "寄付"
 
1117
 
1118
- #: includes/core/permalink-manager-admin-functions.php:408
1119
- msgid "by Maciej Bis"
1120
- msgstr "by Maciej Bis"
 
1121
 
1122
- #: includes/core/permalink-manager-admin-functions.php:487
1123
- #, php-format
1124
  msgid ""
1125
- "This functionality is available only in <a href=\"%s\" target=\"_blank\">"
1126
- "Permalink Manager Pro</a>."
1127
- msgstr "この機能は、パーマリンク マネージャー Proのみ利用可能です。"
 
1128
 
1129
- #: includes/core/permalink-manager-admin-functions.php:508
1130
- #: includes/core/permalink-manager-admin-functions.php:534
1131
- msgid "Title"
1132
- msgstr "タイトル"
1133
 
1134
- #: includes/core/permalink-manager-admin-functions.php:509
1135
- #: includes/core/permalink-manager-admin-functions.php:535
1136
- msgid "Old URI"
1137
- msgstr "古いURI"
1138
 
1139
- #: includes/core/permalink-manager-admin-functions.php:510
1140
- #: includes/core/permalink-manager-admin-functions.php:536
1141
- msgid "New URI"
1142
- msgstr "新しいURI"
1143
 
1144
- #: includes/core/permalink-manager-admin-functions.php:511
1145
- #: includes/core/permalink-manager-admin-functions.php:537
1146
- msgid "Old Slug"
1147
- msgstr "古いスラッグ"
1148
 
1149
- #: includes/core/permalink-manager-admin-functions.php:512
1150
- #: includes/core/permalink-manager-admin-functions.php:538
1151
- msgid "New Slug"
1152
- msgstr "新しいスラッグ"
1153
 
1154
- #: includes/core/permalink-manager-admin-functions.php:534
1155
- msgid "Show more details"
1156
- msgstr "さらなる詳細を表示する"
1157
 
1158
- #: includes/core/permalink-manager-admin-functions.php:543
1159
- msgid "List of updated items"
1160
- msgstr "更新済みのアイテムのリスト"
1161
 
1162
- #: includes/core/permalink-manager-admin-functions.php:587
1163
- #: includes/core/permalink-manager-admin-functions.php:591
1164
- msgid "Yes"
1165
- msgstr "はい"
1166
 
1167
- #: includes/core/permalink-manager-admin-functions.php:587
1168
- #: includes/core/permalink-manager-admin-functions.php:590
1169
- msgid "No"
1170
- msgstr "いいえ"
1171
 
1172
- #: includes/core/permalink-manager-admin-functions.php:589
1173
- #, php-format
1174
- msgid "Use global settings [%s]"
1175
- msgstr "グローバル設定を使用する [%s]"
1176
 
1177
- #: includes/core/permalink-manager-admin-functions.php:607
1178
- msgid "Close: "
1179
- msgstr "閉じる:"
1180
 
1181
- #: includes/core/permalink-manager-admin-functions.php:616
1182
- msgid "The custom URI cannot be edited on frontpage."
1183
- msgstr "カスタムURIは、フロントページでは編集不可です。"
1184
 
1185
- #: includes/core/permalink-manager-admin-functions.php:623
1186
- msgid ""
1187
- "The custom URI can be edited only if 'Auto-update the URI' feature is not "
1188
- "enabled."
1189
- msgstr "カスタムURIは「URIの自動更新」機能が無効の場合のみ、編集可能です。"
1190
 
1191
- #: includes/core/permalink-manager-admin-functions.php:632
1192
- msgid "Auto-update the URI"
1193
- msgstr "URIの自動更新"
1194
 
1195
- #: includes/core/permalink-manager-admin-functions.php:633
1196
- msgid ""
1197
- "If enabled, the 'Current URI' field will be automatically changed to "
1198
- "'Default URI' (displayed below) after the post is saved or updated."
1199
- msgstr "有効にすると、「現在のURI」項目は投稿が更新又は保存された後に、(下記に表示された)「デフォルトURI」に自動的に変更されます。"
1200
 
1201
- #: includes/core/permalink-manager-admin-functions.php:641
1202
- msgid "Default URI"
1203
- msgstr "デフォルト URI"
 
 
 
 
1204
 
1205
- #: includes/core/permalink-manager-admin-functions.php:642
1206
- msgid "Restore to Default URI"
1207
- msgstr "デフォルトURIを修復する"
1208
 
1209
- #: includes/core/permalink-manager-admin-functions.php:652
1210
- msgid "Automatic redirect for native URI enabled:"
1211
- msgstr "ネイティブURIの自動リダイレクトを有効にする:"
1212
 
1213
- #: includes/core/permalink-manager-admin-functions.php:681
1214
- msgid "Manage redirects"
1215
- msgstr "リダイレクトを管理"
1216
 
1217
- #: includes/core/permalink-manager-admin-functions.php:682
1218
- msgid "[click to open]"
1219
- msgstr "「クリックして開く」"
1220
 
1221
- #: includes/core/permalink-manager-admin-functions.php:762
1222
- msgid "URI is already in use, please select another one!"
1223
- msgstr "URIは既に使用済みです。他をお選び下さい。"
 
 
 
 
1224
 
1225
  #. Name of the plugin
1226
  msgid "Permalink Manager Pro"
2
  msgstr ""
3
  "Project-Id-Version: Permalink Manager Lite\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2019-11-18 15:34+0000\n"
6
+ "PO-Revision-Date: 2019-11-18 15:34+0000\n"
7
  "Last-Translator: admin <contact@maciejbis.net>\n"
8
  "Language-Team: Japanese\n"
9
  "Language: ja\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
+ "X-Generator: Loco https://localise.biz/\n"
15
+ "X-Loco-Version: 2.3.1; wp-5.3"
16
 
17
+ #: permalink-manager.php:198
18
  #, php-format
19
  msgid ""
20
  "Get access to extra features: full taxonomy and WooCommerce support, "
26
  "<strong>パーマリンク マネージャー Proの購入は<a href=\"%s\" target=\"_blank\">コチラ</a>! %s "
27
  "の割引 「%s」をご利用下さい。 </strong> %s まで!"
28
 
29
+ #: includes/core/permalink-manager-third-parties.php:600
30
+ msgid "\"Custom Permalinks\" URIs were imported!"
31
+ msgstr "「カスタム パーマリンク」URIは、インポートされました!"
32
 
33
+ #: includes/core/permalink-manager-third-parties.php:603
34
+ msgid "No \"Custom Permalinks\" URIs were imported!"
35
+ msgstr "「カスタム パーマリンク」 URIはインポートされませんでした!"
36
 
37
+ #. Name of the plugin
38
+ #: includes/core/permalink-manager-third-parties.php:873
39
+ #: includes/core/permalink-manager-gutenberg.php:14
40
+ #: includes/core/permalink-manager-admin-functions.php:119
41
+ #: includes/core/permalink-manager-admin-functions.php:119
42
+ #: includes/core/permalink-manager-admin-functions.php:724
43
+ #: includes/core/permalink-manager-admin-functions.php:802
44
+ #: includes/core/permalink-manager-admin-functions.php:807
45
+ #: includes/core/permalink-manager-admin-functions.php:808
46
+ msgid "Permalink Manager"
47
+ msgstr "パーマリンク マネージャー"
48
+
49
+ #: includes/core/permalink-manager-third-parties.php:877
50
+ #: includes/core/permalink-manager-uri-functions-tax.php:469
51
+ #: includes/views/permalink-manager-tools.php:70
52
+ msgid "Custom URI"
53
+ msgstr "カスタム URI"
54
 
55
+ #: includes/core/permalink-manager-third-parties.php:878
56
+ #, php-format
57
  msgid ""
58
+ "If empty, a default permalink based on your current <a href=\"%s\" "
59
+ "target=\"_blank\">permastructure settings</a> will be used."
 
60
  msgstr ""
 
 
 
61
 
62
+ #: includes/core/permalink-manager-uri-functions-tax.php:470
63
+ msgid "Clear/leave the field empty to use the default permalink."
64
+ msgstr "デフォルトのパーマリンクを使用するため、フィールドを空のままにする / クリアする"
65
 
66
+ #: includes/core/permalink-manager-uri-functions-tax.php:502
67
+ #: includes/core/permalink-manager-admin-functions.php:728
68
+ #: includes/core/permalink-manager-admin-functions.php:825
69
+ #: includes/core/permalink-manager-uri-functions-post.php:649
70
+ msgid "Current URI"
71
+ msgstr "現在のURI"
 
 
72
 
73
+ #: includes/core/permalink-manager-admin-functions.php:143
74
+ msgid "Are you sure? This action cannot be undone!"
 
 
75
  msgstr ""
 
76
 
77
+ #: includes/core/permalink-manager-admin-functions.php:164
78
+ msgid "URI Editor"
79
+ msgstr "URIエディター"
80
 
81
+ #: includes/core/permalink-manager-admin-functions.php:165
82
+ #: includes/views/permalink-manager-settings.php:14
83
+ msgid "Settings"
84
+ msgstr "設定"
 
85
 
86
+ #: includes/core/permalink-manager-admin-functions.php:177
87
+ msgid "Documentation"
 
 
 
 
88
  msgstr ""
 
 
89
 
90
+ #: includes/core/permalink-manager-admin-functions.php:181
91
+ msgid "Buy Permalink Manager Pro"
92
+ msgstr "パーマリンク マネージャー Proを購入"
93
 
94
+ #: includes/core/permalink-manager-admin-functions.php:268
95
+ msgid "Select all"
96
+ msgstr "全てを選択する"
 
 
97
 
98
+ #: includes/core/permalink-manager-admin-functions.php:269
99
+ msgid "Unselect all"
100
+ msgstr "選択を全て解除する"
 
 
101
 
102
+ #: includes/core/permalink-manager-admin-functions.php:384
103
+ msgid "Permastructure translations"
104
+ msgstr ""
105
 
106
+ #: includes/core/permalink-manager-admin-functions.php:385
107
  msgid ""
108
+ "If you would like to translate the permastructures and set-up different "
109
+ "permalink structure per language, please fill in the fields below. Otherwise "
110
+ "the permastructure set for default language (see field above) will be "
111
+ "applied."
112
  msgstr ""
 
 
113
 
114
+ #: includes/core/permalink-manager-admin-functions.php:402
115
+ msgid "Default permastructure"
116
+ msgstr "デフォルト パーマストラクチャ"
117
 
118
+ #: includes/core/permalink-manager-admin-functions.php:403
119
+ msgid "Restore default permastructure"
 
 
120
  msgstr ""
 
121
 
122
+ #: includes/core/permalink-manager-admin-functions.php:409
123
+ #: includes/core/permalink-manager-actions.php:393
124
+ #: includes/core/permalink-manager-actions.php:397
125
+ msgid "Permastructure settings"
126
+ msgstr ""
127
 
128
+ #: includes/core/permalink-manager-admin-functions.php:410
129
+ msgid "Do not automatically append the slug"
 
 
 
130
  msgstr ""
 
131
 
132
+ #: includes/core/permalink-manager-admin-functions.php:418
133
+ msgid "Show additional settings"
134
+ msgstr ""
135
 
136
+ #: includes/core/permalink-manager-admin-functions.php:564
137
+ msgid "Donate"
138
+ msgstr "寄付"
 
139
 
140
+ #: includes/core/permalink-manager-admin-functions.php:565
141
+ msgid "by Maciej Bis"
142
+ msgstr "by Maciej Bis"
143
 
144
+ #: includes/core/permalink-manager-admin-functions.php:577
145
+ msgid "Upgrade to PRO"
146
+ msgstr ""
147
 
148
+ #: includes/core/permalink-manager-admin-functions.php:644
149
+ #: includes/core/permalink-manager-admin-functions.php:671
150
+ msgid "Title"
151
+ msgstr "タイトル"
152
 
153
+ #: includes/core/permalink-manager-admin-functions.php:646
154
+ #: includes/core/permalink-manager-admin-functions.php:673
155
+ msgid "Old Slug"
156
+ msgstr "古いスラッグ"
157
 
158
+ #: includes/core/permalink-manager-admin-functions.php:647
159
+ #: includes/core/permalink-manager-admin-functions.php:674
160
+ msgid "New Slug"
161
+ msgstr "新しいスラッグ"
162
 
163
+ #: includes/core/permalink-manager-admin-functions.php:649
164
+ #: includes/core/permalink-manager-admin-functions.php:676
165
+ msgid "Old URI"
166
+ msgstr "古いURI"
167
 
168
+ #: includes/core/permalink-manager-admin-functions.php:650
169
+ #: includes/core/permalink-manager-admin-functions.php:677
170
+ msgid "New URI"
171
+ msgstr "新しいURI"
172
 
173
+ #: includes/core/permalink-manager-admin-functions.php:671
174
+ msgid "Show more details"
175
+ msgstr "さらなる詳細を表示する"
 
176
 
177
+ #: includes/core/permalink-manager-admin-functions.php:684
178
+ msgid "List of updated items"
179
+ msgstr "更新済みのアイテムのリスト"
180
 
181
+ #: includes/core/permalink-manager-admin-functions.php:697
182
+ #, php-format
183
+ msgid "<strong class=\"updated_count\">%d</strong> slug was updated!"
184
+ msgid_plural "<strong class=\"updated_count\">%d</strong> slugs were updated!"
185
+ msgstr[0] ""
186
+ msgstr[1] ""
187
 
188
+ #: includes/core/permalink-manager-admin-functions.php:698
189
+ #, php-format
190
+ msgid "<a %s>Click here</a> to go to the list of updated slugs"
191
+ msgstr "更新されたスラッグのリストは、<a %s>ここをクリック</a> "
 
192
 
193
+ #: includes/core/permalink-manager-admin-functions.php:702
194
+ #: includes/core/permalink-manager-actions.php:107
195
+ msgid "<strong>No slugs</strong> were updated!"
196
+ msgstr "スラッグは、更新されませんでした。"
197
 
198
+ #: includes/core/permalink-manager-admin-functions.php:771
199
+ #: includes/core/permalink-manager-admin-functions.php:774
200
+ msgid "Yes"
201
+ msgstr "はい"
202
 
203
+ #: includes/core/permalink-manager-admin-functions.php:771
204
+ #: includes/core/permalink-manager-admin-functions.php:775
205
+ msgid "No"
206
+ msgstr "いいえ"
207
 
208
+ #: includes/core/permalink-manager-admin-functions.php:773
209
+ #, php-format
210
+ msgid "Use global settings [%s]"
211
+ msgstr "グローバル設定を使用する [%s]"
212
 
213
+ #: includes/core/permalink-manager-admin-functions.php:776
214
+ msgid "No (ignore this URI in bulk tools)"
215
+ msgstr ""
216
 
217
+ #: includes/core/permalink-manager-admin-functions.php:807
218
+ msgid "Close: "
219
+ msgstr "閉じる:"
220
 
221
+ #: includes/core/permalink-manager-admin-functions.php:819
222
+ msgid "The custom URI cannot be edited on frontpage."
223
+ msgstr "カスタムURIは、フロントページでは編集不可です。"
224
 
225
+ #: includes/core/permalink-manager-admin-functions.php:826
226
+ msgid ""
227
+ "If custom URI is not defined, a default URI will be set (see below). The "
228
+ "custom URI can be edited only if 'Auto-update the URI' feature is not "
229
+ "enabled."
230
+ msgstr ""
231
 
232
+ #: includes/core/permalink-manager-admin-functions.php:835
233
+ msgid "Native slug"
234
+ msgstr ""
235
 
236
+ #: includes/core/permalink-manager-admin-functions.php:836
237
+ msgid ""
238
+ "The native slug is by default automatically used in native permalinks (when "
239
+ "Permalink Manager is disabled)."
240
+ msgstr ""
241
 
242
+ #: includes/core/permalink-manager-admin-functions.php:846
243
+ msgid "Auto-update the URI"
244
+ msgstr "URIの自動更新"
245
 
246
+ #: includes/core/permalink-manager-admin-functions.php:847
247
+ msgid ""
248
+ "If enabled, the 'Current URI' field will be automatically changed to "
249
+ "'Default URI' (displayed below) after the post is saved or updated."
250
+ msgstr "有効にすると、「現在のURI」項目は投稿が更新又は保存された後に、(下記に表示された)「デフォルトURI」に自動的に変更されます。"
251
 
252
+ #: includes/core/permalink-manager-admin-functions.php:855
253
+ msgid "Default URI"
254
+ msgstr "デフォルト URI"
255
 
256
+ #: includes/core/permalink-manager-admin-functions.php:856
257
+ msgid "Restore Default URI"
258
+ msgstr ""
259
 
260
+ #: includes/core/permalink-manager-admin-functions.php:866
261
+ msgid "Automatic redirect for native URI enabled:"
262
+ msgstr "ネイティブURIの自動リダイレクトを有効にする:"
263
 
264
+ #: includes/core/permalink-manager-admin-functions.php:877
265
+ #, php-format
266
+ msgid ""
267
+ "<span><strong>Need more functionalities and dedicated support?</strong> Buy "
268
+ "Permalink Manager Pro and apply <a href=\"https://permalinkmanager.pro/buy-"
269
+ "permalink-manager-pro/\">PMLITE coupon code</a> to get 10% off.</a></span>"
270
+ msgstr ""
271
 
272
+ #: includes/core/permalink-manager-admin-functions.php:888
273
+ msgid "Save permalink"
274
+ msgstr ""
275
 
276
+ #: includes/core/permalink-manager-admin-functions.php:915
277
+ msgid "Manage redirects"
278
+ msgstr "リダイレクトを管理"
279
 
280
+ #: includes/core/permalink-manager-admin-functions.php:1011
281
+ msgid "URI is already in use, please select another one!"
282
+ msgstr "URIは既に使用済みです。他をお選び下さい。"
283
 
284
+ #: includes/core/permalink-manager-admin-functions.php:1060
285
+ #, php-format
286
+ msgid ""
287
+ "This functionality is available only in <a href=\"%s\" target=\"_blank\">"
288
+ "Permalink Manager Pro</a>."
289
+ msgstr "この機能は、パーマリンク マネージャー Proのみ利用可能です。"
290
 
291
+ #: includes/core/permalink-manager-pro-functions.php:120
292
+ #: includes/core/permalink-manager-pro-functions.php:146
293
+ #, php-format
294
  msgid ""
295
+ "Please paste the licence key to access all Permalink Manager Pro updates & "
296
+ "features <a href=\"%s\" target=\"_blank\">on this page</a>."
297
  msgstr ""
 
298
 
299
+ #: includes/core/permalink-manager-pro-functions.php:125
300
+ msgid ""
301
+ "Expiration date could not be downloaded at this moment. Please try again in "
302
+ "a few minutes."
303
+ msgstr ""
304
 
305
+ #: includes/core/permalink-manager-pro-functions.php:130
306
+ msgid "Your Permalink Manager Pro licence key is invalid!"
307
+ msgstr ""
308
 
309
+ #: includes/core/permalink-manager-pro-functions.php:135
310
+ #, php-format
311
+ msgid ""
312
+ "Your Permalink Manager Pro licence key expired! To restore access to plugin "
313
+ "updates & technical support please go to <a href=\"%s\" target=\"_blank\">"
314
+ "this page</a>."
315
+ msgstr ""
316
 
317
+ #: includes/core/permalink-manager-pro-functions.php:140
318
+ msgid "You own a lifetime licence key."
319
+ msgstr "あなたは、永久ライセンスキーをお持ちです。"
 
320
 
321
+ #: includes/core/permalink-manager-pro-functions.php:143
322
+ #, php-format
323
+ msgid ""
324
+ "Your licence key is valid until %s.<br />To prolong it please go to <a "
325
+ "href=\"%s\" target=\"_blank\">this page</a> for more information."
326
+ msgstr ""
327
 
328
+ #: includes/core/permalink-manager-pro-functions.php:168
329
+ msgid "Arabic"
330
+ msgstr "アラビア語"
331
 
332
+ #: includes/core/permalink-manager-pro-functions.php:169
333
+ msgid "Chinese"
334
+ msgstr "中国語"
 
335
 
336
+ #: includes/core/permalink-manager-pro-functions.php:170
337
+ msgid "Danish"
338
+ msgstr "デンマーク語"
339
 
340
+ #: includes/core/permalink-manager-pro-functions.php:171
341
+ msgid "Dutch"
342
+ msgstr "ドイツ語"
343
 
344
+ #: includes/core/permalink-manager-pro-functions.php:172
345
+ msgid "English"
346
+ msgstr "英語"
347
 
348
+ #: includes/core/permalink-manager-pro-functions.php:173
349
+ msgid "Finnish"
350
+ msgstr "フィンランド語"
351
 
352
+ #: includes/core/permalink-manager-pro-functions.php:174
353
+ msgid "French"
354
+ msgstr "フランス語"
355
 
356
+ #: includes/core/permalink-manager-pro-functions.php:175
357
+ msgid "German"
358
+ msgstr "ドイツ語"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
359
 
360
+ #: includes/core/permalink-manager-pro-functions.php:176
361
+ msgid "Hebrew"
362
+ msgstr "ヘブライ語"
 
363
 
364
+ #: includes/core/permalink-manager-pro-functions.php:177
365
+ msgid "Hindi"
366
+ msgstr "ヒンディー語"
 
367
 
368
+ #: includes/core/permalink-manager-pro-functions.php:178
369
+ msgid "Italian"
370
+ msgstr "イタリア語"
 
371
 
372
+ #: includes/core/permalink-manager-pro-functions.php:179
373
+ msgid "Japanese"
374
+ msgstr "日本語"
 
375
 
376
+ #: includes/core/permalink-manager-pro-functions.php:180
377
+ msgid "Korean"
378
+ msgstr "韓国語"
 
 
 
 
379
 
380
+ #: includes/core/permalink-manager-pro-functions.php:181
381
+ msgid "Norwegian"
382
+ msgstr "ノルウェー語"
 
 
383
 
384
+ #: includes/core/permalink-manager-pro-functions.php:182
385
+ msgid "Persian"
386
+ msgstr "ペルシア語"
387
 
388
+ #: includes/core/permalink-manager-pro-functions.php:183
389
+ msgid "Polish"
390
+ msgstr "ポーランド語"
391
 
392
+ #: includes/core/permalink-manager-pro-functions.php:184
393
+ msgid "Portuguese"
394
+ msgstr "ポルトガル語"
395
 
396
+ #: includes/core/permalink-manager-pro-functions.php:185
397
+ msgid "Russian"
398
+ msgstr "ロシア語"
399
 
400
+ #: includes/core/permalink-manager-pro-functions.php:186
401
+ msgid "Spanish"
402
+ msgstr "スペイン語"
403
 
404
+ #: includes/core/permalink-manager-pro-functions.php:187
405
+ msgid "Swedish"
406
+ msgstr "スウェーデン語"
407
 
408
+ #: includes/core/permalink-manager-pro-functions.php:188
409
+ msgid "Turkish"
410
+ msgstr "トルコ語"
411
 
412
+ #: includes/core/permalink-manager-pro-functions.php:470
413
+ msgid "Coupon Link"
414
+ msgstr "クーポンリンク"
415
 
416
+ #: includes/core/permalink-manager-pro-functions.php:491
417
+ msgid "Coupon URI"
418
+ msgstr "クーポンURI"
419
 
420
+ #: includes/core/permalink-manager-pro-functions.php:492
421
  msgid ""
422
+ "The URIs are case-insensitive, eg. <strong>BLACKFRIDAY</strong> and <strong>"
423
+ "blackfriday</strong> are equivalent."
424
+ msgstr ""
425
+ "URIは、大文字・小文字は区別しません。例:<strong>BLACKFRIDAY</strong> と<strong>"
426
+ "blackfriday</strong>は、同じです。"
 
 
 
 
 
 
427
 
428
+ #: includes/core/permalink-manager-pro-functions.php:503
429
+ msgid "Coupon Full URL"
430
+ msgstr "クーポン フル URL"
 
431
 
432
+ #: includes/core/permalink-manager-actions.php:97
433
+ msgid "The settings are saved!"
434
+ msgstr "設定は、保存されました!"
435
 
436
+ #: includes/core/permalink-manager-actions.php:361
437
+ #, php-format
438
+ msgid "%d Custom URIs and %d Custom Redirects were removed!"
439
+ msgstr "%d カスタムURIと、%d カスタム リダイレクトは削除されました。"
 
440
 
441
+ #: includes/core/permalink-manager-actions.php:363
442
+ msgid "No Custom URIs or Custom Redirects were removed!"
443
+ msgstr "カスタムURIもしくはカスタム リダイレクトは、削除されませんでした!"
444
 
445
+ #: includes/core/permalink-manager-actions.php:375
446
+ msgid "You are not allowed to remove Permalink Manager data!"
447
+ msgstr ""
448
 
449
+ #: includes/core/permalink-manager-actions.php:381
450
+ msgid "Custom permalinks"
451
+ msgstr ""
452
 
453
+ #: includes/core/permalink-manager-actions.php:385
454
+ msgid "Custom redirects"
455
+ msgstr ""
456
 
457
+ #: includes/core/permalink-manager-actions.php:389
458
+ msgid "External redirects"
 
 
 
459
  msgstr ""
 
 
460
 
461
+ #: includes/core/permalink-manager-actions.php:408
462
+ #, php-format
463
+ msgid "%s were removed!"
464
+ msgstr ""
465
 
466
+ #: includes/core/permalink-manager-actions.php:549
467
+ #, php-format
468
+ msgid "URI \"%s\" was removed successfully!"
469
+ msgstr "「%s」のURIは、無事削除されました!"
470
 
471
+ #: includes/core/permalink-manager-actions.php:558
472
+ msgid "Broken redirects were removed successfully!"
473
+ msgstr "リンク切れリダイレクトは、無事削除されました!"
474
 
475
+ #: includes/core/permalink-manager-actions.php:563
476
+ msgid "URI and/or custom redirects does not exist or were already removed!"
477
+ msgstr "URIもしくはカスタムリダイレクトは、実在しないか既に削除されています!"
478
 
479
+ #: includes/core/permalink-manager-actions.php:577
480
+ msgid "The redirect was removed successfully!"
481
+ msgstr "リダイレクトは、無事削除されました!"
482
 
483
+ #: includes/core/permalink-manager-actions.php:612
484
+ msgid "Sitemaps were updated!"
485
+ msgstr "サイトマップは、更新されました!"
486
 
487
+ #: includes/views/permalink-manager-permastructs.php:15
488
+ msgid "Permastructures"
489
+ msgstr "パーマストラクチャ"
 
 
 
490
 
491
+ #: includes/views/permalink-manager-permastructs.php:31
492
+ #: includes/views/permalink-manager-tools.php:162
493
+ #: includes/views/permalink-manager-tools.php:239
494
+ msgid "Post types"
495
+ msgstr "投稿タイプ"
496
 
497
+ #: includes/views/permalink-manager-permastructs.php:36
498
+ #: includes/views/permalink-manager-tools.php:163
499
+ #: includes/views/permalink-manager-tools.php:240
500
+ msgid "Taxonomies"
501
+ msgstr "タクソノミー"
 
 
 
502
 
503
+ #: includes/views/permalink-manager-permastructs.php:46
504
+ msgid "WooCommerce"
505
+ msgstr "WooCommerce"
506
 
507
+ #: includes/views/permalink-manager-permastructs.php:74
508
+ #: includes/views/permalink-manager-pro-addons.php:189
509
+ #: includes/views/permalink-manager-pro-addons.php:222
510
+ msgid "Instructions"
511
+ msgstr "手順"
512
 
513
+ #: includes/views/permalink-manager-permastructs.php:75
514
  #, php-format
515
  msgid ""
516
+ "The current permastructures settings will be applied <strong>only to the new "
517
+ "posts & terms</strong>. To apply the <strong>new permastructures to existing "
518
+ "posts and terms</strong>, please regenerate the custom permalinks <a "
519
+ "href=\"%s\">here</a>."
520
  msgstr ""
 
 
 
 
 
 
521
 
522
+ #: includes/views/permalink-manager-permastructs.php:77
523
+ msgid "Permastructure tags"
 
 
 
524
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
525
 
526
+ #: includes/views/permalink-manager-permastructs.php:78
527
+ #, php-format
528
  msgid ""
529
+ "All allowed <a href=\"%s\" target=\"_blank\">permastructure tags</a> are "
530
+ "listed below. Please note that some of them can be used only for particular "
531
+ "post types or taxonomies."
532
  msgstr ""
 
 
 
 
 
 
533
 
534
+ #: includes/views/permalink-manager-permastructs.php:81
535
+ msgid "Save permastructures"
536
+ msgstr "パーマストラクチャを保存する"
 
 
 
 
 
 
537
 
538
+ #: includes/views/permalink-manager-uri-editor-post.php:55
539
+ msgid "Post title"
540
+ msgstr "投稿タイトル"
541
 
542
+ #: includes/views/permalink-manager-uri-editor-post.php:56
543
+ #: includes/views/permalink-manager-uri-editor-tax.php:52
544
+ msgid "Full URI & Permalink"
545
+ msgstr "全ての URIとパーマリンク"
 
 
546
 
547
+ #: includes/views/permalink-manager-uri-editor-post.php:89
548
+ msgid "Inherit (Attachment)"
549
+ msgstr "継承(添付)"
 
 
550
 
551
+ #: includes/views/permalink-manager-uri-editor-post.php:106
552
+ #: includes/views/permalink-manager-uri-editor-tax.php:95
553
+ msgid "Slug"
554
+ msgstr "スラッグ"
 
555
 
556
+ #: includes/views/permalink-manager-uri-editor-post.php:107
557
+ msgid "Post status"
558
+ msgstr "投稿状態"
 
 
 
 
 
559
 
560
+ #: includes/views/permalink-manager-uri-editor-post.php:112
561
+ #: includes/views/permalink-manager-uri-editor-tax.php:100
562
+ #: includes/views/permalink-manager-uri-editor-tax.php:100
563
+ msgid "Edit"
564
+ msgstr "編集"
565
 
566
+ #: includes/views/permalink-manager-uri-editor-post.php:113
567
+ #: includes/views/permalink-manager-uri-editor-tax.php:101
568
+ #: includes/views/permalink-manager-uri-editor-tax.php:101
569
+ msgid "View"
570
+ msgstr "見る"
571
 
572
+ #: includes/views/permalink-manager-uri-editor-post.php:141
573
+ #: includes/views/permalink-manager-uri-editor-tax.php:138
574
+ msgid "Save all the URIs below"
575
+ msgstr ""
576
 
577
+ #: includes/views/permalink-manager-uri-editor-post.php:142
578
+ #: includes/views/permalink-manager-uri-editor-tax.php:139
579
+ msgid "Save all the URIs above"
 
 
 
580
  msgstr ""
 
 
581
 
582
+ #: includes/views/permalink-manager-uri-editor-post.php:150
583
+ #: includes/views/permalink-manager-uri-editor-tax.php:147
584
+ msgid "Search"
 
 
 
 
585
  msgstr ""
 
 
 
586
 
587
+ #: includes/views/permalink-manager-uri-editor-post.php:166
588
+ msgid "All dates"
589
+ msgstr "全日付"
590
+
591
+ #: includes/views/permalink-manager-uri-editor-post.php:175
592
+ msgid "Filter"
593
+ msgstr "フィルター"
594
 
595
  #: includes/views/permalink-manager-pro-addons.php:99
596
  msgid "Support"
597
  msgstr "サポート"
598
 
 
 
 
 
 
 
 
 
 
 
 
 
599
  #: includes/views/permalink-manager-pro-addons.php:126
 
 
 
 
 
 
 
 
 
 
 
 
 
 
600
  msgid "Licence"
601
  msgstr "ライセンス"
602
 
603
+ #: includes/views/permalink-manager-pro-addons.php:132
604
  msgid "Licence key"
605
  msgstr "ライセンスキー"
606
 
607
+ #: includes/views/permalink-manager-pro-addons.php:133
608
  msgid ""
609
  "The licence key allows you to access all the plugin updates & priority "
610
  "support."
611
  msgstr "ライセンスキーを利用すると、全てのプラグインの更新と優先サポートにアクセスできます。"
612
 
613
+ #: includes/views/permalink-manager-pro-addons.php:134
614
+ msgid "Check the expiration date."
615
+ msgstr ""
616
+
617
+ #: includes/views/permalink-manager-pro-addons.php:158
618
  msgid "-- Use predefined words list --"
619
  msgstr "-- 定義済みの単語リストを使用する --"
620
 
621
+ #: includes/views/permalink-manager-pro-addons.php:161
622
  msgid "Remove all words"
623
  msgstr "全ての単語を削除する"
624
 
625
+ #: includes/views/permalink-manager-pro-addons.php:163
626
  msgid "Add the words from the list"
627
  msgstr "リストから単語を追加する"
628
 
629
+ #: includes/views/permalink-manager-pro-addons.php:171
630
  msgid "Enable \"stop words\""
631
  msgstr "「使用禁止の単語」を有効にする"
632
 
633
+ #: includes/views/permalink-manager-pro-addons.php:177
634
  msgid "\"Stop words\" list"
635
  msgstr "「使用禁止の単語」リスト"
636
 
637
+ #: includes/views/permalink-manager-pro-addons.php:181
638
  msgid "The words should be comma-separated."
639
  msgstr "単語は、カンマで区切る必要があります。"
640
 
641
+ #: includes/views/permalink-manager-pro-addons.php:190
 
 
 
 
 
642
  msgid ""
643
  "If enabled, all selected \"stop words\" will be automatically removed from "
644
  "default URIs."
645
  msgstr "有効にすると、選択された全ての「使用禁止の単語」はデフォルトのURIから、自動的に削除されます。"
646
 
647
+ #: includes/views/permalink-manager-pro-addons.php:191
648
  msgid ""
649
  "Each of the words can be removed and any new words can be added to the list. "
650
  "You can also use a predefined list (available in 21 languages)."
651
  msgstr "各単語は、リストへ追加/削除できます。また、定義済みのリスト(21の言語)も使用可能です。"
652
 
653
+ #: includes/views/permalink-manager-pro-addons.php:193
654
  msgid "Save"
655
  msgstr "保存する"
656
 
657
+ #: includes/views/permalink-manager-pro-addons.php:213
658
+ #: includes/views/permalink-manager-tools.php:34
659
+ msgid "Custom Permalinks"
660
+ msgstr "カスタム パーマリンク"
661
+
662
+ #: includes/views/permalink-manager-pro-addons.php:214
663
  msgid "Deactivate after import"
664
  msgstr "インポート後、非アクティブにする"
665
 
666
+ #: includes/views/permalink-manager-pro-addons.php:217
667
  msgid ""
668
  "If selected, \"Custom Permalinks\" plugin will be deactivated after its "
669
  "custom URIs are imported."
670
  msgstr "選択すると、カスタムURIのインポート後、「カスタムパーマリンク」プラグインが無効になります。"
671
 
672
+ #: includes/views/permalink-manager-pro-addons.php:223
673
  msgid ""
674
  "Please note that \"Custom Permalinks\" (if activated) may break the behavior "
675
  "of this plugin."
676
  msgstr "「カスタム パーマリンク」(有効にしている場合)により、本プラグインの動作が損なわれる場合があります。"
677
 
678
+ #: includes/views/permalink-manager-pro-addons.php:224
679
  msgid ""
680
  "Therefore, it is recommended to disable \"Custom Permalink\" and import old "
681
  "permalinks before using Permalink Manager Pro."
682
  msgstr ""
683
  "したがって、「カスタム パーマリンク」を無効にして、パーマリンク マネージャー Proを使用する前の古いパーマリンクのインポートを推奨します。"
684
 
685
+ #: includes/views/permalink-manager-pro-addons.php:229
686
  #, php-format
687
  msgid "Import %d URIs"
688
  msgstr "%d URIをインポートする"
689
 
690
+ #: includes/views/permalink-manager-pro-addons.php:234
691
  msgid "No custom URIs to import"
692
  msgstr "インポートするカスタムURIはありません"
693
 
694
+ #: includes/views/permalink-manager-pro-addons.php:247
695
  msgid "Technical support"
696
  msgstr "技術的サポート"
697
 
698
+ #: includes/views/permalink-manager-pro-addons.php:248
699
  #, php-format
700
  msgid ""
701
  "To find the answers on frequently asked questions and information about how "
705
  "よくある質問と一般的な問題に対する対処方法についての情報は、 <a target=\"_blank\" href=\"%s\">コチラ</a>"
706
  "の<strong>Knowledge Base</strong> をご利用下さい。(英語のみ)"
707
 
708
+ #: includes/views/permalink-manager-pro-addons.php:249
709
  msgid ""
710
  "If you still did not find the answer to your question, please send us your "
711
  "question or a detailed description of your problem/issue to <a href=\"mailto:"
714
  "ご質問に対して答えが見つからない場合は、問題の詳細又はご質問を<a href=\"mailto:support@permalinkmanager."
715
  "pro\">support@permalinkmanager.pro</a>までお送り下さい。(英語のみ)"
716
 
717
+ #: includes/views/permalink-manager-pro-addons.php:250
718
  msgid ""
719
  "To reduce the response time, please attach your licence key and if possible "
720
  "also: URL address of your website and screenshots explaining the issue."
721
  msgstr ""
722
  "ご返答までの時間を短縮するため、ライセンスキーを添付し、可能であればWebサイトのURLと問題箇所のスクリーンショットもお送り下さい。(英語のみ)"
723
 
724
+ #: includes/views/permalink-manager-pro-addons.php:252
725
  msgid "Suggestions/feedback"
726
  msgstr "ご意見 / フィードバック"
727
 
728
+ #: includes/views/permalink-manager-pro-addons.php:253
729
  msgid ""
730
  "If you would like to suggest a new functionality or leave us feedback, we "
731
  "are open to all new ideas and would be grateful for all your comments!"
732
  msgstr "新たな機能の提案やフィードバックをお送り下さい。あらゆる新しいアイデアは大歓迎であり、あなたのコメントをお送り頂ければ幸いです。"
733
 
734
+ #: includes/views/permalink-manager-pro-addons.php:254
735
  msgid ""
736
  " Please send your remarks to <a href=\"mailto:contact@permalinkmanager.pro\">"
737
  "contact@permalinkmanager.pro</a>."
739
  "<a href=\"mailto:contact@permalinkmanager.pro\">contact@permalinkmanager."
740
  "pro</a>まで、ご意見をお送り下さい。"
741
 
742
+ #: includes/views/permalink-manager-pro-addons.php:269
743
  msgid "Extra redirects (aliases)"
744
  msgstr "追加のリダイレクト(エイリアス)"
745
 
746
+ #: includes/views/permalink-manager-pro-addons.php:270
747
  msgid ""
748
  "All URIs specified below will redirect the visitors to the custom URI "
749
  "defined above in \"Current URI\" field."
750
  msgstr "以下で指定された全てのURIは、訪問者を上記の「現在のURI」フィールドで定義されたカスタムURIにリダイレクトします。"
751
 
752
+ #: includes/views/permalink-manager-pro-addons.php:276
753
  msgid "sample/custom-uri"
754
  msgstr "sample/custom-uri"
755
 
756
+ #: includes/views/permalink-manager-pro-addons.php:293
757
+ msgid "Add new redirect"
758
+ msgstr "新しいリダイレクトを追加する"
759
+
760
+ #: includes/views/permalink-manager-pro-addons.php:298
761
  #, php-format
762
  msgid ""
763
  "<strong>Please use URIs only!</strong><br />For instance, to set-up a "
766
  "<strong>URIのみご利用下さい!</strong><br />例えば、<code>%s/old-uri</code> "
767
  "のリダイレクトを設定する場合は、<code>old-uri</code> をお使い下さい。"
768
 
769
+ #: includes/views/permalink-manager-pro-addons.php:307
 
 
 
 
770
  msgid "Redirect this page to external URL"
771
  msgstr "このページを外部URLにリダイレクトする"
772
 
773
+ #: includes/views/permalink-manager-pro-addons.php:308
774
  msgid ""
775
  "If not empty, the visitors trying to access this page will be redirected to "
776
  "the URL specified below."
777
  msgstr "空白でない場合、このページにアクセスしようと試みた訪問者は、下記のURLにリダイレクトされます。"
778
 
779
+ #: includes/views/permalink-manager-pro-addons.php:312
780
  msgid "http://another-website.com/final-target-url"
781
  msgstr "http://another-website.com/final-target-url"
782
 
783
+ #: includes/views/permalink-manager-pro-addons.php:316
784
  msgid ""
785
  "<strong>Please use full URLs!</strong><br />For instance, <code>http:"
786
  "//another-website.com/final-target-url</code>."
788
  "<strong>全てのURLをお使い下さい!</strong><br />例:<code>http://another-website."
789
  "com/final-target-url</code>."
790
 
791
+ #: includes/views/permalink-manager-uri-editor.php:28
792
+ msgid "URI editor"
793
+ msgstr "URIエディター"
794
 
795
+ #: includes/views/permalink-manager-uri-editor.php:83
796
+ msgid "Apply"
797
+ msgstr "適用"
798
 
799
+ #: includes/views/permalink-manager-uri-editor.php:89
800
+ msgid "Per page"
801
+ msgstr "ページ毎"
802
 
803
+ #: includes/views/permalink-manager-uri-editor.php:94
804
+ msgid "Post statuses"
805
+ msgstr "投稿状態"
806
 
807
+ #: includes/views/permalink-manager-uri-editor-tax.php:51
808
+ msgid "Term title"
809
+ msgstr "ターム タイトル"
810
 
811
+ #: includes/views/permalink-manager-uri-editor-tax.php:53
812
+ msgid "Count"
813
+ msgstr "カウント"
814
 
815
+ #: includes/views/permalink-manager-settings.php:33
816
+ msgid "General settings"
817
+ msgstr "一般設定"
818
 
819
+ #: includes/views/permalink-manager-settings.php:39
820
+ msgid "Auto-update permalinks"
821
+ msgstr "パーマリンクの自動更新"
822
 
823
+ #: includes/views/permalink-manager-settings.php:41
824
+ msgid ""
825
+ "If enabled, the custom permalinks will be automatically updated every time "
826
+ "the post is saved or updated."
827
+ msgstr "有効にすると、カスタムパーマリンクは投稿が更新 / 保存される度に、自動的に更新されます。"
828
 
829
+ #: includes/views/permalink-manager-settings.php:45
830
+ msgid "Show \"Native slug\" field"
831
+ msgstr ""
832
 
833
+ #: includes/views/permalink-manager-settings.php:47
834
+ msgid ""
835
+ "If enabled, it would be possible to edit the native slug via URI Editor on "
836
+ "single post/term edit page."
837
+ msgstr ""
838
 
839
+ #: includes/views/permalink-manager-settings.php:51
840
+ msgid "Force 404 on non-existing pagination pages"
841
+ msgstr "実在しないページ割付のページに404を強制表示する"
842
+
843
+ #: includes/views/permalink-manager-settings.php:53
844
+ msgid ""
845
+ "If enabled, the non-existing pagination pages (for single posts) will return "
846
+ "404 (\"Not Found\") error.<br /><strong>Please disable it, if you encounter "
847
+ "any problems with pagination pages or use custom pagination system.</strong>"
848
+ msgstr ""
849
+ "有効にすると、実在しないページ割付のページ(単一投稿用)に対して、404( \"Not Found\")エラーを返します。<br /><strong>"
850
+ "ページ割付のページ、もしくは独自のページ割付システムをご利用で、なんらかの問題が生じた場合は、無効にしてください。</strong>"
851
+
852
+ #: includes/views/permalink-manager-settings.php:57
853
+ msgid "Force HTTPS in URLs"
854
+ msgstr ""
855
+
856
+ #: includes/views/permalink-manager-settings.php:59
857
+ msgid ""
858
+ "<strong>Please disable it, if you encounter any redirect loop issues."
859
+ "</strong>"
860
+ msgstr ""
861
+
862
+ #: includes/views/permalink-manager-settings.php:64
863
+ msgid "SEO functions"
864
+ msgstr "SEO機能"
865
+
866
+ #: includes/views/permalink-manager-settings.php:70
867
+ msgid "Canonical redirect"
868
+ msgstr "カノニカル リダイレクト"
869
+
870
+ #: includes/views/permalink-manager-settings.php:72
871
+ msgid ""
872
+ "This function allows Wordpress to correct the URLs used by the visitors."
873
+ msgstr "この機能は、WordPressに対して訪問者が使用したURLの修正を許可します。"
874
+
875
+ #: includes/views/permalink-manager-settings.php:76
876
+ msgid "Auto-create \"Extra Redirects\" for old version of permalinks"
877
+ msgstr ""
878
+
879
+ #: includes/views/permalink-manager-settings.php:80
880
+ msgid ""
881
+ "If enabled, the redirects will be automatially created for old custom "
882
+ "permalinks, after posts or terms URLs are changed."
883
+ msgstr ""
884
+
885
+ #: includes/views/permalink-manager-settings.php:84
886
+ msgid "Redirect"
887
+ msgstr "リダイレクト"
888
+
889
+ #: includes/views/permalink-manager-settings.php:86
890
+ msgid "Disable"
891
+ msgstr "無効"
892
+
893
+ #: includes/views/permalink-manager-settings.php:86
894
+ msgid "Enable \"301 redirect\""
895
+ msgstr "「301 リダイレクト」を有効にする"
896
+
897
+ #: includes/views/permalink-manager-settings.php:86
898
+ msgid "Enable \"302 redirect\""
899
+ msgstr "「302 リダイレクト」を有効にする"
900
+
901
+ #: includes/views/permalink-manager-settings.php:87
902
+ msgid ""
903
+ "If enabled - the visitors will be redirected from native permalinks to your "
904
+ "custom permalinks."
905
+ msgstr ""
906
+
907
+ #: includes/views/permalink-manager-settings.php:91
908
+ msgid "Trailing slashes"
909
+ msgstr "末尾のスラッシュ"
910
+
911
+ #: includes/views/permalink-manager-settings.php:93
912
+ msgid "Use default settings"
913
+ msgstr "デフォルトの設定を使用する"
914
+
915
+ #: includes/views/permalink-manager-settings.php:93
916
+ msgid "Add trailing slashes"
917
+ msgstr "末尾のスラッシュを追加する"
918
+
919
+ #: includes/views/permalink-manager-settings.php:93
920
+ msgid "Add trailing slashes (+ auto-redirect links without them)"
921
+ msgstr "末尾のスラッシュを追加する(+自動リダイレクト リンク、スラッシュあり)"
922
+
923
+ #: includes/views/permalink-manager-settings.php:93
924
+ msgid "Remove trailing slashes"
925
+ msgstr "末尾のスラッシュを削除する"
926
+
927
+ #: includes/views/permalink-manager-settings.php:93
928
+ msgid "Remove trailing slashes (+ auto-redirect links with them)"
929
+ msgstr "末尾のスラッシュを削除する(+自動リダイレクト リンク、スラッシュなし)"
930
+
931
+ #: includes/views/permalink-manager-settings.php:94
932
+ msgid ""
933
+ "This option can be used to alter the native settings and control if trailing "
934
+ "slash should be added or removed from the end of posts & terms permalinks."
935
+ msgstr ""
936
+ "このオプションは、ネイティブの設定を変更し、末尾のスラッシュを投稿・タームのパーマリンクの末尾に、追加・削除するかを制御するために使用できます。"
937
+
938
+ #: includes/views/permalink-manager-settings.php:99
939
+ msgid "Advanced settings"
940
+ msgstr "詳細設定"
941
+
942
+ #: includes/views/permalink-manager-settings.php:105
943
+ msgid "Automatically remove broken URIs"
944
+ msgstr "リンク切れURIを自動的に削除する"
945
+
946
+ #: includes/views/permalink-manager-settings.php:107
947
+ #, php-format
948
+ msgid ""
949
+ "If enabled, the custom URIs assigned to removed posts & terms will be "
950
+ "automatically removed.<br />To manually remove the duplicates please go <a "
951
+ "href=\"%s\">to this page</a>."
952
+ msgstr ""
953
+ "有効にすると、削除済みの投稿とタームが割り当てられているカスタムURIは、自動的に削除されます。<br />手動で重複を削除する場合は、<a "
954
+ "href=\"%s\">コチラ</a>で行えます。"
955
+
956
+ #: includes/views/permalink-manager-settings.php:111
957
+ msgid "Fix language mismatch"
958
+ msgstr "言語の不一致を修正する"
959
+
960
+ #: includes/views/permalink-manager-settings.php:113
961
+ msgid ""
962
+ "If enabled, the plugin will load the adjacent translation of post when the "
963
+ "custom permalink is detected, but the language code in the URL does not "
964
+ "match the language code assigned to the post/term."
965
+ msgstr ""
966
+ "有効にすると、本プラグインはカスタムパーマリンクを検出した際、投稿に用いた言語に近い翻訳を読み込みますが、投稿やタームに割当られた言語コードとURL内言語コードと一致しない場合は読み込みません。"
967
+
968
+ #: includes/views/permalink-manager-settings.php:117
969
+ msgid "Disable support for WP All Import"
970
+ msgstr ""
971
+
972
+ #: includes/views/permalink-manager-settings.php:119
973
+ msgid ""
974
+ "If checked, the custom URIs will not be assigned to the posts imported by Wp "
975
+ "All Import Pro plugin."
976
+ msgstr ""
977
+
978
+ #: includes/views/permalink-manager-settings.php:123
979
+ msgid "Filter breadcrumbs"
980
+ msgstr ""
981
+
982
+ #: includes/views/permalink-manager-settings.php:125
983
+ msgid ""
984
+ "If checked, the HTML breadcrumbs will be filtered by Permalink Manager to "
985
+ "mimic the current URL structure.<br />Works with: Yoast SEO, RankMath and "
986
+ "SEOPress breadcrumbs."
987
+ msgstr ""
988
+
989
+ #: includes/views/permalink-manager-settings.php:129
990
+ msgid "Use actual post/term titles (Force custom slugs)"
991
+ msgstr ""
992
+
993
+ #: includes/views/permalink-manager-settings.php:131
994
+ msgid "No, use native slugs"
995
+ msgstr "いいえ、ネイティブスラッグを使用する"
996
+
997
+ #: includes/views/permalink-manager-settings.php:131
998
+ msgid "Yes, use post/term titles"
999
+ msgstr "はい、投稿/ターム タイトルを使用する"
1000
+
1001
+ #: includes/views/permalink-manager-settings.php:132
1002
+ msgid ""
1003
+ "If enabled, the slugs in the default custom permalinks will be recreated "
1004
+ "from the post titles.<br />This may cause permalinks duplicates when the "
1005
+ "post or term title is used more than once."
1006
+ msgstr ""
1007
+ "有効にすると、デフォルトのカスタムパーマリンク内のスラッグは、投稿タイトルから再作成されます。<br />"
1008
+ "この設定は、投稿やタームのタイトルが複数回使用された場合、パーマリンクが重複する可能性があります。"
1009
+
1010
+ #: includes/views/permalink-manager-settings.php:136
1011
+ msgid "Strip special characters from slugs"
1012
+ msgstr ""
1013
 
1014
+ #: includes/views/permalink-manager-settings.php:138
1015
+ msgid "Yes, use native settings"
1016
+ msgstr ""
1017
 
1018
+ #: includes/views/permalink-manager-settings.php:138
1019
+ msgid "No, keep special characters (.,|_+) in the slugs"
1020
+ msgstr ""
1021
 
1022
+ #: includes/views/permalink-manager-settings.php:139
1023
+ msgid ""
1024
+ "If enabled only alphanumeric characters, underscores and dashes will be "
1025
+ "allowed for post/term slugs."
1026
+ msgstr ""
1027
 
1028
+ #: includes/views/permalink-manager-settings.php:143
1029
+ msgid "Exclude content types"
1030
+ msgstr ""
1031
 
1032
+ #: includes/views/permalink-manager-settings.php:145
1033
+ msgid ""
1034
+ "Permalink Manager will ignore and not filter the custom permalinks of all "
1035
+ "selected above post types & taxonomies."
1036
+ msgstr ""
1037
 
1038
+ #: includes/views/permalink-manager-settings.php:149
1039
+ msgid "URI Editor role capability"
1040
+ msgstr ""
1041
 
1042
+ #: includes/views/permalink-manager-settings.php:150
1043
+ msgid "Administrator (edit_theme_options)"
1044
+ msgstr ""
1045
 
1046
+ #: includes/views/permalink-manager-settings.php:150
1047
+ msgid "Editor (publish_pages)"
1048
+ msgstr ""
1049
 
1050
+ #: includes/views/permalink-manager-settings.php:150
1051
+ msgid "Author (publish_posts)"
1052
+ msgstr ""
1053
 
1054
+ #: includes/views/permalink-manager-settings.php:150
1055
+ msgid "Contributor (edit_posts)"
 
 
 
1056
  msgstr ""
 
 
1057
 
1058
+ #: includes/views/permalink-manager-settings.php:151
1059
  #, php-format
1060
  msgid ""
1061
+ "Only the users who have selected capability will be able to access URI "
1062
+ "Editor.<br />The list of capabilities <a href=\"%s\" target=\"_blank\">can "
1063
+ "be found here</a>."
1064
  msgstr ""
 
1065
 
1066
+ #: includes/views/permalink-manager-settings.php:157
1067
+ msgid "Save settings"
1068
+ msgstr "設定を保存する"
1069
 
1070
+ #: includes/views/permalink-manager-tools.php:15
1071
+ msgid "Tools"
1072
+ msgstr "ツール"
1073
 
1074
+ #: includes/views/permalink-manager-tools.php:18
1075
+ msgid "Permalink Duplicates"
1076
+ msgstr "重複したパーマリンク"
 
 
 
 
1077
 
1078
+ #: includes/views/permalink-manager-tools.php:22
1079
+ msgid "Find & Replace"
1080
+ msgstr "検索&置換"
1081
 
1082
+ #: includes/views/permalink-manager-tools.php:26
1083
+ msgid "Regenerate/Reset"
1084
+ msgstr "再作成 / リセット"
1085
 
1086
+ #: includes/views/permalink-manager-tools.php:30
1087
+ msgid "Stop Words"
1088
+ msgstr "使用禁止の単語"
1089
 
1090
+ #: includes/views/permalink-manager-tools.php:44
1091
+ msgid ""
1092
+ "<strong>A MySQL backup is highly recommended before using \"<em>Native "
1093
+ "slugs</em>\" mode!</strong>"
1094
+ msgstr ""
1095
+ "<strong>「<em>ネイティブ スラッグ</em>」モード使用される前に、MY SQLのバックアップを強く推奨します!</strong>"
1096
 
1097
+ #: includes/views/permalink-manager-tools.php:54
1098
+ msgid "List of duplicated permalinks"
1099
+ msgstr "重複したパーマリンクのリスト"
1100
 
1101
+ #: includes/views/permalink-manager-tools.php:55
1102
+ msgid "Fix custom permalinks & redirects"
1103
+ msgstr ""
 
 
 
1104
 
1105
+ #: includes/views/permalink-manager-tools.php:70
1106
+ msgid "Extra Redirect"
1107
+ msgstr "追加のリダイレクト"
 
 
 
1108
 
1109
+ #: includes/views/permalink-manager-tools.php:81
1110
+ msgid "Edit term"
1111
+ msgstr "タームの編集"
 
1112
 
1113
+ #: includes/views/permalink-manager-tools.php:84
1114
+ msgid "(Removed term)"
1115
+ msgstr "(削除されたターム)"
1116
 
1117
+ #: includes/views/permalink-manager-tools.php:85
1118
+ #: includes/views/permalink-manager-tools.php:98
1119
+ msgid "Remove broken URI"
1120
+ msgstr "リンク切れURLを削除する"
1121
 
1122
+ #: includes/views/permalink-manager-tools.php:94
1123
+ msgid "Edit post"
1124
+ msgstr "投稿の編集"
 
1125
 
1126
+ #: includes/views/permalink-manager-tools.php:97
1127
+ msgid "(Removed post)"
1128
+ msgstr "(削除された投稿)"
1129
 
1130
+ #: includes/views/permalink-manager-tools.php:120
1131
+ msgid "Congratulations! No duplicated URIs or Redirects found!"
1132
+ msgstr "おめでとうございます!重複したURIもしくはリダイレクトは、見つかりませんでした!"
 
1133
 
1134
+ #: includes/views/permalink-manager-tools.php:134
1135
+ msgid "Find ..."
1136
+ msgstr "検索"
1137
 
1138
+ #: includes/views/permalink-manager-tools.php:140
1139
+ msgid "Replace with ..."
1140
+ msgstr "置換"
1141
 
1142
+ #: includes/views/permalink-manager-tools.php:146
1143
+ #: includes/views/permalink-manager-tools.php:222
1144
+ msgid "Mode"
1145
+ msgstr "モード"
1146
 
1147
+ #: includes/views/permalink-manager-tools.php:150
1148
+ msgid "Custom URIs"
1149
+ msgstr "カスタム URI"
1150
 
1151
+ #: includes/views/permalink-manager-tools.php:151
1152
+ msgid "Native slugs"
1153
+ msgstr "ネイティブ スラッグ"
 
 
 
 
 
1154
 
1155
+ #: includes/views/permalink-manager-tools.php:155
1156
+ #: includes/views/permalink-manager-tools.php:232
1157
+ msgid "Select content type"
1158
+ msgstr "コンテンツタイプを選択する"
1159
 
1160
+ #: includes/views/permalink-manager-tools.php:167
1161
+ #: includes/views/permalink-manager-tools.php:244
1162
+ msgid "Select post types"
1163
+ msgstr "投稿タイプを選択する"
1164
 
1165
+ #: includes/views/permalink-manager-tools.php:176
1166
+ #: includes/views/permalink-manager-tools.php:253
1167
+ msgid "Select taxonomies"
1168
+ msgstr "タクソノミーを選択する"
1169
 
1170
+ #: includes/views/permalink-manager-tools.php:187
1171
+ #: includes/views/permalink-manager-tools.php:264
1172
+ msgid "Select post statuses"
1173
+ msgstr "投稿状態を選択する"
1174
 
1175
+ #: includes/views/permalink-manager-tools.php:196
1176
+ #: includes/views/permalink-manager-tools.php:273
1177
+ msgid "Select IDs"
1178
+ msgstr "IDを選択する"
1179
 
1180
+ #: includes/views/permalink-manager-tools.php:200
1181
+ #: includes/views/permalink-manager-tools.php:277
1182
  msgid ""
1183
+ "To narrow the above filters you can type the post IDs (or ranges) here. Eg. "
1184
+ "<strong>1-8, 10, 25</strong>."
1185
+ msgstr ""
1186
+ "上記のフィルターに絞りこむために、ここに投稿ID(または範囲)を入力してください。例:<strong>1-8, 10, 25</strong>."
1187
 
1188
+ #: includes/views/permalink-manager-tools.php:206
1189
+ #: includes/views/permalink-manager-tools.php:283
1190
+ msgid "Important notices"
1191
+ msgstr "重要なお知らせ"
1192
 
1193
+ #: includes/views/permalink-manager-tools.php:209
1194
+ msgid "Find and replace"
1195
+ msgstr "検索&置換"
 
1196
 
1197
+ #: includes/views/permalink-manager-tools.php:226
1198
+ msgid "Regenerate custom permalinks"
1199
+ msgstr ""
 
1200
 
1201
+ #: includes/views/permalink-manager-tools.php:227
1202
+ msgid "Regenerate native slugs"
1203
+ msgstr ""
 
1204
 
1205
+ #: includes/views/permalink-manager-tools.php:228
1206
+ msgid "Use original URLs as custom permalinks"
1207
+ msgstr ""
 
1208
 
1209
+ #: includes/views/permalink-manager-tools.php:286
1210
+ msgid "Regenerate"
1211
+ msgstr "再作成"
1212
 
1213
+ #: includes/views/permalink-manager-debug.php:14
1214
+ msgid "Debug"
1215
+ msgstr "デバッグ"
1216
 
1217
+ #: includes/views/permalink-manager-debug.php:28
1218
+ msgid "Debug data"
1219
+ msgstr "デバッグデータ"
 
1220
 
1221
+ #: includes/views/permalink-manager-debug.php:33
1222
+ msgid "List of the URIs generated by this plugin."
1223
+ msgstr "本プラグインで生成されたURIのリスト"
 
1224
 
1225
+ #: includes/views/permalink-manager-debug.php:35
1226
+ msgid "Remove all custom permalinks"
1227
+ msgstr ""
 
1228
 
1229
+ #: includes/views/permalink-manager-debug.php:37
1230
+ msgid "Array with URIs"
1231
+ msgstr "URIで配列"
1232
 
1233
+ #: includes/views/permalink-manager-debug.php:44
1234
+ msgid "List of custom redirects set-up by this plugin."
1235
+ msgstr "本プラグインによって設定されたカスタム リダイレクトのリスト"
1236
 
1237
+ #: includes/views/permalink-manager-debug.php:46
1238
+ msgid "Remove all custom redirects"
1239
+ msgstr ""
 
 
1240
 
1241
+ #: includes/views/permalink-manager-debug.php:48
1242
+ msgid "Array with redirects"
1243
+ msgstr "リダイレクトで配列"
1244
 
1245
+ #: includes/views/permalink-manager-debug.php:55
1246
+ msgid "List of external redirects set-up by this plugin."
1247
+ msgstr ""
 
 
1248
 
1249
+ #: includes/views/permalink-manager-debug.php:56
1250
+ msgid "Remove all external redirects"
1251
+ msgstr ""
1252
+
1253
+ #: includes/views/permalink-manager-debug.php:58
1254
+ msgid "Array with external redirects"
1255
+ msgstr ""
1256
 
1257
+ #: includes/views/permalink-manager-debug.php:65
1258
+ msgid "List of permastructures set-up by this plugin."
1259
+ msgstr ""
1260
 
1261
+ #: includes/views/permalink-manager-debug.php:67
1262
+ msgid "Remove all permastructures settings"
1263
+ msgstr ""
1264
 
1265
+ #: includes/views/permalink-manager-debug.php:69
1266
+ msgid "Array with permastructures"
1267
+ msgstr "パーマストラクチャで配列"
1268
 
1269
+ #: includes/views/permalink-manager-debug.php:76
1270
+ msgid "List of plugin settings."
1271
+ msgstr ""
1272
 
1273
+ #: includes/views/permalink-manager-debug.php:78
1274
+ msgid "Remove all plugin settings"
1275
+ msgstr ""
1276
+
1277
+ #: includes/views/permalink-manager-debug.php:80
1278
+ msgid "Array with settings used in this plugin."
1279
+ msgstr "プラグイン内で使用中の設定で配列"
1280
 
1281
  #. Name of the plugin
1282
  msgid "Permalink Manager Pro"
languages/permalink-manager.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: PACKAGE VERSION\n"
5
  "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2018-06-13 10:15+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
@@ -14,7 +14,7 @@ msgstr ""
14
  "Content-Transfer-Encoding: 8bit\n"
15
  "X-Generator: Loco https://localise.biz/"
16
 
17
- #: permalink-manager.php:185
18
  #, php-format
19
  msgid ""
20
  "Get access to extra features: full taxonomy and WooCommerce support, "
@@ -23,750 +23,673 @@ msgid ""
23
  "and save %s using \"%s\" coupon code!</strong> Valid until %s!"
24
  msgstr ""
25
 
26
- #: includes/views/permalink-manager-upgrade.php:16
27
- msgid "Extra features"
28
  msgstr ""
29
 
30
- #: includes/views/permalink-manager-upgrade.php:24
31
- msgid "Permalink Manager Pro extra features"
32
  msgstr ""
33
 
34
- #: includes/views/permalink-manager-upgrade.php:26
35
- msgid ""
36
- "Take full control of your permalinks! Permalink Manager Pro contains a bunch "
37
- "of useful extra functionalities!"
 
 
 
 
 
 
 
 
 
 
 
 
38
  msgstr ""
39
 
40
- #: includes/views/permalink-manager-upgrade.php:27
 
41
  msgid ""
42
- "Not certain if Permalink Manager Pro will fix your permalink problem?<br />"
43
- "Contact us at <a href=\"mailto:contact@permalinkmanager.pro\">"
44
- "contact@permalinkmanager.pro</a>!"
45
  msgstr ""
46
 
47
- #: includes/views/permalink-manager-upgrade.php:31
48
- msgid "Full Taxonomy Support"
49
  msgstr ""
50
 
51
- #: includes/views/permalink-manager-upgrade.php:32
52
- msgid ""
53
- "With Permalink Manager Pro you can easily alter the default taxonomies’ "
54
- "permastructures & edit the full permalink in all the categories, tags and "
55
- "custom taxonomies terms!"
56
  msgstr ""
57
 
58
- #: includes/views/permalink-manager-upgrade.php:33
59
- msgid ""
60
- "You can also bulk edit the taxonomies permalinks (eg. reset the native terms "
61
- "slugs) with included tools - “Find & replace” or “Regnerate/reset”"
62
  msgstr ""
63
 
64
- #: includes/views/permalink-manager-upgrade.php:36
65
- msgid "Full WooCommerce Support"
66
  msgstr ""
67
 
68
- #: includes/views/permalink-manager-upgrade.php:37
69
- msgid ""
70
- "Adjust your shop, product category, tags or single product permalinks and "
71
- "set your e-commerce URLs any way you want!"
72
  msgstr ""
73
 
74
- #: includes/views/permalink-manager-upgrade.php:38
75
- msgid ""
76
- "Remove <em>product-category</em>, <em>product-tag</em> and <em>product</em> "
77
- "or replace them with another permalink tags. Furthermore, the plugin allows "
78
- "to set completely custom permalinks for each product &#038; product "
79
- "taxonomies individually."
80
  msgstr ""
81
 
82
- #: includes/views/permalink-manager-upgrade.php:41
83
- msgid "Custom fields inside permalinks"
84
  msgstr ""
85
 
86
- #: includes/views/permalink-manager-upgrade.php:42
87
- msgid ""
88
- "Automatically embed your custom fields values inside the permalinks, by "
89
- "adding the custom field tags to the permastructures."
90
  msgstr ""
91
 
92
- #: includes/views/permalink-manager-upgrade.php:43
93
- msgid ""
94
- "This functionality is compatible with meta keys set with Advanced Custom "
95
- "Fields plugin."
96
  msgstr ""
97
 
98
- #: includes/views/permalink-manager-upgrade.php:46
99
- msgid "Extra Redirects"
100
  msgstr ""
101
 
102
- #: includes/views/permalink-manager-upgrade.php:47
103
  msgid ""
104
- "Set-up extra redirects and/or aliases for each post or term. Permalink "
105
- "Manager would also automatically create redirects for previously used custom "
106
- "permalinks."
 
107
  msgstr ""
108
 
109
- #: includes/views/permalink-manager-upgrade.php:50
110
- msgid "Import permalinks from \"Custom Permalinks\""
111
  msgstr ""
112
 
113
- #: includes/views/permalink-manager-upgrade.php:51
114
- msgid ""
115
- "Additionally, Permalink Manager Pro allows to import the custom URIs defined "
116
- "previously with \"Custom Permalinks\" plugin. "
117
  msgstr ""
118
 
119
- #: includes/views/permalink-manager-upgrade.php:54
120
- msgid "Remove \"stop words\" from permalinks"
 
 
121
  msgstr ""
122
 
123
- #: includes/views/permalink-manager-upgrade.php:55
124
- msgid ""
125
- "Set your own list of stop words or use a predefined one available in 21 "
126
- "languages. If enabled, all the words will be automatically removed from the "
127
- "default permalinks."
128
  msgstr ""
129
 
130
- #: includes/views/permalink-manager-upgrade.php:59
131
- msgid "More info about Permalink Manager Pro"
132
  msgstr ""
133
 
134
- #: includes/views/permalink-manager-upgrade.php:59
135
- #: includes/core/permalink-manager-admin-functions.php:121
136
- msgid "Buy Permalink Manager Pro"
137
  msgstr ""
138
 
139
- #: includes/views/permalink-manager-uri-editor.php:28
140
- msgid "URI editor"
141
  msgstr ""
142
 
143
- #: includes/views/permalink-manager-uri-editor.php:83
144
- msgid "Apply"
145
  msgstr ""
146
 
147
- #: includes/views/permalink-manager-uri-editor.php:89
148
- msgid "Per page"
 
149
  msgstr ""
150
 
151
- #: includes/views/permalink-manager-uri-editor.php:94
152
- msgid "Post statuses"
 
153
  msgstr ""
154
 
155
- #: includes/views/permalink-manager-uri-editor-post.php:54
156
- msgid "Post title"
 
157
  msgstr ""
158
 
159
- #: includes/views/permalink-manager-uri-editor-post.php:55
160
- #: includes/views/permalink-manager-uri-editor-tax.php:51
161
- msgid "Full URI & Permalink"
162
  msgstr ""
163
 
164
- #: includes/views/permalink-manager-uri-editor-post.php:88
165
- msgid "Inherit (Attachment)"
 
166
  msgstr ""
167
 
168
- #: includes/views/permalink-manager-uri-editor-post.php:105
169
- #: includes/views/permalink-manager-uri-editor-tax.php:94
170
- msgid "Slug"
171
  msgstr ""
172
 
173
- #: includes/views/permalink-manager-uri-editor-post.php:106
174
- msgid "Post status"
175
  msgstr ""
176
 
177
- #: includes/views/permalink-manager-uri-editor-post.php:111
178
- #: includes/views/permalink-manager-uri-editor-tax.php:99
179
- #: includes/views/permalink-manager-uri-editor-tax.php:99
180
- msgid "Edit"
 
 
 
 
 
 
181
  msgstr ""
182
 
183
- #: includes/views/permalink-manager-uri-editor-post.php:112
184
- #: includes/views/permalink-manager-uri-editor-tax.php:100
185
- #: includes/views/permalink-manager-uri-editor-tax.php:100
186
- msgid "View"
187
  msgstr ""
188
 
189
- #: includes/views/permalink-manager-uri-editor-post.php:140
190
- #: includes/views/permalink-manager-uri-editor-tax.php:137
191
- msgid "Update all the URIs below"
192
  msgstr ""
193
 
194
- #: includes/views/permalink-manager-uri-editor-post.php:141
195
- #: includes/views/permalink-manager-uri-editor-tax.php:138
196
- msgid "Update all the URIs above"
197
  msgstr ""
198
 
199
- #: includes/views/permalink-manager-uri-editor-post.php:159
200
- msgid "All dates"
 
201
  msgstr ""
202
 
203
- #: includes/views/permalink-manager-uri-editor-post.php:168
204
- msgid "Filter"
205
  msgstr ""
206
 
207
- #: includes/views/permalink-manager-debug.php:14
208
- msgid "Debug"
209
  msgstr ""
210
 
211
- #: includes/views/permalink-manager-debug.php:26
212
- msgid "Debug data"
213
  msgstr ""
214
 
215
- #: includes/views/permalink-manager-debug.php:30
216
- msgid "List of the URIs generated by this plugin."
 
 
 
217
  msgstr ""
218
 
219
- #: includes/views/permalink-manager-debug.php:31
220
- msgid "Array with URIs"
221
  msgstr ""
222
 
223
- #: includes/views/permalink-manager-debug.php:37
224
- msgid "List of custom redirects set-up by this plugin."
 
 
225
  msgstr ""
226
 
227
- #: includes/views/permalink-manager-debug.php:38
228
- msgid "Array with redirects"
229
  msgstr ""
230
 
231
- #: includes/views/permalink-manager-debug.php:44
232
- msgid "List of the permastructures."
 
 
233
  msgstr ""
234
 
235
- #: includes/views/permalink-manager-debug.php:45
236
- msgid "Array with permastructures"
237
  msgstr ""
238
 
239
- #: includes/views/permalink-manager-debug.php:51
240
- msgid "Currently used plugin settings."
241
  msgstr ""
242
 
243
- #: includes/views/permalink-manager-debug.php:52
244
- msgid "Array with settings used in this plugin."
245
  msgstr ""
246
 
247
- #: includes/views/permalink-manager-tools.php:15
248
- msgid "Tools"
 
 
 
 
249
  msgstr ""
250
 
251
- #: includes/views/permalink-manager-tools.php:18
252
- msgid "Permalink Duplicates"
253
  msgstr ""
254
 
255
- #: includes/views/permalink-manager-tools.php:22
256
- msgid "Find & Replace"
257
  msgstr ""
258
 
259
- #: includes/views/permalink-manager-tools.php:26
260
- msgid "Regenerate/Reset"
261
  msgstr ""
262
 
263
- #: includes/views/permalink-manager-tools.php:30
264
- msgid "Stop Words"
 
 
 
265
  msgstr ""
266
 
267
- #: includes/views/permalink-manager-tools.php:34
268
- #: includes/views/permalink-manager-pro-addons.php:219
269
- msgid "Custom Permalinks"
 
 
 
270
  msgstr ""
271
 
272
- #: includes/views/permalink-manager-tools.php:44
273
  msgid ""
274
- "<strong>A MySQL backup is highly recommended before using \"<em>Native "
275
- "slugs</em>\" mode!</strong>"
276
  msgstr ""
277
 
278
- #: includes/views/permalink-manager-tools.php:54
279
- msgid "List of duplicated permalinks"
280
  msgstr ""
281
 
282
- #: includes/views/permalink-manager-tools.php:55
283
- msgid "Remove all broken URIs"
 
 
 
 
284
  msgstr ""
285
 
286
- #: includes/views/permalink-manager-tools.php:70
287
- msgid "Extra Redirect"
288
  msgstr ""
289
 
290
- #: includes/views/permalink-manager-tools.php:70
291
- #: includes/core/permalink-manager-uri-functions-tax.php:476
292
- msgid "Custom URI"
 
 
293
  msgstr ""
294
 
295
- #: includes/views/permalink-manager-tools.php:81
296
- msgid "Edit term"
297
  msgstr ""
298
 
299
- #: includes/views/permalink-manager-tools.php:84
300
- msgid "(Removed term)"
301
  msgstr ""
302
 
303
- #: includes/views/permalink-manager-tools.php:85
304
- #: includes/views/permalink-manager-tools.php:98
305
- msgid "Remove broken URI"
306
  msgstr ""
307
 
308
- #: includes/views/permalink-manager-tools.php:94
309
- msgid "Edit post"
310
  msgstr ""
311
 
312
- #: includes/views/permalink-manager-tools.php:97
313
- msgid "(Removed post)"
314
  msgstr ""
315
 
316
- #: includes/views/permalink-manager-tools.php:120
317
- msgid "Congratulations! No duplicated URIs or Redirects found!"
318
  msgstr ""
319
 
320
- #: includes/views/permalink-manager-tools.php:134
321
- msgid "Find ..."
322
  msgstr ""
323
 
324
- #: includes/views/permalink-manager-tools.php:140
325
- msgid "Replace with ..."
326
  msgstr ""
327
 
328
- #: includes/views/permalink-manager-tools.php:146
329
- #: includes/views/permalink-manager-tools.php:216
330
- msgid "Mode"
331
  msgstr ""
332
 
333
- #: includes/views/permalink-manager-tools.php:149
334
- #: includes/views/permalink-manager-tools.php:219
335
- msgid "Custom URIs"
336
  msgstr ""
337
 
338
- #: includes/views/permalink-manager-tools.php:149
339
- msgid "Native slugs"
340
  msgstr ""
341
 
342
- #: includes/views/permalink-manager-tools.php:152
343
- #: includes/views/permalink-manager-tools.php:222
344
- msgid "Select content type"
345
  msgstr ""
346
 
347
- #: includes/views/permalink-manager-tools.php:158
348
- #: includes/views/permalink-manager-tools.php:228
349
- #: includes/views/permalink-manager-permastructs.php:38
350
- msgid "Post types"
351
  msgstr ""
352
 
353
- #: includes/views/permalink-manager-tools.php:158
354
- #: includes/views/permalink-manager-tools.php:228
355
- #: includes/views/permalink-manager-permastructs.php:44
356
- msgid "Taxonomies"
357
  msgstr ""
358
 
359
- #: includes/views/permalink-manager-tools.php:161
360
- #: includes/views/permalink-manager-tools.php:231
361
- msgid "Select post types"
362
  msgstr ""
363
 
364
- #: includes/views/permalink-manager-tools.php:170
365
- #: includes/views/permalink-manager-tools.php:240
366
- msgid "Select taxonomies"
367
  msgstr ""
368
 
369
- #: includes/views/permalink-manager-tools.php:181
370
- #: includes/views/permalink-manager-tools.php:251
371
- msgid "Select post statuses"
372
  msgstr ""
373
 
374
- #: includes/views/permalink-manager-tools.php:190
375
- #: includes/views/permalink-manager-tools.php:260
376
- msgid "Select IDs"
377
  msgstr ""
378
 
379
- #: includes/views/permalink-manager-tools.php:194
380
- #: includes/views/permalink-manager-tools.php:264
381
- msgid ""
382
- "To narrow the above filters you can type the post IDs (or ranges) here. Eg. "
383
- "<strong>1-8, 10, 25</strong>."
384
  msgstr ""
385
 
386
- #: includes/views/permalink-manager-tools.php:200
387
- #: includes/views/permalink-manager-tools.php:270
388
- #: includes/views/permalink-manager-permastructs.php:99
389
- msgid "Important notices"
390
  msgstr ""
391
 
392
- #: includes/views/permalink-manager-tools.php:203
393
- msgid "Find and replace"
394
  msgstr ""
395
 
396
- #: includes/views/permalink-manager-tools.php:219
397
- msgid "Restore native slugs"
398
  msgstr ""
399
 
400
- #: includes/views/permalink-manager-tools.php:219
401
- msgid "Restore native permalinks"
402
  msgstr ""
403
 
404
- #: includes/views/permalink-manager-tools.php:273
405
- msgid "Regenerate"
 
 
406
  msgstr ""
407
 
408
- #: includes/views/permalink-manager-uri-editor-tax.php:50
409
- msgid "Term title"
410
  msgstr ""
411
 
412
- #: includes/views/permalink-manager-uri-editor-tax.php:52
413
- msgid "Count"
414
  msgstr ""
415
 
416
- #: includes/views/permalink-manager-settings.php:14
417
- msgid "Settings"
 
418
  msgstr ""
419
 
420
- #: includes/views/permalink-manager-settings.php:33
421
- msgid "General settings"
422
  msgstr ""
423
 
424
- #: includes/views/permalink-manager-settings.php:39
425
- msgid "Auto-update permalinks"
426
  msgstr ""
427
 
428
- #: includes/views/permalink-manager-settings.php:41
429
- msgid ""
430
- "If enabled, the custom permalinks will be automatically updated every time "
431
- "the post is saved or updated."
432
  msgstr ""
433
 
434
- #: includes/views/permalink-manager-settings.php:46
435
- msgid "SEO functions"
436
  msgstr ""
437
 
438
- #: includes/views/permalink-manager-settings.php:52
439
- msgid "Canonical redirect"
440
  msgstr ""
441
 
442
- #: includes/views/permalink-manager-settings.php:54
443
- msgid ""
444
- "This function allows Wordpress to correct the URLs used by the visitors."
445
  msgstr ""
446
 
447
- #: includes/views/permalink-manager-settings.php:58
448
- msgid "Auto-create \"Extra Redirects\" for old permalinks"
 
449
  msgstr ""
450
 
451
- #: includes/views/permalink-manager-settings.php:62
452
- msgid ""
453
- "If enabled, the redirects will be automatially created for old custom "
454
- "permalinks, after posts or terms are updated."
455
  msgstr ""
456
 
457
- #: includes/views/permalink-manager-settings.php:66
458
- msgid "Redirect"
459
  msgstr ""
460
 
461
- #: includes/views/permalink-manager-settings.php:68
462
- msgid "Disable"
463
  msgstr ""
464
 
465
- #: includes/views/permalink-manager-settings.php:68
466
- msgid "Enable \"301 redirect\""
467
  msgstr ""
468
 
469
- #: includes/views/permalink-manager-settings.php:68
470
- msgid "Enable \"302 redirect\""
471
  msgstr ""
472
 
473
- #: includes/views/permalink-manager-settings.php:69
474
- msgid ""
475
- "If enabled - the visitors will be redirected from native permalinks to your "
476
- "custom permalinks.<br /><strong>Only native permalinks & extra redirects "
477
- "will be redirected to new custom permalinks</strong>."
478
  msgstr ""
479
 
480
- #: includes/views/permalink-manager-settings.php:73
481
- msgid "Trailing slashes"
 
 
482
  msgstr ""
483
 
484
- #: includes/views/permalink-manager-settings.php:75
485
- msgid "Use default settings"
486
  msgstr ""
487
 
488
- #: includes/views/permalink-manager-settings.php:75
489
- msgid "Add trailing slashes"
 
 
490
  msgstr ""
491
 
492
- #: includes/views/permalink-manager-settings.php:75
493
- msgid "Add trailing slashes (+ auto-redirect links without them)"
 
 
 
 
 
494
  msgstr ""
495
 
496
- #: includes/views/permalink-manager-settings.php:75
497
- msgid "Remove trailing slashes"
498
  msgstr ""
499
 
500
- #: includes/views/permalink-manager-settings.php:75
501
- msgid "Remove trailing slashes (+ auto-redirect links with them)"
502
- msgstr ""
503
-
504
- #: includes/views/permalink-manager-settings.php:76
505
- msgid ""
506
- "This option can be used to alter the native settings and control if trailing "
507
- "slash should be added or removed from the end of posts & terms permalinks."
508
- msgstr ""
509
-
510
- #: includes/views/permalink-manager-settings.php:80
511
- msgid "Force 404 on non-existing pagination pages"
512
- msgstr ""
513
-
514
- #: includes/views/permalink-manager-settings.php:82
515
- msgid ""
516
- "If enabled, the non-existing pagination pages (for single posts) will return "
517
- "404 (\"Not Found\") error.<br /><strong>Please disable it, if you encounter "
518
- "any problems with pagination pages or use custom pagination system.</strong>"
519
- msgstr ""
520
-
521
- #: includes/views/permalink-manager-settings.php:87
522
- msgid "Advanced settings"
523
- msgstr ""
524
-
525
- #: includes/views/permalink-manager-settings.php:93
526
- msgid "Automatically remove broken URIs"
527
- msgstr ""
528
-
529
- #: includes/views/permalink-manager-settings.php:95
530
  #, php-format
531
  msgid ""
532
- "If enabled, the custom URIs assigned to removed posts & terms will be "
533
- "automatically removed.<br />To manually remove the duplicates please go <a "
534
- "href=\"%s\">to this page</a>."
535
- msgstr ""
536
-
537
- #: includes/views/permalink-manager-settings.php:99
538
- msgid "Fix language mismatch"
539
- msgstr ""
540
-
541
- #: includes/views/permalink-manager-settings.php:101
542
- msgid ""
543
- "If enabled, the plugin will load the adjacent translation of post when the "
544
- "custom permalink is detected, but the language code in the URL does not "
545
- "match the language code assigned to the post/term."
546
- msgstr ""
547
-
548
- #: includes/views/permalink-manager-settings.php:105
549
- msgid "Force custom slugs"
550
- msgstr ""
551
-
552
- #: includes/views/permalink-manager-settings.php:107
553
- msgid "No, use native slugs"
554
- msgstr ""
555
-
556
- #: includes/views/permalink-manager-settings.php:107
557
- msgid "Yes, use post/term titles"
558
- msgstr ""
559
-
560
- #: includes/views/permalink-manager-settings.php:107
561
- msgid "Yes, use post/term titles + do not strip special characters: .|-+"
562
- msgstr ""
563
-
564
- #: includes/views/permalink-manager-settings.php:108
565
- msgid ""
566
- "If enabled, the slugs in the default custom permalinks will be recreated "
567
- "from the post titles.<br />This may cause permalinks duplicates when the "
568
- "post or term title is used more than once."
569
- msgstr ""
570
-
571
- #: includes/views/permalink-manager-settings.php:112
572
- msgid "Disable Permalink Manager functionalities"
573
  msgstr ""
574
 
575
- #: includes/views/permalink-manager-settings.php:114
576
- msgid ""
577
- "Select the post types & taxonomies where the functionalities of Permalink "
578
- "Manager should be completely disabled."
579
  msgstr ""
580
 
581
- #: includes/views/permalink-manager-settings.php:120
582
- msgid "Save settings"
583
  msgstr ""
584
 
585
- #: includes/views/permalink-manager-permastructs.php:15
586
- msgid "Permastructures"
 
587
  msgstr ""
588
 
589
- #: includes/views/permalink-manager-permastructs.php:29
590
- #, php-format
591
- msgid ""
592
- "All allowed <a href=\"%s\" target=\"_blank\">structure tags</a> are listed "
593
- "below."
594
  msgstr ""
595
 
596
- #: includes/views/permalink-manager-permastructs.php:31
597
- msgid ""
598
- "Please note that some of them can be used only for particular post types "
599
- "permastructures."
600
  msgstr ""
601
 
602
- #: includes/views/permalink-manager-permastructs.php:32
603
- msgid ""
604
- "<h5>Custom fields inside permastructures <small>(Permalink Manager Pro only)"
605
- "</small></h5>"
606
  msgstr ""
607
 
608
- #: includes/views/permalink-manager-permastructs.php:33
609
- msgid ""
610
- "To use the custom fields inside the permalink, please use following tag "
611
- "<code>%__custom_field_key%</code> and replace \"<em>custom_field_key</em>\" "
612
- "with the full name of your custom field key."
613
  msgstr ""
614
 
615
- #: includes/views/permalink-manager-permastructs.php:54
616
- msgid "WooCommerce"
 
 
617
  msgstr ""
618
 
619
- #: includes/views/permalink-manager-permastructs.php:88
620
- msgid "Default permastructure"
 
621
  msgstr ""
622
 
623
- #: includes/views/permalink-manager-permastructs.php:89
624
- msgid "Restore to Default Permastructure"
 
625
  msgstr ""
626
 
627
- #: includes/views/permalink-manager-permastructs.php:100
628
- msgid ""
629
- "This tool <strong>automatically appends the slug to the end of "
630
- "permastructure</strong>, so there is no need to use them within the fields. "
631
- "To prevent the overlapping URLs problem please keep the permastructures "
632
- "unique."
633
  msgstr ""
634
 
635
- #: includes/views/permalink-manager-permastructs.php:101
636
- #, php-format
637
- msgid ""
638
- "The current permastructures settings will be applied <strong>only to the new "
639
- "posts & terms</strong>. To apply the <strong>new permastructures to old "
640
- "posts & terms</strong>, please use \"Regenerate/reset\" tool available <a "
641
- "href=\"%s\">here</a>."
642
  msgstr ""
643
 
644
- #: includes/views/permalink-manager-permastructs.php:103
645
- msgid "Save permastructures"
646
  msgstr ""
647
 
648
  #: includes/views/permalink-manager-pro-addons.php:99
649
  msgid "Support"
650
  msgstr ""
651
 
652
- #: includes/views/permalink-manager-pro-addons.php:122
653
- #, php-format
654
- msgid ""
655
- "Your licence key expired! For more information please go to <a href=\"%s\" "
656
- "target=\"_blank\">this page</a>."
657
- msgstr ""
658
-
659
- #: includes/views/permalink-manager-pro-addons.php:124
660
- msgid "You own a lifetime licence key."
661
- msgstr ""
662
-
663
  #: includes/views/permalink-manager-pro-addons.php:126
664
- #, php-format
665
- msgid ""
666
- "Your licence key is valid until %s. To prolong it please go to <a "
667
- "href=\"%s\" target=\"_blank\">this page</a> for more information."
668
- msgstr ""
669
-
670
- #: includes/views/permalink-manager-pro-addons.php:128
671
- msgid ""
672
- "Please paste the licence key to access all Permalink Manager Pro updates!"
673
- msgstr ""
674
-
675
- #: includes/views/permalink-manager-pro-addons.php:133
676
  msgid "Licence"
677
  msgstr ""
678
 
679
- #: includes/views/permalink-manager-pro-addons.php:138
680
  msgid "Licence key"
681
  msgstr ""
682
 
683
- #: includes/views/permalink-manager-pro-addons.php:139
684
  msgid ""
685
  "The licence key allows you to access all the plugin updates & priority "
686
  "support."
687
  msgstr ""
688
 
689
- #: includes/views/permalink-manager-pro-addons.php:164
 
 
 
 
690
  msgid "-- Use predefined words list --"
691
  msgstr ""
692
 
693
- #: includes/views/permalink-manager-pro-addons.php:167
694
  msgid "Remove all words"
695
  msgstr ""
696
 
697
- #: includes/views/permalink-manager-pro-addons.php:169
698
  msgid "Add the words from the list"
699
  msgstr ""
700
 
701
- #: includes/views/permalink-manager-pro-addons.php:177
702
  msgid "Enable \"stop words\""
703
  msgstr ""
704
 
705
- #: includes/views/permalink-manager-pro-addons.php:183
706
  msgid "\"Stop words\" list"
707
  msgstr ""
708
 
709
- #: includes/views/permalink-manager-pro-addons.php:187
710
  msgid "The words should be comma-separated."
711
  msgstr ""
712
 
713
- #: includes/views/permalink-manager-pro-addons.php:195
714
- #: includes/views/permalink-manager-pro-addons.php:228
715
- msgid "Instructions"
716
- msgstr ""
717
-
718
- #: includes/views/permalink-manager-pro-addons.php:196
719
  msgid ""
720
  "If enabled, all selected \"stop words\" will be automatically removed from "
721
  "default URIs."
722
  msgstr ""
723
 
724
- #: includes/views/permalink-manager-pro-addons.php:197
725
  msgid ""
726
  "Each of the words can be removed and any new words can be added to the list. "
727
  "You can also use a predefined list (available in 21 languages)."
728
  msgstr ""
729
 
730
- #: includes/views/permalink-manager-pro-addons.php:199
731
  msgid "Save"
732
  msgstr ""
733
 
734
- #: includes/views/permalink-manager-pro-addons.php:220
 
 
 
 
 
735
  msgid "Deactivate after import"
736
  msgstr ""
737
 
738
- #: includes/views/permalink-manager-pro-addons.php:223
739
  msgid ""
740
  "If selected, \"Custom Permalinks\" plugin will be deactivated after its "
741
  "custom URIs are imported."
742
  msgstr ""
743
 
744
- #: includes/views/permalink-manager-pro-addons.php:229
745
  msgid ""
746
  "Please note that \"Custom Permalinks\" (if activated) may break the behavior "
747
  "of this plugin."
748
  msgstr ""
749
 
750
- #: includes/views/permalink-manager-pro-addons.php:230
751
  msgid ""
752
  "Therefore, it is recommended to disable \"Custom Permalink\" and import old "
753
  "permalinks before using Permalink Manager Pro."
754
  msgstr ""
755
 
756
- #: includes/views/permalink-manager-pro-addons.php:235
757
  #, php-format
758
  msgid "Import %d URIs"
759
  msgstr ""
760
 
761
- #: includes/views/permalink-manager-pro-addons.php:240
762
  msgid "No custom URIs to import"
763
  msgstr ""
764
 
765
- #: includes/views/permalink-manager-pro-addons.php:253
766
  msgid "Technical support"
767
  msgstr ""
768
 
769
- #: includes/views/permalink-manager-pro-addons.php:254
770
  #, php-format
771
  msgid ""
772
  "To find the answers on frequently asked questions and information about how "
@@ -774,399 +697,558 @@ msgid ""
774
  "Base</strong> using <a target=\"_blank\" href=\"%s\">this link</a>."
775
  msgstr ""
776
 
777
- #: includes/views/permalink-manager-pro-addons.php:255
778
  msgid ""
779
  "If you still did not find the answer to your question, please send us your "
780
  "question or a detailed description of your problem/issue to <a href=\"mailto:"
781
  "support@permalinkmanager.pro\">support@permalinkmanager.pro</a>."
782
  msgstr ""
783
 
784
- #: includes/views/permalink-manager-pro-addons.php:256
785
  msgid ""
786
  "To reduce the response time, please attach your licence key and if possible "
787
  "also: URL address of your website and screenshots explaining the issue."
788
  msgstr ""
789
 
790
- #: includes/views/permalink-manager-pro-addons.php:258
791
  msgid "Suggestions/feedback"
792
  msgstr ""
793
 
794
- #: includes/views/permalink-manager-pro-addons.php:259
795
  msgid ""
796
  "If you would like to suggest a new functionality or leave us feedback, we "
797
  "are open to all new ideas and would be grateful for all your comments!"
798
  msgstr ""
799
 
800
- #: includes/views/permalink-manager-pro-addons.php:260
801
  msgid ""
802
  " Please send your remarks to <a href=\"mailto:contact@permalinkmanager.pro\">"
803
  "contact@permalinkmanager.pro</a>."
804
  msgstr ""
805
 
806
- #: includes/views/permalink-manager-pro-addons.php:275
807
  msgid "Extra redirects (aliases)"
808
  msgstr ""
809
 
810
- #: includes/views/permalink-manager-pro-addons.php:276
811
  msgid ""
812
  "All URIs specified below will redirect the visitors to the custom URI "
813
  "defined above in \"Current URI\" field."
814
  msgstr ""
815
 
816
- #: includes/views/permalink-manager-pro-addons.php:282
817
  msgid "sample/custom-uri"
818
  msgstr ""
819
 
820
- #: includes/views/permalink-manager-pro-addons.php:299
 
 
 
 
821
  #, php-format
822
  msgid ""
823
  "<strong>Please use URIs only!</strong><br />For instance, to set-up a "
824
  "redirect for <code>%s/old-uri</code> please use <code>old-uri</code>."
825
  msgstr ""
826
 
827
- #: includes/views/permalink-manager-pro-addons.php:304
828
- msgid "Add new redirect"
829
- msgstr ""
830
-
831
- #: includes/views/permalink-manager-pro-addons.php:313
832
  msgid "Redirect this page to external URL"
833
  msgstr ""
834
 
835
- #: includes/views/permalink-manager-pro-addons.php:314
836
  msgid ""
837
  "If not empty, the visitors trying to access this page will be redirected to "
838
  "the URL specified below."
839
  msgstr ""
840
 
841
- #: includes/views/permalink-manager-pro-addons.php:318
842
  msgid "http://another-website.com/final-target-url"
843
  msgstr ""
844
 
845
- #: includes/views/permalink-manager-pro-addons.php:322
846
  msgid ""
847
  "<strong>Please use full URLs!</strong><br />For instance, <code>http:"
848
  "//another-website.com/final-target-url</code>."
849
  msgstr ""
850
 
851
- #: includes/core/permalink-manager-pro-functions.php:77
852
- msgid "Arabic"
853
  msgstr ""
854
 
855
- #: includes/core/permalink-manager-pro-functions.php:78
856
- msgid "Chinese"
857
  msgstr ""
858
 
859
- #: includes/core/permalink-manager-pro-functions.php:79
860
- msgid "Danish"
861
  msgstr ""
862
 
863
- #: includes/core/permalink-manager-pro-functions.php:80
864
- msgid "Dutch"
865
  msgstr ""
866
 
867
- #: includes/core/permalink-manager-pro-functions.php:81
868
- msgid "English"
869
  msgstr ""
870
 
871
- #: includes/core/permalink-manager-pro-functions.php:82
872
- msgid "Finnish"
873
  msgstr ""
874
 
875
- #: includes/core/permalink-manager-pro-functions.php:83
876
- msgid "French"
877
  msgstr ""
878
 
879
- #: includes/core/permalink-manager-pro-functions.php:84
880
- msgid "German"
881
  msgstr ""
882
 
883
- #: includes/core/permalink-manager-pro-functions.php:85
884
- msgid "Hebrew"
 
 
885
  msgstr ""
886
 
887
- #: includes/core/permalink-manager-pro-functions.php:86
888
- msgid "Hindi"
889
  msgstr ""
890
 
891
- #: includes/core/permalink-manager-pro-functions.php:87
892
- msgid "Italian"
 
 
893
  msgstr ""
894
 
895
- #: includes/core/permalink-manager-pro-functions.php:88
896
- msgid "Japanese"
897
  msgstr ""
898
 
899
- #: includes/core/permalink-manager-pro-functions.php:89
900
- msgid "Korean"
 
 
 
901
  msgstr ""
902
 
903
- #: includes/core/permalink-manager-pro-functions.php:90
904
- msgid "Norwegian"
905
  msgstr ""
906
 
907
- #: includes/core/permalink-manager-pro-functions.php:91
908
- msgid "Persian"
 
 
909
  msgstr ""
910
 
911
- #: includes/core/permalink-manager-pro-functions.php:92
912
- msgid "Polish"
913
  msgstr ""
914
 
915
- #: includes/core/permalink-manager-pro-functions.php:93
916
- msgid "Portuguese"
917
  msgstr ""
918
 
919
- #: includes/core/permalink-manager-pro-functions.php:94
920
- msgid "Russian"
 
921
  msgstr ""
922
 
923
- #: includes/core/permalink-manager-pro-functions.php:95
924
- msgid "Spanish"
925
  msgstr ""
926
 
927
- #: includes/core/permalink-manager-pro-functions.php:96
928
- msgid "Swedish"
 
 
929
  msgstr ""
930
 
931
- #: includes/core/permalink-manager-pro-functions.php:97
932
- msgid "Turkish"
933
  msgstr ""
934
 
935
- #: includes/core/permalink-manager-pro-functions.php:147
936
- #, php-format
 
 
 
 
 
 
 
 
 
 
 
937
  msgid ""
938
- "Your Permalink Manager Pro licence key expired! For more information please "
939
- "go to <a href=\"%s\" target=\"_blank\">this page</a>."
940
  msgstr ""
941
 
942
- #: includes/core/permalink-manager-pro-functions.php:149
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
943
  #, php-format
944
  msgid ""
945
- "Please paste the licence key <a href=\"%s\">here</a> to access all Permalink "
946
- "Manager Pro updates!"
 
947
  msgstr ""
948
 
949
- #: includes/core/permalink-manager-pro-functions.php:325
950
- msgid "Coupon Link"
951
  msgstr ""
952
 
953
- #: includes/core/permalink-manager-pro-functions.php:346
954
- msgid "Coupon URI"
 
 
 
 
 
 
 
955
  msgstr ""
956
 
957
- #: includes/core/permalink-manager-pro-functions.php:347
958
  msgid ""
959
- "The URIs are case-insensitive, eg. <strong>BLACKFRIDAY</strong> and <strong>"
960
- "blackfriday</strong> are equivalent."
961
  msgstr ""
962
 
963
- #: includes/core/permalink-manager-pro-functions.php:358
964
- msgid "Coupon Full URL"
965
  msgstr ""
966
 
967
- #: includes/core/permalink-manager-third-parties.php:250
968
- msgid "Language"
 
 
 
969
  msgstr ""
970
 
971
- #: includes/core/permalink-manager-third-parties.php:357
972
- msgid "\"Custom Permalinks\" URIs were imported!"
973
  msgstr ""
974
 
975
- #: includes/core/permalink-manager-third-parties.php:360
976
- msgid "No \"Custom Permalinks\" URIs were imported!"
977
  msgstr ""
978
 
979
- #: includes/core/permalink-manager-uri-functions-tax.php:477
980
- msgid "Clear/leave the field empty to use the default permalink."
981
  msgstr ""
982
 
983
- #: includes/core/permalink-manager-uri-functions-tax.php:513
984
- #: includes/core/permalink-manager-uri-functions-post.php:626
985
- #: includes/core/permalink-manager-admin-functions.php:561
986
- #: includes/core/permalink-manager-admin-functions.php:622
987
- msgid "Current URI"
988
  msgstr ""
989
 
990
- #: includes/core/permalink-manager-actions.php:54
991
- #, php-format
992
- msgid "<strong>%d</strong> slug was updated!"
993
- msgid_plural "<strong>%d</strong> slugs were updated!"
994
- msgstr[0] ""
995
- msgstr[1] ""
996
 
997
- #: includes/core/permalink-manager-actions.php:55
998
- #, php-format
999
- msgid "<a %s>Click here</a> to go to the list of updated slugs"
1000
  msgstr ""
1001
 
1002
- #: includes/core/permalink-manager-actions.php:60
1003
- msgid "<strong>No slugs</strong> were updated!"
1004
  msgstr ""
1005
 
1006
- #: includes/core/permalink-manager-actions.php:94
1007
- msgid "The settings are saved!"
 
 
1008
  msgstr ""
1009
 
1010
- #: includes/core/permalink-manager-actions.php:191
1011
- #, php-format
1012
- msgid "%d Custom URIs and %d Custom Redirects were removed!"
1013
  msgstr ""
1014
 
1015
- #: includes/core/permalink-manager-actions.php:193
1016
- msgid "No Custom URIs or Custom Redirects were removed!"
 
 
1017
  msgstr ""
1018
 
1019
- #: includes/core/permalink-manager-actions.php:299
1020
- #, php-format
1021
- msgid "URI \"%s\" was removed successfully!"
1022
  msgstr ""
1023
 
1024
- #: includes/core/permalink-manager-actions.php:308
1025
- msgid "Broken redirects were removed successfully!"
1026
  msgstr ""
1027
 
1028
- #: includes/core/permalink-manager-actions.php:313
1029
- msgid "URI and/or custom redirects does not exist or were already removed!"
1030
  msgstr ""
1031
 
1032
- #: includes/core/permalink-manager-actions.php:327
1033
- msgid "The redirect was removed successfully!"
1034
  msgstr ""
1035
 
1036
- #: includes/core/permalink-manager-actions.php:376
1037
- msgid "Sitemaps were updated!"
1038
  msgstr ""
1039
 
1040
- #. Name of the plugin
1041
- #: includes/core/permalink-manager-admin-functions.php:83
1042
- #: includes/core/permalink-manager-admin-functions.php:557
1043
- #: includes/core/permalink-manager-admin-functions.php:602
1044
- #: includes/core/permalink-manager-admin-functions.php:607
1045
- #: includes/core/permalink-manager-admin-functions.php:608
1046
- msgid "Permalink Manager"
1047
  msgstr ""
1048
 
1049
- #: includes/core/permalink-manager-admin-functions.php:119
1050
- msgid "URI Editor"
1051
  msgstr ""
1052
 
1053
- #: includes/core/permalink-manager-admin-functions.php:198
1054
- msgid "Select all"
1055
  msgstr ""
1056
 
1057
- #: includes/core/permalink-manager-admin-functions.php:199
1058
- msgid "Unselect all"
1059
  msgstr ""
1060
 
1061
- #: includes/core/permalink-manager-admin-functions.php:407
1062
- msgid "Donate"
1063
  msgstr ""
1064
 
1065
- #: includes/core/permalink-manager-admin-functions.php:408
1066
- msgid "by Maciej Bis"
1067
  msgstr ""
1068
 
1069
- #: includes/core/permalink-manager-admin-functions.php:487
1070
- #, php-format
 
 
 
1071
  msgid ""
1072
- "This functionality is available only in <a href=\"%s\" target=\"_blank\">"
1073
- "Permalink Manager Pro</a>."
1074
  msgstr ""
1075
 
1076
- #: includes/core/permalink-manager-admin-functions.php:508
1077
- #: includes/core/permalink-manager-admin-functions.php:534
1078
- msgid "Title"
1079
  msgstr ""
1080
 
1081
- #: includes/core/permalink-manager-admin-functions.php:509
1082
- #: includes/core/permalink-manager-admin-functions.php:535
1083
- msgid "Old URI"
1084
  msgstr ""
1085
 
1086
- #: includes/core/permalink-manager-admin-functions.php:510
1087
- #: includes/core/permalink-manager-admin-functions.php:536
1088
- msgid "New URI"
1089
  msgstr ""
1090
 
1091
- #: includes/core/permalink-manager-admin-functions.php:511
1092
- #: includes/core/permalink-manager-admin-functions.php:537
1093
- msgid "Old Slug"
1094
  msgstr ""
1095
 
1096
- #: includes/core/permalink-manager-admin-functions.php:512
1097
- #: includes/core/permalink-manager-admin-functions.php:538
1098
- msgid "New Slug"
1099
  msgstr ""
1100
 
1101
- #: includes/core/permalink-manager-admin-functions.php:534
1102
- msgid "Show more details"
 
1103
  msgstr ""
1104
 
1105
- #: includes/core/permalink-manager-admin-functions.php:543
1106
- msgid "List of updated items"
1107
  msgstr ""
1108
 
1109
- #: includes/core/permalink-manager-admin-functions.php:587
1110
- #: includes/core/permalink-manager-admin-functions.php:591
1111
- msgid "Yes"
1112
  msgstr ""
1113
 
1114
- #: includes/core/permalink-manager-admin-functions.php:587
1115
- #: includes/core/permalink-manager-admin-functions.php:590
1116
- msgid "No"
1117
  msgstr ""
1118
 
1119
- #: includes/core/permalink-manager-admin-functions.php:589
1120
- #, php-format
1121
- msgid "Use global settings [%s]"
1122
  msgstr ""
1123
 
1124
- #: includes/core/permalink-manager-admin-functions.php:607
1125
- msgid "Close: "
1126
  msgstr ""
1127
 
1128
- #: includes/core/permalink-manager-admin-functions.php:616
1129
- msgid "The custom URI cannot be edited on frontpage."
 
1130
  msgstr ""
1131
 
1132
- #: includes/core/permalink-manager-admin-functions.php:623
1133
- msgid ""
1134
- "The custom URI can be edited only if 'Auto-update the URI' feature is not "
1135
- "enabled."
1136
  msgstr ""
1137
 
1138
- #: includes/core/permalink-manager-admin-functions.php:632
1139
- msgid "Auto-update the URI"
 
 
 
 
 
1140
  msgstr ""
1141
 
1142
- #: includes/core/permalink-manager-admin-functions.php:633
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1143
  msgid ""
1144
- "If enabled, the 'Current URI' field will be automatically changed to "
1145
- "'Default URI' (displayed below) after the post is saved or updated."
1146
  msgstr ""
1147
 
1148
- #: includes/core/permalink-manager-admin-functions.php:641
1149
- msgid "Default URI"
 
1150
  msgstr ""
1151
 
1152
- #: includes/core/permalink-manager-admin-functions.php:642
1153
- msgid "Restore to Default URI"
1154
  msgstr ""
1155
 
1156
- #: includes/core/permalink-manager-admin-functions.php:652
1157
- msgid "Automatic redirect for native URI enabled:"
1158
  msgstr ""
1159
 
1160
- #: includes/core/permalink-manager-admin-functions.php:681
1161
- msgid "Manage redirects"
 
 
 
 
1162
  msgstr ""
1163
 
1164
- #: includes/core/permalink-manager-admin-functions.php:682
1165
- msgid "[click to open]"
1166
  msgstr ""
1167
 
1168
- #: includes/core/permalink-manager-admin-functions.php:762
1169
- msgid "URI is already in use, please select another one!"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1170
  msgstr ""
1171
 
1172
  #. Name of the plugin
3
  msgstr ""
4
  "Project-Id-Version: PACKAGE VERSION\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2019-11-18 15:34+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
  "X-Generator: Loco https://localise.biz/"
16
 
17
+ #: permalink-manager.php:198
18
  #, php-format
19
  msgid ""
20
  "Get access to extra features: full taxonomy and WooCommerce support, "
23
  "and save %s using \"%s\" coupon code!</strong> Valid until %s!"
24
  msgstr ""
25
 
26
+ #: includes/core/permalink-manager-third-parties.php:600
27
+ msgid "\"Custom Permalinks\" URIs were imported!"
28
  msgstr ""
29
 
30
+ #: includes/core/permalink-manager-third-parties.php:603
31
+ msgid "No \"Custom Permalinks\" URIs were imported!"
32
  msgstr ""
33
 
34
+ #. Name of the plugin
35
+ #: includes/core/permalink-manager-third-parties.php:873
36
+ #: includes/core/permalink-manager-gutenberg.php:14
37
+ #: includes/core/permalink-manager-admin-functions.php:119
38
+ #: includes/core/permalink-manager-admin-functions.php:119
39
+ #: includes/core/permalink-manager-admin-functions.php:724
40
+ #: includes/core/permalink-manager-admin-functions.php:802
41
+ #: includes/core/permalink-manager-admin-functions.php:807
42
+ #: includes/core/permalink-manager-admin-functions.php:808
43
+ msgid "Permalink Manager"
44
+ msgstr ""
45
+
46
+ #: includes/core/permalink-manager-third-parties.php:877
47
+ #: includes/core/permalink-manager-uri-functions-tax.php:469
48
+ #: includes/views/permalink-manager-tools.php:70
49
+ msgid "Custom URI"
50
  msgstr ""
51
 
52
+ #: includes/core/permalink-manager-third-parties.php:878
53
+ #, php-format
54
  msgid ""
55
+ "If empty, a default permalink based on your current <a href=\"%s\" "
56
+ "target=\"_blank\">permastructure settings</a> will be used."
 
57
  msgstr ""
58
 
59
+ #: includes/core/permalink-manager-uri-functions-tax.php:470
60
+ msgid "Clear/leave the field empty to use the default permalink."
61
  msgstr ""
62
 
63
+ #: includes/core/permalink-manager-uri-functions-tax.php:502
64
+ #: includes/core/permalink-manager-admin-functions.php:728
65
+ #: includes/core/permalink-manager-admin-functions.php:825
66
+ #: includes/core/permalink-manager-uri-functions-post.php:649
67
+ msgid "Current URI"
68
  msgstr ""
69
 
70
+ #: includes/core/permalink-manager-admin-functions.php:143
71
+ msgid "Are you sure? This action cannot be undone!"
 
 
72
  msgstr ""
73
 
74
+ #: includes/core/permalink-manager-admin-functions.php:164
75
+ msgid "URI Editor"
76
  msgstr ""
77
 
78
+ #: includes/core/permalink-manager-admin-functions.php:165
79
+ #: includes/views/permalink-manager-settings.php:14
80
+ msgid "Settings"
 
81
  msgstr ""
82
 
83
+ #: includes/core/permalink-manager-admin-functions.php:177
84
+ msgid "Documentation"
 
 
 
 
85
  msgstr ""
86
 
87
+ #: includes/core/permalink-manager-admin-functions.php:181
88
+ msgid "Buy Permalink Manager Pro"
89
  msgstr ""
90
 
91
+ #: includes/core/permalink-manager-admin-functions.php:268
92
+ msgid "Select all"
 
 
93
  msgstr ""
94
 
95
+ #: includes/core/permalink-manager-admin-functions.php:269
96
+ msgid "Unselect all"
 
 
97
  msgstr ""
98
 
99
+ #: includes/core/permalink-manager-admin-functions.php:384
100
+ msgid "Permastructure translations"
101
  msgstr ""
102
 
103
+ #: includes/core/permalink-manager-admin-functions.php:385
104
  msgid ""
105
+ "If you would like to translate the permastructures and set-up different "
106
+ "permalink structure per language, please fill in the fields below. Otherwise "
107
+ "the permastructure set for default language (see field above) will be "
108
+ "applied."
109
  msgstr ""
110
 
111
+ #: includes/core/permalink-manager-admin-functions.php:402
112
+ msgid "Default permastructure"
113
  msgstr ""
114
 
115
+ #: includes/core/permalink-manager-admin-functions.php:403
116
+ msgid "Restore default permastructure"
 
 
117
  msgstr ""
118
 
119
+ #: includes/core/permalink-manager-admin-functions.php:409
120
+ #: includes/core/permalink-manager-actions.php:393
121
+ #: includes/core/permalink-manager-actions.php:397
122
+ msgid "Permastructure settings"
123
  msgstr ""
124
 
125
+ #: includes/core/permalink-manager-admin-functions.php:410
126
+ msgid "Do not automatically append the slug"
 
 
 
127
  msgstr ""
128
 
129
+ #: includes/core/permalink-manager-admin-functions.php:418
130
+ msgid "Show additional settings"
131
  msgstr ""
132
 
133
+ #: includes/core/permalink-manager-admin-functions.php:564
134
+ msgid "Donate"
 
135
  msgstr ""
136
 
137
+ #: includes/core/permalink-manager-admin-functions.php:565
138
+ msgid "by Maciej Bis"
139
  msgstr ""
140
 
141
+ #: includes/core/permalink-manager-admin-functions.php:577
142
+ msgid "Upgrade to PRO"
143
  msgstr ""
144
 
145
+ #: includes/core/permalink-manager-admin-functions.php:644
146
+ #: includes/core/permalink-manager-admin-functions.php:671
147
+ msgid "Title"
148
  msgstr ""
149
 
150
+ #: includes/core/permalink-manager-admin-functions.php:646
151
+ #: includes/core/permalink-manager-admin-functions.php:673
152
+ msgid "Old Slug"
153
  msgstr ""
154
 
155
+ #: includes/core/permalink-manager-admin-functions.php:647
156
+ #: includes/core/permalink-manager-admin-functions.php:674
157
+ msgid "New Slug"
158
  msgstr ""
159
 
160
+ #: includes/core/permalink-manager-admin-functions.php:649
161
+ #: includes/core/permalink-manager-admin-functions.php:676
162
+ msgid "Old URI"
163
  msgstr ""
164
 
165
+ #: includes/core/permalink-manager-admin-functions.php:650
166
+ #: includes/core/permalink-manager-admin-functions.php:677
167
+ msgid "New URI"
168
  msgstr ""
169
 
170
+ #: includes/core/permalink-manager-admin-functions.php:671
171
+ msgid "Show more details"
 
172
  msgstr ""
173
 
174
+ #: includes/core/permalink-manager-admin-functions.php:684
175
+ msgid "List of updated items"
176
  msgstr ""
177
 
178
+ #: includes/core/permalink-manager-admin-functions.php:697
179
+ #, php-format
180
+ msgid "<strong class=\"updated_count\">%d</strong> slug was updated!"
181
+ msgid_plural "<strong class=\"updated_count\">%d</strong> slugs were updated!"
182
+ msgstr[0] ""
183
+ msgstr[1] ""
184
+
185
+ #: includes/core/permalink-manager-admin-functions.php:698
186
+ #, php-format
187
+ msgid "<a %s>Click here</a> to go to the list of updated slugs"
188
  msgstr ""
189
 
190
+ #: includes/core/permalink-manager-admin-functions.php:702
191
+ #: includes/core/permalink-manager-actions.php:107
192
+ msgid "<strong>No slugs</strong> were updated!"
 
193
  msgstr ""
194
 
195
+ #: includes/core/permalink-manager-admin-functions.php:771
196
+ #: includes/core/permalink-manager-admin-functions.php:774
197
+ msgid "Yes"
198
  msgstr ""
199
 
200
+ #: includes/core/permalink-manager-admin-functions.php:771
201
+ #: includes/core/permalink-manager-admin-functions.php:775
202
+ msgid "No"
203
  msgstr ""
204
 
205
+ #: includes/core/permalink-manager-admin-functions.php:773
206
+ #, php-format
207
+ msgid "Use global settings [%s]"
208
  msgstr ""
209
 
210
+ #: includes/core/permalink-manager-admin-functions.php:776
211
+ msgid "No (ignore this URI in bulk tools)"
212
  msgstr ""
213
 
214
+ #: includes/core/permalink-manager-admin-functions.php:807
215
+ msgid "Close: "
216
  msgstr ""
217
 
218
+ #: includes/core/permalink-manager-admin-functions.php:819
219
+ msgid "The custom URI cannot be edited on frontpage."
220
  msgstr ""
221
 
222
+ #: includes/core/permalink-manager-admin-functions.php:826
223
+ msgid ""
224
+ "If custom URI is not defined, a default URI will be set (see below). The "
225
+ "custom URI can be edited only if 'Auto-update the URI' feature is not "
226
+ "enabled."
227
  msgstr ""
228
 
229
+ #: includes/core/permalink-manager-admin-functions.php:835
230
+ msgid "Native slug"
231
  msgstr ""
232
 
233
+ #: includes/core/permalink-manager-admin-functions.php:836
234
+ msgid ""
235
+ "The native slug is by default automatically used in native permalinks (when "
236
+ "Permalink Manager is disabled)."
237
  msgstr ""
238
 
239
+ #: includes/core/permalink-manager-admin-functions.php:846
240
+ msgid "Auto-update the URI"
241
  msgstr ""
242
 
243
+ #: includes/core/permalink-manager-admin-functions.php:847
244
+ msgid ""
245
+ "If enabled, the 'Current URI' field will be automatically changed to "
246
+ "'Default URI' (displayed below) after the post is saved or updated."
247
  msgstr ""
248
 
249
+ #: includes/core/permalink-manager-admin-functions.php:855
250
+ msgid "Default URI"
251
  msgstr ""
252
 
253
+ #: includes/core/permalink-manager-admin-functions.php:856
254
+ msgid "Restore Default URI"
255
  msgstr ""
256
 
257
+ #: includes/core/permalink-manager-admin-functions.php:866
258
+ msgid "Automatic redirect for native URI enabled:"
259
  msgstr ""
260
 
261
+ #: includes/core/permalink-manager-admin-functions.php:877
262
+ #, php-format
263
+ msgid ""
264
+ "<span><strong>Need more functionalities and dedicated support?</strong> Buy "
265
+ "Permalink Manager Pro and apply <a href=\"https://permalinkmanager.pro/buy-"
266
+ "permalink-manager-pro/\">PMLITE coupon code</a> to get 10% off.</a></span>"
267
  msgstr ""
268
 
269
+ #: includes/core/permalink-manager-admin-functions.php:888
270
+ msgid "Save permalink"
271
  msgstr ""
272
 
273
+ #: includes/core/permalink-manager-admin-functions.php:915
274
+ msgid "Manage redirects"
275
  msgstr ""
276
 
277
+ #: includes/core/permalink-manager-admin-functions.php:1011
278
+ msgid "URI is already in use, please select another one!"
279
  msgstr ""
280
 
281
+ #: includes/core/permalink-manager-admin-functions.php:1060
282
+ #, php-format
283
+ msgid ""
284
+ "This functionality is available only in <a href=\"%s\" target=\"_blank\">"
285
+ "Permalink Manager Pro</a>."
286
  msgstr ""
287
 
288
+ #: includes/core/permalink-manager-pro-functions.php:120
289
+ #: includes/core/permalink-manager-pro-functions.php:146
290
+ #, php-format
291
+ msgid ""
292
+ "Please paste the licence key to access all Permalink Manager Pro updates & "
293
+ "features <a href=\"%s\" target=\"_blank\">on this page</a>."
294
  msgstr ""
295
 
296
+ #: includes/core/permalink-manager-pro-functions.php:125
297
  msgid ""
298
+ "Expiration date could not be downloaded at this moment. Please try again in "
299
+ "a few minutes."
300
  msgstr ""
301
 
302
+ #: includes/core/permalink-manager-pro-functions.php:130
303
+ msgid "Your Permalink Manager Pro licence key is invalid!"
304
  msgstr ""
305
 
306
+ #: includes/core/permalink-manager-pro-functions.php:135
307
+ #, php-format
308
+ msgid ""
309
+ "Your Permalink Manager Pro licence key expired! To restore access to plugin "
310
+ "updates & technical support please go to <a href=\"%s\" target=\"_blank\">"
311
+ "this page</a>."
312
  msgstr ""
313
 
314
+ #: includes/core/permalink-manager-pro-functions.php:140
315
+ msgid "You own a lifetime licence key."
316
  msgstr ""
317
 
318
+ #: includes/core/permalink-manager-pro-functions.php:143
319
+ #, php-format
320
+ msgid ""
321
+ "Your licence key is valid until %s.<br />To prolong it please go to <a "
322
+ "href=\"%s\" target=\"_blank\">this page</a> for more information."
323
  msgstr ""
324
 
325
+ #: includes/core/permalink-manager-pro-functions.php:168
326
+ msgid "Arabic"
327
  msgstr ""
328
 
329
+ #: includes/core/permalink-manager-pro-functions.php:169
330
+ msgid "Chinese"
331
  msgstr ""
332
 
333
+ #: includes/core/permalink-manager-pro-functions.php:170
334
+ msgid "Danish"
 
335
  msgstr ""
336
 
337
+ #: includes/core/permalink-manager-pro-functions.php:171
338
+ msgid "Dutch"
339
  msgstr ""
340
 
341
+ #: includes/core/permalink-manager-pro-functions.php:172
342
+ msgid "English"
343
  msgstr ""
344
 
345
+ #: includes/core/permalink-manager-pro-functions.php:173
346
+ msgid "Finnish"
347
  msgstr ""
348
 
349
+ #: includes/core/permalink-manager-pro-functions.php:174
350
+ msgid "French"
351
  msgstr ""
352
 
353
+ #: includes/core/permalink-manager-pro-functions.php:175
354
+ msgid "German"
355
  msgstr ""
356
 
357
+ #: includes/core/permalink-manager-pro-functions.php:176
358
+ msgid "Hebrew"
 
359
  msgstr ""
360
 
361
+ #: includes/core/permalink-manager-pro-functions.php:177
362
+ msgid "Hindi"
 
363
  msgstr ""
364
 
365
+ #: includes/core/permalink-manager-pro-functions.php:178
366
+ msgid "Italian"
367
  msgstr ""
368
 
369
+ #: includes/core/permalink-manager-pro-functions.php:179
370
+ msgid "Japanese"
 
371
  msgstr ""
372
 
373
+ #: includes/core/permalink-manager-pro-functions.php:180
374
+ msgid "Korean"
 
 
375
  msgstr ""
376
 
377
+ #: includes/core/permalink-manager-pro-functions.php:181
378
+ msgid "Norwegian"
 
 
379
  msgstr ""
380
 
381
+ #: includes/core/permalink-manager-pro-functions.php:182
382
+ msgid "Persian"
 
383
  msgstr ""
384
 
385
+ #: includes/core/permalink-manager-pro-functions.php:183
386
+ msgid "Polish"
 
387
  msgstr ""
388
 
389
+ #: includes/core/permalink-manager-pro-functions.php:184
390
+ msgid "Portuguese"
 
391
  msgstr ""
392
 
393
+ #: includes/core/permalink-manager-pro-functions.php:185
394
+ msgid "Russian"
 
395
  msgstr ""
396
 
397
+ #: includes/core/permalink-manager-pro-functions.php:186
398
+ msgid "Spanish"
 
 
 
399
  msgstr ""
400
 
401
+ #: includes/core/permalink-manager-pro-functions.php:187
402
+ msgid "Swedish"
 
 
403
  msgstr ""
404
 
405
+ #: includes/core/permalink-manager-pro-functions.php:188
406
+ msgid "Turkish"
407
  msgstr ""
408
 
409
+ #: includes/core/permalink-manager-pro-functions.php:470
410
+ msgid "Coupon Link"
411
  msgstr ""
412
 
413
+ #: includes/core/permalink-manager-pro-functions.php:491
414
+ msgid "Coupon URI"
415
  msgstr ""
416
 
417
+ #: includes/core/permalink-manager-pro-functions.php:492
418
+ msgid ""
419
+ "The URIs are case-insensitive, eg. <strong>BLACKFRIDAY</strong> and <strong>"
420
+ "blackfriday</strong> are equivalent."
421
  msgstr ""
422
 
423
+ #: includes/core/permalink-manager-pro-functions.php:503
424
+ msgid "Coupon Full URL"
425
  msgstr ""
426
 
427
+ #: includes/core/permalink-manager-actions.php:97
428
+ msgid "The settings are saved!"
429
  msgstr ""
430
 
431
+ #: includes/core/permalink-manager-actions.php:361
432
+ #, php-format
433
+ msgid "%d Custom URIs and %d Custom Redirects were removed!"
434
  msgstr ""
435
 
436
+ #: includes/core/permalink-manager-actions.php:363
437
+ msgid "No Custom URIs or Custom Redirects were removed!"
438
  msgstr ""
439
 
440
+ #: includes/core/permalink-manager-actions.php:375
441
+ msgid "You are not allowed to remove Permalink Manager data!"
442
  msgstr ""
443
 
444
+ #: includes/core/permalink-manager-actions.php:381
445
+ msgid "Custom permalinks"
 
 
446
  msgstr ""
447
 
448
+ #: includes/core/permalink-manager-actions.php:385
449
+ msgid "Custom redirects"
450
  msgstr ""
451
 
452
+ #: includes/core/permalink-manager-actions.php:389
453
+ msgid "External redirects"
454
  msgstr ""
455
 
456
+ #: includes/core/permalink-manager-actions.php:408
457
+ #, php-format
458
+ msgid "%s were removed!"
459
  msgstr ""
460
 
461
+ #: includes/core/permalink-manager-actions.php:549
462
+ #, php-format
463
+ msgid "URI \"%s\" was removed successfully!"
464
  msgstr ""
465
 
466
+ #: includes/core/permalink-manager-actions.php:558
467
+ msgid "Broken redirects were removed successfully!"
 
 
468
  msgstr ""
469
 
470
+ #: includes/core/permalink-manager-actions.php:563
471
+ msgid "URI and/or custom redirects does not exist or were already removed!"
472
  msgstr ""
473
 
474
+ #: includes/core/permalink-manager-actions.php:577
475
+ msgid "The redirect was removed successfully!"
476
  msgstr ""
477
 
478
+ #: includes/core/permalink-manager-actions.php:612
479
+ msgid "Sitemaps were updated!"
480
  msgstr ""
481
 
482
+ #: includes/views/permalink-manager-permastructs.php:15
483
+ msgid "Permastructures"
484
  msgstr ""
485
 
486
+ #: includes/views/permalink-manager-permastructs.php:31
487
+ #: includes/views/permalink-manager-tools.php:162
488
+ #: includes/views/permalink-manager-tools.php:239
489
+ msgid "Post types"
 
490
  msgstr ""
491
 
492
+ #: includes/views/permalink-manager-permastructs.php:36
493
+ #: includes/views/permalink-manager-tools.php:163
494
+ #: includes/views/permalink-manager-tools.php:240
495
+ msgid "Taxonomies"
496
  msgstr ""
497
 
498
+ #: includes/views/permalink-manager-permastructs.php:46
499
+ msgid "WooCommerce"
500
  msgstr ""
501
 
502
+ #: includes/views/permalink-manager-permastructs.php:74
503
+ #: includes/views/permalink-manager-pro-addons.php:189
504
+ #: includes/views/permalink-manager-pro-addons.php:222
505
+ msgid "Instructions"
506
  msgstr ""
507
 
508
+ #: includes/views/permalink-manager-permastructs.php:75
509
+ #, php-format
510
+ msgid ""
511
+ "The current permastructures settings will be applied <strong>only to the new "
512
+ "posts & terms</strong>. To apply the <strong>new permastructures to existing "
513
+ "posts and terms</strong>, please regenerate the custom permalinks <a "
514
+ "href=\"%s\">here</a>."
515
  msgstr ""
516
 
517
+ #: includes/views/permalink-manager-permastructs.php:77
518
+ msgid "Permastructure tags"
519
  msgstr ""
520
 
521
+ #: includes/views/permalink-manager-permastructs.php:78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522
  #, php-format
523
  msgid ""
524
+ "All allowed <a href=\"%s\" target=\"_blank\">permastructure tags</a> are "
525
+ "listed below. Please note that some of them can be used only for particular "
526
+ "post types or taxonomies."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
527
  msgstr ""
528
 
529
+ #: includes/views/permalink-manager-permastructs.php:81
530
+ msgid "Save permastructures"
 
 
531
  msgstr ""
532
 
533
+ #: includes/views/permalink-manager-uri-editor-post.php:55
534
+ msgid "Post title"
535
  msgstr ""
536
 
537
+ #: includes/views/permalink-manager-uri-editor-post.php:56
538
+ #: includes/views/permalink-manager-uri-editor-tax.php:52
539
+ msgid "Full URI & Permalink"
540
  msgstr ""
541
 
542
+ #: includes/views/permalink-manager-uri-editor-post.php:89
543
+ msgid "Inherit (Attachment)"
 
 
 
544
  msgstr ""
545
 
546
+ #: includes/views/permalink-manager-uri-editor-post.php:106
547
+ #: includes/views/permalink-manager-uri-editor-tax.php:95
548
+ msgid "Slug"
 
549
  msgstr ""
550
 
551
+ #: includes/views/permalink-manager-uri-editor-post.php:107
552
+ msgid "Post status"
 
 
553
  msgstr ""
554
 
555
+ #: includes/views/permalink-manager-uri-editor-post.php:112
556
+ #: includes/views/permalink-manager-uri-editor-tax.php:100
557
+ #: includes/views/permalink-manager-uri-editor-tax.php:100
558
+ msgid "Edit"
 
559
  msgstr ""
560
 
561
+ #: includes/views/permalink-manager-uri-editor-post.php:113
562
+ #: includes/views/permalink-manager-uri-editor-tax.php:101
563
+ #: includes/views/permalink-manager-uri-editor-tax.php:101
564
+ msgid "View"
565
  msgstr ""
566
 
567
+ #: includes/views/permalink-manager-uri-editor-post.php:141
568
+ #: includes/views/permalink-manager-uri-editor-tax.php:138
569
+ msgid "Save all the URIs below"
570
  msgstr ""
571
 
572
+ #: includes/views/permalink-manager-uri-editor-post.php:142
573
+ #: includes/views/permalink-manager-uri-editor-tax.php:139
574
+ msgid "Save all the URIs above"
575
  msgstr ""
576
 
577
+ #: includes/views/permalink-manager-uri-editor-post.php:150
578
+ #: includes/views/permalink-manager-uri-editor-tax.php:147
579
+ msgid "Search"
 
 
 
580
  msgstr ""
581
 
582
+ #: includes/views/permalink-manager-uri-editor-post.php:166
583
+ msgid "All dates"
 
 
 
 
 
584
  msgstr ""
585
 
586
+ #: includes/views/permalink-manager-uri-editor-post.php:175
587
+ msgid "Filter"
588
  msgstr ""
589
 
590
  #: includes/views/permalink-manager-pro-addons.php:99
591
  msgid "Support"
592
  msgstr ""
593
 
 
 
 
 
 
 
 
 
 
 
 
594
  #: includes/views/permalink-manager-pro-addons.php:126
 
 
 
 
 
 
 
 
 
 
 
 
595
  msgid "Licence"
596
  msgstr ""
597
 
598
+ #: includes/views/permalink-manager-pro-addons.php:132
599
  msgid "Licence key"
600
  msgstr ""
601
 
602
+ #: includes/views/permalink-manager-pro-addons.php:133
603
  msgid ""
604
  "The licence key allows you to access all the plugin updates & priority "
605
  "support."
606
  msgstr ""
607
 
608
+ #: includes/views/permalink-manager-pro-addons.php:134
609
+ msgid "Check the expiration date."
610
+ msgstr ""
611
+
612
+ #: includes/views/permalink-manager-pro-addons.php:158
613
  msgid "-- Use predefined words list --"
614
  msgstr ""
615
 
616
+ #: includes/views/permalink-manager-pro-addons.php:161
617
  msgid "Remove all words"
618
  msgstr ""
619
 
620
+ #: includes/views/permalink-manager-pro-addons.php:163
621
  msgid "Add the words from the list"
622
  msgstr ""
623
 
624
+ #: includes/views/permalink-manager-pro-addons.php:171
625
  msgid "Enable \"stop words\""
626
  msgstr ""
627
 
628
+ #: includes/views/permalink-manager-pro-addons.php:177
629
  msgid "\"Stop words\" list"
630
  msgstr ""
631
 
632
+ #: includes/views/permalink-manager-pro-addons.php:181
633
  msgid "The words should be comma-separated."
634
  msgstr ""
635
 
636
+ #: includes/views/permalink-manager-pro-addons.php:190
 
 
 
 
 
637
  msgid ""
638
  "If enabled, all selected \"stop words\" will be automatically removed from "
639
  "default URIs."
640
  msgstr ""
641
 
642
+ #: includes/views/permalink-manager-pro-addons.php:191
643
  msgid ""
644
  "Each of the words can be removed and any new words can be added to the list. "
645
  "You can also use a predefined list (available in 21 languages)."
646
  msgstr ""
647
 
648
+ #: includes/views/permalink-manager-pro-addons.php:193
649
  msgid "Save"
650
  msgstr ""
651
 
652
+ #: includes/views/permalink-manager-pro-addons.php:213
653
+ #: includes/views/permalink-manager-tools.php:34
654
+ msgid "Custom Permalinks"
655
+ msgstr ""
656
+
657
+ #: includes/views/permalink-manager-pro-addons.php:214
658
  msgid "Deactivate after import"
659
  msgstr ""
660
 
661
+ #: includes/views/permalink-manager-pro-addons.php:217
662
  msgid ""
663
  "If selected, \"Custom Permalinks\" plugin will be deactivated after its "
664
  "custom URIs are imported."
665
  msgstr ""
666
 
667
+ #: includes/views/permalink-manager-pro-addons.php:223
668
  msgid ""
669
  "Please note that \"Custom Permalinks\" (if activated) may break the behavior "
670
  "of this plugin."
671
  msgstr ""
672
 
673
+ #: includes/views/permalink-manager-pro-addons.php:224
674
  msgid ""
675
  "Therefore, it is recommended to disable \"Custom Permalink\" and import old "
676
  "permalinks before using Permalink Manager Pro."
677
  msgstr ""
678
 
679
+ #: includes/views/permalink-manager-pro-addons.php:229
680
  #, php-format
681
  msgid "Import %d URIs"
682
  msgstr ""
683
 
684
+ #: includes/views/permalink-manager-pro-addons.php:234
685
  msgid "No custom URIs to import"
686
  msgstr ""
687
 
688
+ #: includes/views/permalink-manager-pro-addons.php:247
689
  msgid "Technical support"
690
  msgstr ""
691
 
692
+ #: includes/views/permalink-manager-pro-addons.php:248
693
  #, php-format
694
  msgid ""
695
  "To find the answers on frequently asked questions and information about how "
697
  "Base</strong> using <a target=\"_blank\" href=\"%s\">this link</a>."
698
  msgstr ""
699
 
700
+ #: includes/views/permalink-manager-pro-addons.php:249
701
  msgid ""
702
  "If you still did not find the answer to your question, please send us your "
703
  "question or a detailed description of your problem/issue to <a href=\"mailto:"
704
  "support@permalinkmanager.pro\">support@permalinkmanager.pro</a>."
705
  msgstr ""
706
 
707
+ #: includes/views/permalink-manager-pro-addons.php:250
708
  msgid ""
709
  "To reduce the response time, please attach your licence key and if possible "
710
  "also: URL address of your website and screenshots explaining the issue."
711
  msgstr ""
712
 
713
+ #: includes/views/permalink-manager-pro-addons.php:252
714
  msgid "Suggestions/feedback"
715
  msgstr ""
716
 
717
+ #: includes/views/permalink-manager-pro-addons.php:253
718
  msgid ""
719
  "If you would like to suggest a new functionality or leave us feedback, we "
720
  "are open to all new ideas and would be grateful for all your comments!"
721
  msgstr ""
722
 
723
+ #: includes/views/permalink-manager-pro-addons.php:254
724
  msgid ""
725
  " Please send your remarks to <a href=\"mailto:contact@permalinkmanager.pro\">"
726
  "contact@permalinkmanager.pro</a>."
727
  msgstr ""
728
 
729
+ #: includes/views/permalink-manager-pro-addons.php:269
730
  msgid "Extra redirects (aliases)"
731
  msgstr ""
732
 
733
+ #: includes/views/permalink-manager-pro-addons.php:270
734
  msgid ""
735
  "All URIs specified below will redirect the visitors to the custom URI "
736
  "defined above in \"Current URI\" field."
737
  msgstr ""
738
 
739
+ #: includes/views/permalink-manager-pro-addons.php:276
740
  msgid "sample/custom-uri"
741
  msgstr ""
742
 
743
+ #: includes/views/permalink-manager-pro-addons.php:293
744
+ msgid "Add new redirect"
745
+ msgstr ""
746
+
747
+ #: includes/views/permalink-manager-pro-addons.php:298
748
  #, php-format
749
  msgid ""
750
  "<strong>Please use URIs only!</strong><br />For instance, to set-up a "
751
  "redirect for <code>%s/old-uri</code> please use <code>old-uri</code>."
752
  msgstr ""
753
 
754
+ #: includes/views/permalink-manager-pro-addons.php:307
 
 
 
 
755
  msgid "Redirect this page to external URL"
756
  msgstr ""
757
 
758
+ #: includes/views/permalink-manager-pro-addons.php:308
759
  msgid ""
760
  "If not empty, the visitors trying to access this page will be redirected to "
761
  "the URL specified below."
762
  msgstr ""
763
 
764
+ #: includes/views/permalink-manager-pro-addons.php:312
765
  msgid "http://another-website.com/final-target-url"
766
  msgstr ""
767
 
768
+ #: includes/views/permalink-manager-pro-addons.php:316
769
  msgid ""
770
  "<strong>Please use full URLs!</strong><br />For instance, <code>http:"
771
  "//another-website.com/final-target-url</code>."
772
  msgstr ""
773
 
774
+ #: includes/views/permalink-manager-uri-editor.php:28
775
+ msgid "URI editor"
776
  msgstr ""
777
 
778
+ #: includes/views/permalink-manager-uri-editor.php:83
779
+ msgid "Apply"
780
  msgstr ""
781
 
782
+ #: includes/views/permalink-manager-uri-editor.php:89
783
+ msgid "Per page"
784
  msgstr ""
785
 
786
+ #: includes/views/permalink-manager-uri-editor.php:94
787
+ msgid "Post statuses"
788
  msgstr ""
789
 
790
+ #: includes/views/permalink-manager-uri-editor-tax.php:51
791
+ msgid "Term title"
792
  msgstr ""
793
 
794
+ #: includes/views/permalink-manager-uri-editor-tax.php:53
795
+ msgid "Count"
796
  msgstr ""
797
 
798
+ #: includes/views/permalink-manager-settings.php:33
799
+ msgid "General settings"
800
  msgstr ""
801
 
802
+ #: includes/views/permalink-manager-settings.php:39
803
+ msgid "Auto-update permalinks"
804
  msgstr ""
805
 
806
+ #: includes/views/permalink-manager-settings.php:41
807
+ msgid ""
808
+ "If enabled, the custom permalinks will be automatically updated every time "
809
+ "the post is saved or updated."
810
  msgstr ""
811
 
812
+ #: includes/views/permalink-manager-settings.php:45
813
+ msgid "Show \"Native slug\" field"
814
  msgstr ""
815
 
816
+ #: includes/views/permalink-manager-settings.php:47
817
+ msgid ""
818
+ "If enabled, it would be possible to edit the native slug via URI Editor on "
819
+ "single post/term edit page."
820
  msgstr ""
821
 
822
+ #: includes/views/permalink-manager-settings.php:51
823
+ msgid "Force 404 on non-existing pagination pages"
824
  msgstr ""
825
 
826
+ #: includes/views/permalink-manager-settings.php:53
827
+ msgid ""
828
+ "If enabled, the non-existing pagination pages (for single posts) will return "
829
+ "404 (\"Not Found\") error.<br /><strong>Please disable it, if you encounter "
830
+ "any problems with pagination pages or use custom pagination system.</strong>"
831
  msgstr ""
832
 
833
+ #: includes/views/permalink-manager-settings.php:57
834
+ msgid "Force HTTPS in URLs"
835
  msgstr ""
836
 
837
+ #: includes/views/permalink-manager-settings.php:59
838
+ msgid ""
839
+ "<strong>Please disable it, if you encounter any redirect loop issues."
840
+ "</strong>"
841
  msgstr ""
842
 
843
+ #: includes/views/permalink-manager-settings.php:64
844
+ msgid "SEO functions"
845
  msgstr ""
846
 
847
+ #: includes/views/permalink-manager-settings.php:70
848
+ msgid "Canonical redirect"
849
  msgstr ""
850
 
851
+ #: includes/views/permalink-manager-settings.php:72
852
+ msgid ""
853
+ "This function allows Wordpress to correct the URLs used by the visitors."
854
  msgstr ""
855
 
856
+ #: includes/views/permalink-manager-settings.php:76
857
+ msgid "Auto-create \"Extra Redirects\" for old version of permalinks"
858
  msgstr ""
859
 
860
+ #: includes/views/permalink-manager-settings.php:80
861
+ msgid ""
862
+ "If enabled, the redirects will be automatially created for old custom "
863
+ "permalinks, after posts or terms URLs are changed."
864
  msgstr ""
865
 
866
+ #: includes/views/permalink-manager-settings.php:84
867
+ msgid "Redirect"
868
  msgstr ""
869
 
870
+ #: includes/views/permalink-manager-settings.php:86
871
+ msgid "Disable"
872
+ msgstr ""
873
+
874
+ #: includes/views/permalink-manager-settings.php:86
875
+ msgid "Enable \"301 redirect\""
876
+ msgstr ""
877
+
878
+ #: includes/views/permalink-manager-settings.php:86
879
+ msgid "Enable \"302 redirect\""
880
+ msgstr ""
881
+
882
+ #: includes/views/permalink-manager-settings.php:87
883
  msgid ""
884
+ "If enabled - the visitors will be redirected from native permalinks to your "
885
+ "custom permalinks."
886
  msgstr ""
887
 
888
+ #: includes/views/permalink-manager-settings.php:91
889
+ msgid "Trailing slashes"
890
+ msgstr ""
891
+
892
+ #: includes/views/permalink-manager-settings.php:93
893
+ msgid "Use default settings"
894
+ msgstr ""
895
+
896
+ #: includes/views/permalink-manager-settings.php:93
897
+ msgid "Add trailing slashes"
898
+ msgstr ""
899
+
900
+ #: includes/views/permalink-manager-settings.php:93
901
+ msgid "Add trailing slashes (+ auto-redirect links without them)"
902
+ msgstr ""
903
+
904
+ #: includes/views/permalink-manager-settings.php:93
905
+ msgid "Remove trailing slashes"
906
+ msgstr ""
907
+
908
+ #: includes/views/permalink-manager-settings.php:93
909
+ msgid "Remove trailing slashes (+ auto-redirect links with them)"
910
+ msgstr ""
911
+
912
+ #: includes/views/permalink-manager-settings.php:94
913
+ msgid ""
914
+ "This option can be used to alter the native settings and control if trailing "
915
+ "slash should be added or removed from the end of posts & terms permalinks."
916
+ msgstr ""
917
+
918
+ #: includes/views/permalink-manager-settings.php:99
919
+ msgid "Advanced settings"
920
+ msgstr ""
921
+
922
+ #: includes/views/permalink-manager-settings.php:105
923
+ msgid "Automatically remove broken URIs"
924
+ msgstr ""
925
+
926
+ #: includes/views/permalink-manager-settings.php:107
927
  #, php-format
928
  msgid ""
929
+ "If enabled, the custom URIs assigned to removed posts & terms will be "
930
+ "automatically removed.<br />To manually remove the duplicates please go <a "
931
+ "href=\"%s\">to this page</a>."
932
  msgstr ""
933
 
934
+ #: includes/views/permalink-manager-settings.php:111
935
+ msgid "Fix language mismatch"
936
  msgstr ""
937
 
938
+ #: includes/views/permalink-manager-settings.php:113
939
+ msgid ""
940
+ "If enabled, the plugin will load the adjacent translation of post when the "
941
+ "custom permalink is detected, but the language code in the URL does not "
942
+ "match the language code assigned to the post/term."
943
+ msgstr ""
944
+
945
+ #: includes/views/permalink-manager-settings.php:117
946
+ msgid "Disable support for WP All Import"
947
  msgstr ""
948
 
949
+ #: includes/views/permalink-manager-settings.php:119
950
  msgid ""
951
+ "If checked, the custom URIs will not be assigned to the posts imported by Wp "
952
+ "All Import Pro plugin."
953
  msgstr ""
954
 
955
+ #: includes/views/permalink-manager-settings.php:123
956
+ msgid "Filter breadcrumbs"
957
  msgstr ""
958
 
959
+ #: includes/views/permalink-manager-settings.php:125
960
+ msgid ""
961
+ "If checked, the HTML breadcrumbs will be filtered by Permalink Manager to "
962
+ "mimic the current URL structure.<br />Works with: Yoast SEO, RankMath and "
963
+ "SEOPress breadcrumbs."
964
  msgstr ""
965
 
966
+ #: includes/views/permalink-manager-settings.php:129
967
+ msgid "Use actual post/term titles (Force custom slugs)"
968
  msgstr ""
969
 
970
+ #: includes/views/permalink-manager-settings.php:131
971
+ msgid "No, use native slugs"
972
  msgstr ""
973
 
974
+ #: includes/views/permalink-manager-settings.php:131
975
+ msgid "Yes, use post/term titles"
976
  msgstr ""
977
 
978
+ #: includes/views/permalink-manager-settings.php:132
979
+ msgid ""
980
+ "If enabled, the slugs in the default custom permalinks will be recreated "
981
+ "from the post titles.<br />This may cause permalinks duplicates when the "
982
+ "post or term title is used more than once."
983
  msgstr ""
984
 
985
+ #: includes/views/permalink-manager-settings.php:136
986
+ msgid "Strip special characters from slugs"
987
+ msgstr ""
 
 
 
988
 
989
+ #: includes/views/permalink-manager-settings.php:138
990
+ msgid "Yes, use native settings"
 
991
  msgstr ""
992
 
993
+ #: includes/views/permalink-manager-settings.php:138
994
+ msgid "No, keep special characters (.,|_+) in the slugs"
995
  msgstr ""
996
 
997
+ #: includes/views/permalink-manager-settings.php:139
998
+ msgid ""
999
+ "If enabled only alphanumeric characters, underscores and dashes will be "
1000
+ "allowed for post/term slugs."
1001
  msgstr ""
1002
 
1003
+ #: includes/views/permalink-manager-settings.php:143
1004
+ msgid "Exclude content types"
 
1005
  msgstr ""
1006
 
1007
+ #: includes/views/permalink-manager-settings.php:145
1008
+ msgid ""
1009
+ "Permalink Manager will ignore and not filter the custom permalinks of all "
1010
+ "selected above post types & taxonomies."
1011
  msgstr ""
1012
 
1013
+ #: includes/views/permalink-manager-settings.php:149
1014
+ msgid "URI Editor role capability"
 
1015
  msgstr ""
1016
 
1017
+ #: includes/views/permalink-manager-settings.php:150
1018
+ msgid "Administrator (edit_theme_options)"
1019
  msgstr ""
1020
 
1021
+ #: includes/views/permalink-manager-settings.php:150
1022
+ msgid "Editor (publish_pages)"
1023
  msgstr ""
1024
 
1025
+ #: includes/views/permalink-manager-settings.php:150
1026
+ msgid "Author (publish_posts)"
1027
  msgstr ""
1028
 
1029
+ #: includes/views/permalink-manager-settings.php:150
1030
+ msgid "Contributor (edit_posts)"
1031
  msgstr ""
1032
 
1033
+ #: includes/views/permalink-manager-settings.php:151
1034
+ #, php-format
1035
+ msgid ""
1036
+ "Only the users who have selected capability will be able to access URI "
1037
+ "Editor.<br />The list of capabilities <a href=\"%s\" target=\"_blank\">can "
1038
+ "be found here</a>."
 
1039
  msgstr ""
1040
 
1041
+ #: includes/views/permalink-manager-settings.php:157
1042
+ msgid "Save settings"
1043
  msgstr ""
1044
 
1045
+ #: includes/views/permalink-manager-tools.php:15
1046
+ msgid "Tools"
1047
  msgstr ""
1048
 
1049
+ #: includes/views/permalink-manager-tools.php:18
1050
+ msgid "Permalink Duplicates"
1051
  msgstr ""
1052
 
1053
+ #: includes/views/permalink-manager-tools.php:22
1054
+ msgid "Find & Replace"
1055
  msgstr ""
1056
 
1057
+ #: includes/views/permalink-manager-tools.php:26
1058
+ msgid "Regenerate/Reset"
1059
  msgstr ""
1060
 
1061
+ #: includes/views/permalink-manager-tools.php:30
1062
+ msgid "Stop Words"
1063
+ msgstr ""
1064
+
1065
+ #: includes/views/permalink-manager-tools.php:44
1066
  msgid ""
1067
+ "<strong>A MySQL backup is highly recommended before using \"<em>Native "
1068
+ "slugs</em>\" mode!</strong>"
1069
  msgstr ""
1070
 
1071
+ #: includes/views/permalink-manager-tools.php:54
1072
+ msgid "List of duplicated permalinks"
 
1073
  msgstr ""
1074
 
1075
+ #: includes/views/permalink-manager-tools.php:55
1076
+ msgid "Fix custom permalinks & redirects"
 
1077
  msgstr ""
1078
 
1079
+ #: includes/views/permalink-manager-tools.php:70
1080
+ msgid "Extra Redirect"
 
1081
  msgstr ""
1082
 
1083
+ #: includes/views/permalink-manager-tools.php:81
1084
+ msgid "Edit term"
 
1085
  msgstr ""
1086
 
1087
+ #: includes/views/permalink-manager-tools.php:84
1088
+ msgid "(Removed term)"
 
1089
  msgstr ""
1090
 
1091
+ #: includes/views/permalink-manager-tools.php:85
1092
+ #: includes/views/permalink-manager-tools.php:98
1093
+ msgid "Remove broken URI"
1094
  msgstr ""
1095
 
1096
+ #: includes/views/permalink-manager-tools.php:94
1097
+ msgid "Edit post"
1098
  msgstr ""
1099
 
1100
+ #: includes/views/permalink-manager-tools.php:97
1101
+ msgid "(Removed post)"
 
1102
  msgstr ""
1103
 
1104
+ #: includes/views/permalink-manager-tools.php:120
1105
+ msgid "Congratulations! No duplicated URIs or Redirects found!"
 
1106
  msgstr ""
1107
 
1108
+ #: includes/views/permalink-manager-tools.php:134
1109
+ msgid "Find ..."
 
1110
  msgstr ""
1111
 
1112
+ #: includes/views/permalink-manager-tools.php:140
1113
+ msgid "Replace with ..."
1114
  msgstr ""
1115
 
1116
+ #: includes/views/permalink-manager-tools.php:146
1117
+ #: includes/views/permalink-manager-tools.php:222
1118
+ msgid "Mode"
1119
  msgstr ""
1120
 
1121
+ #: includes/views/permalink-manager-tools.php:150
1122
+ msgid "Custom URIs"
 
 
1123
  msgstr ""
1124
 
1125
+ #: includes/views/permalink-manager-tools.php:151
1126
+ msgid "Native slugs"
1127
+ msgstr ""
1128
+
1129
+ #: includes/views/permalink-manager-tools.php:155
1130
+ #: includes/views/permalink-manager-tools.php:232
1131
+ msgid "Select content type"
1132
  msgstr ""
1133
 
1134
+ #: includes/views/permalink-manager-tools.php:167
1135
+ #: includes/views/permalink-manager-tools.php:244
1136
+ msgid "Select post types"
1137
+ msgstr ""
1138
+
1139
+ #: includes/views/permalink-manager-tools.php:176
1140
+ #: includes/views/permalink-manager-tools.php:253
1141
+ msgid "Select taxonomies"
1142
+ msgstr ""
1143
+
1144
+ #: includes/views/permalink-manager-tools.php:187
1145
+ #: includes/views/permalink-manager-tools.php:264
1146
+ msgid "Select post statuses"
1147
+ msgstr ""
1148
+
1149
+ #: includes/views/permalink-manager-tools.php:196
1150
+ #: includes/views/permalink-manager-tools.php:273
1151
+ msgid "Select IDs"
1152
+ msgstr ""
1153
+
1154
+ #: includes/views/permalink-manager-tools.php:200
1155
+ #: includes/views/permalink-manager-tools.php:277
1156
  msgid ""
1157
+ "To narrow the above filters you can type the post IDs (or ranges) here. Eg. "
1158
+ "<strong>1-8, 10, 25</strong>."
1159
  msgstr ""
1160
 
1161
+ #: includes/views/permalink-manager-tools.php:206
1162
+ #: includes/views/permalink-manager-tools.php:283
1163
+ msgid "Important notices"
1164
  msgstr ""
1165
 
1166
+ #: includes/views/permalink-manager-tools.php:209
1167
+ msgid "Find and replace"
1168
  msgstr ""
1169
 
1170
+ #: includes/views/permalink-manager-tools.php:226
1171
+ msgid "Regenerate custom permalinks"
1172
  msgstr ""
1173
 
1174
+ #: includes/views/permalink-manager-tools.php:227
1175
+ msgid "Regenerate native slugs"
1176
+ msgstr ""
1177
+
1178
+ #: includes/views/permalink-manager-tools.php:228
1179
+ msgid "Use original URLs as custom permalinks"
1180
  msgstr ""
1181
 
1182
+ #: includes/views/permalink-manager-tools.php:286
1183
+ msgid "Regenerate"
1184
  msgstr ""
1185
 
1186
+ #: includes/views/permalink-manager-debug.php:14
1187
+ msgid "Debug"
1188
+ msgstr ""
1189
+
1190
+ #: includes/views/permalink-manager-debug.php:28
1191
+ msgid "Debug data"
1192
+ msgstr ""
1193
+
1194
+ #: includes/views/permalink-manager-debug.php:33
1195
+ msgid "List of the URIs generated by this plugin."
1196
+ msgstr ""
1197
+
1198
+ #: includes/views/permalink-manager-debug.php:35
1199
+ msgid "Remove all custom permalinks"
1200
+ msgstr ""
1201
+
1202
+ #: includes/views/permalink-manager-debug.php:37
1203
+ msgid "Array with URIs"
1204
+ msgstr ""
1205
+
1206
+ #: includes/views/permalink-manager-debug.php:44
1207
+ msgid "List of custom redirects set-up by this plugin."
1208
+ msgstr ""
1209
+
1210
+ #: includes/views/permalink-manager-debug.php:46
1211
+ msgid "Remove all custom redirects"
1212
+ msgstr ""
1213
+
1214
+ #: includes/views/permalink-manager-debug.php:48
1215
+ msgid "Array with redirects"
1216
+ msgstr ""
1217
+
1218
+ #: includes/views/permalink-manager-debug.php:55
1219
+ msgid "List of external redirects set-up by this plugin."
1220
+ msgstr ""
1221
+
1222
+ #: includes/views/permalink-manager-debug.php:56
1223
+ msgid "Remove all external redirects"
1224
+ msgstr ""
1225
+
1226
+ #: includes/views/permalink-manager-debug.php:58
1227
+ msgid "Array with external redirects"
1228
+ msgstr ""
1229
+
1230
+ #: includes/views/permalink-manager-debug.php:65
1231
+ msgid "List of permastructures set-up by this plugin."
1232
+ msgstr ""
1233
+
1234
+ #: includes/views/permalink-manager-debug.php:67
1235
+ msgid "Remove all permastructures settings"
1236
+ msgstr ""
1237
+
1238
+ #: includes/views/permalink-manager-debug.php:69
1239
+ msgid "Array with permastructures"
1240
+ msgstr ""
1241
+
1242
+ #: includes/views/permalink-manager-debug.php:76
1243
+ msgid "List of plugin settings."
1244
+ msgstr ""
1245
+
1246
+ #: includes/views/permalink-manager-debug.php:78
1247
+ msgid "Remove all plugin settings"
1248
+ msgstr ""
1249
+
1250
+ #: includes/views/permalink-manager-debug.php:80
1251
+ msgid "Array with settings used in this plugin."
1252
  msgstr ""
1253
 
1254
  #. Name of the plugin
out/permalink-manager-admin.css CHANGED
@@ -111,7 +111,8 @@
111
  #permalink-manager .default-permalink-row,#permalink-manager .default-permastruct-row,#permalink-manager .redirects-row{color:#aaa;font-size:90%}
112
  #permalink-manager .restore-default,#permalink-manager .permastruct-toggle-button a{display:inline-block;width:100%;border-radius:0;color:#959595;text-decoration:none}
113
  #permalink-manager .restore-default{text-align:right}
114
- #permalink-manager .widefat,#permalink-manager #redirect-panel-inside,#permalink-manager #redirect-panel-inside table{width:100%!important}
 
115
  #permalink-manager .heading,#permalink-manager .heading a{margin:0;line-height:1.4;font-weight:600;text-decoration:none;color:#777}
116
  #permalink-manager.permalink-manager-edit-term .permalink-manager-edit-uri-box{display:block!important;margin:0}
117
  #permalink-manager.permalink-manager-edit-term .permalink-manager-edit-uri-box h2,.permalink-manager.postbox .heading{font-size:14px!important;padding:8px 12px;margin:0;line-height:1.4}
@@ -139,7 +140,7 @@
139
  * Redirect panel
140
  */
141
  #permalink-manager #redirect-panel-inside{display:none}
142
- #permalink-manager #redirect-panel-inside,#permalink-manager #redirect-panel-inside p{margin-top:15px;}
143
  #permalink-manager #redirect-panel-inside table{margin-bottom:10px;margin-top:-5px}
144
  #permalink-manager #redirect-panel-inside table td{padding:5px 0;width:100%}
145
  #permalink-manager #redirect-panel-inside table td a{text-decoration:none;text-align:right}
111
  #permalink-manager .default-permalink-row,#permalink-manager .default-permastruct-row,#permalink-manager .redirects-row{color:#aaa;font-size:90%}
112
  #permalink-manager .restore-default,#permalink-manager .permastruct-toggle-button a{display:inline-block;width:100%;border-radius:0;color:#959595;text-decoration:none}
113
  #permalink-manager .restore-default{text-align:right}
114
+ #permalink-manager .widefat,#permalink-manager #redirect-panel-inside,#permalink-manager #redirect-panel-inside table{width:100%!important;max-width:none;min-height:0!important;box-sizing:border-box;height:32px}
115
+ #permalink-manager textarea.widefat,#permalink-manager #redirect-panel-inside table{height:auto}
116
  #permalink-manager .heading,#permalink-manager .heading a{margin:0;line-height:1.4;font-weight:600;text-decoration:none;color:#777}
117
  #permalink-manager.permalink-manager-edit-term .permalink-manager-edit-uri-box{display:block!important;margin:0}
118
  #permalink-manager.permalink-manager-edit-term .permalink-manager-edit-uri-box h2,.permalink-manager.postbox .heading{font-size:14px!important;padding:8px 12px;margin:0;line-height:1.4}
140
  * Redirect panel
141
  */
142
  #permalink-manager #redirect-panel-inside{display:none}
143
+ #permalink-manager #redirect-panel-inside,#permalink-manager #redirect-panel-inside p{margin-top:15px;height:auto}
144
  #permalink-manager #redirect-panel-inside table{margin-bottom:10px;margin-top:-5px}
145
  #permalink-manager #redirect-panel-inside table td{padding:5px 0;width:100%}
146
  #permalink-manager #redirect-panel-inside table td a{text-decoration:none;text-align:right}
out/permalink-manager-admin.js CHANGED
@@ -23,19 +23,50 @@ jQuery(document).ready(function() {
23
  });
24
 
25
  /**
26
- * Filter by dates in "Permalink editor"
27
  */
28
- jQuery('#permalink-manager #months-filter-button').on('click', function() {
29
- var filter_name = jQuery("#months-filter-select").attr('name');
 
 
 
 
 
 
 
30
  var filter_value = jQuery("#months-filter-select").val();
31
- var url = jQuery(this).parent().data('filter-url');
32
 
33
- if(filter_name != '' && filter_value != '' && url != ''){
34
- document.location.href = url + "&" + filter_name + "=" + filter_value;
 
 
 
 
 
35
  }
 
 
 
 
 
 
 
 
 
 
 
36
  return false;
37
  });
38
 
 
 
 
 
 
 
 
 
 
39
  /**
40
  * Filter by content types in "Tools"
41
  */
@@ -202,7 +233,8 @@ jQuery(document).ready(function() {
202
  } else {
203
  jQuery(custom_uri_input).removeAttr("readonly", true);
204
  }
205
- }).trigger("change");
 
206
 
207
  /**
208
  * Restore "Default URI"
@@ -289,6 +321,10 @@ jQuery(document).ready(function() {
289
  */
290
  try {
291
  if(typeof wp !== 'undefined' && typeof wp.data !== 'undefined' && typeof wp.data.select !== 'undefined' && typeof wp.blocks !== 'undefined' && typeof wp.data.subscribe !== 'undefined') {
 
 
 
 
292
  wp.data.subscribe(function () {
293
  var isSavingPost = wp.data.select('core/editor').isSavingPost();
294
  var isAutosavingPost = wp.data.select('core/editor').isAutosavingPost();
@@ -318,12 +354,14 @@ jQuery(document).ready(function() {
318
  /**
319
  * Help tooltips
320
  */
321
- new Tippy('#permalink-manager .help_tooltip', {
322
- position: 'top-start',
323
- arrow: true,
324
- theme: 'tippy-pm',
325
- distance: 20,
326
- });
 
 
327
 
328
 
329
  /**
23
  });
24
 
25
  /**
26
+ * Confirm action
27
  */
28
+ jQuery('.pm-confirm-action').on('click', function () {
29
+ return confirm(permalink_manager.confirm);
30
+ });
31
+
32
+ /**
33
+ * Filter by dates + Search in URI Editor
34
+ */
35
+ jQuery('#permalink-manager #months-filter-button, #permalink-manager #search-submit').on('click', function(e) {
36
+ var search_value = jQuery('#permalink-manager input[name="s"]').val();
37
  var filter_value = jQuery("#months-filter-select").val();
 
38
 
39
+ var filter_url = window.location.href;
40
+
41
+ // Date filter
42
+ if(filter_url.indexOf('month=') > 1) {
43
+ filter_url = filter_url.replace(/month=([^&]+)/gm, 'month=' + filter_value);
44
+ } else if(filter_value != '') {
45
+ filter_url = filter_url + '&month=' + filter_value;
46
  }
47
+
48
+ // Search query
49
+ if(filter_url.indexOf('s=') > 1) {
50
+ filter_url = filter_url.replace(/s=([^&]+)/gm, 's=' + search_value);
51
+ } else if(search_value != '') {
52
+ filter_url = filter_url + '&s=' + search_value;
53
+ }
54
+
55
+ window.location.href = filter_url;
56
+
57
+ e.preventDefault();
58
  return false;
59
  });
60
 
61
+ jQuery('#permalink-manager #uri_editor form input[name="s"]').on('keydown keypress keyup', function(e){
62
+ if(e.keyCode == 13) {
63
+ jQuery('#permalink-manager #search-submit').trigger('click');
64
+
65
+ e.preventDefault();
66
+ return false;
67
+ }
68
+ });
69
+
70
  /**
71
  * Filter by content types in "Tools"
72
  */
233
  } else {
234
  jQuery(custom_uri_input).removeAttr("readonly", true);
235
  }
236
+ });
237
+ jQuery('select[name="auto_update_uri"]').trigger("change");
238
 
239
  /**
240
  * Restore "Default URI"
321
  */
322
  try {
323
  if(typeof wp !== 'undefined' && typeof wp.data !== 'undefined' && typeof wp.data.select !== 'undefined' && typeof wp.blocks !== 'undefined' && typeof wp.data.subscribe !== 'undefined') {
324
+ if(wp.data.select('core/editor') == undefined || wp.data.select('core/editor') == null) {
325
+ throw "Gutenberg was not loaded correctly!";
326
+ }
327
+
328
  wp.data.subscribe(function () {
329
  var isSavingPost = wp.data.select('core/editor').isSavingPost();
330
  var isAutosavingPost = wp.data.select('core/editor').isAutosavingPost();
354
  /**
355
  * Help tooltips
356
  */
357
+ if(jQuery('#permalink-manager .help_tooltip').length > 0) {
358
+ new Tippy('#permalink-manager .help_tooltip', {
359
+ position: 'top-start',
360
+ arrow: true,
361
+ theme: 'tippy-pm',
362
+ distance: 20,
363
+ });
364
+ }
365
 
366
 
367
  /**
permalink-manager.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Permalink Manager Lite
5
  * Plugin URI: https://permalinkmanager.pro?utm_source=plugin
6
  * Description: Advanced plugin that allows to set-up custom permalinks (bulk editors included), slugs and permastructures (WooCommerce compatible).
7
- * Version: 2.2.6
8
  * Author: Maciej Bis
9
  * Author URI: http://maciejbis.net/
10
  * License: GPL-2.0+
@@ -12,7 +12,7 @@
12
  * Text Domain: permalink-manager
13
  * Domain Path: /languages
14
  * WC requires at least: 3.0.0
15
- * WC tested up to: 3.7.0
16
  */
17
 
18
  // If this file is called directly or plugin is already defined, abort.
@@ -23,10 +23,10 @@ if (!defined('WPINC')) {
23
  // Define the directories used to load plugin files.
24
  define( 'PERMALINK_MANAGER_PLUGIN_NAME', 'Permalink Manager' );
25
  define( 'PERMALINK_MANAGER_PLUGIN_SLUG', 'permalink-manager' );
26
- define( 'PERMALINK_MANAGER_VERSION', '2.2.6' );
27
  define( 'PERMALINK_MANAGER_FILE', __FILE__ );
28
  define( 'PERMALINK_MANAGER_DIR', untrailingslashit(dirname(__FILE__)) );
29
- define( 'PERMALINK_MANAGER_BASENAME', dirname(plugin_basename(__FILE__)));
30
  define( 'PERMALINK_MANAGER_URL', untrailingslashit( plugins_url('', __FILE__) ) );
31
  define( 'PERMALINK_MANAGER_WEBSITE', 'http://permalinkmanager.pro?utm_source=plugin' );
32
  define( 'PERMALINK_MANAGER_DONATE', 'https://www.paypal.me/Bismit' );
@@ -117,7 +117,7 @@ class Permalink_Manager_Class {
117
  * Localize this plugin
118
  */
119
  function localize_me() {
120
- load_plugin_textdomain( 'permalink-manager', false, PERMALINK_MANAGER_BASENAME . "/languages" );
121
  }
122
 
123
  /**
@@ -157,11 +157,12 @@ class Permalink_Manager_Class {
157
  'general' => array(
158
  'auto_update_uris' => 0,
159
  'show_native_slug_field' => 0,
 
 
160
  'canonical_redirect' => 1,
161
  'setup_redirects' => 1,
162
  'redirect' => '301',
163
  'trailing_slashes' => 0,
164
- 'pagination_redirect' => 0,
165
  'auto_remove_duplicates' => 1,
166
  'fix_language_mismatch' => 1,
167
  'pmxi_import_support' => 0,
@@ -170,6 +171,7 @@ class Permalink_Manager_Class {
170
  'disable_slug_sanitization' => 0,
171
  'partial_disable' => array(),
172
  'deep_detect' => 1,
 
173
  ),
174
  'licence' => array()
175
  ));
@@ -191,18 +193,18 @@ class Permalink_Manager_Class {
191
  */
192
  public function default_alerts($alerts) {
193
  $default_alerts = apply_filters('permalink_manager_default_alerts', array(
194
- 'june19promo' => array(
195
  'txt' => sprintf(
196
  __("Get access to extra features: full taxonomy and WooCommerce support, possibility to use custom fields inside the permalinks and more!<br /><strong>Buy Permalink Manager Pro <a href=\"%s\" target=\"_blank\">here</a> and save %s using \"%s\" coupon code!</strong> Valid until %s!", "permalink-manager"),
197
  PERMALINK_MANAGER_WEBSITE . "&utm_campaign=discount_code",
198
  '20&#37;',
199
- 'JUNE19',
200
- '30.06'
201
  ),
202
  'type' => 'notice-info',
203
  'show' => 'pro_hide',
204
  'plugin_only' => true,
205
- 'until' => '2019-06-30'
206
  )
207
  ));
208
 
@@ -330,6 +332,9 @@ class Permalink_Manager_Class {
330
  function run_permalink_manager() {
331
  global $permalink_manager;
332
 
 
 
 
333
  $permalink_manager = new Permalink_Manager_Class();
334
  }
335
  run_permalink_manager();
4
  * Plugin Name: Permalink Manager Lite
5
  * Plugin URI: https://permalinkmanager.pro?utm_source=plugin
6
  * Description: Advanced plugin that allows to set-up custom permalinks (bulk editors included), slugs and permastructures (WooCommerce compatible).
7
+ * Version: 2.2.7.5
8
  * Author: Maciej Bis
9
  * Author URI: http://maciejbis.net/
10
  * License: GPL-2.0+
12
  * Text Domain: permalink-manager
13
  * Domain Path: /languages
14
  * WC requires at least: 3.0.0
15
+ * WC tested up to: 3.8.0
16
  */
17
 
18
  // If this file is called directly or plugin is already defined, abort.
23
  // Define the directories used to load plugin files.
24
  define( 'PERMALINK_MANAGER_PLUGIN_NAME', 'Permalink Manager' );
25
  define( 'PERMALINK_MANAGER_PLUGIN_SLUG', 'permalink-manager' );
26
+ define( 'PERMALINK_MANAGER_VERSION', '2.2.7.5' );
27
  define( 'PERMALINK_MANAGER_FILE', __FILE__ );
28
  define( 'PERMALINK_MANAGER_DIR', untrailingslashit(dirname(__FILE__)) );
29
+ define( 'PERMALINK_MANAGER_BASENAME', plugin_basename(__FILE__));
30
  define( 'PERMALINK_MANAGER_URL', untrailingslashit( plugins_url('', __FILE__) ) );
31
  define( 'PERMALINK_MANAGER_WEBSITE', 'http://permalinkmanager.pro?utm_source=plugin' );
32
  define( 'PERMALINK_MANAGER_DONATE', 'https://www.paypal.me/Bismit' );
117
  * Localize this plugin
118
  */
119
  function localize_me() {
120
+ load_plugin_textdomain( 'permalink-manager', false, basename(dirname(__FILE__)) . "/languages" );
121
  }
122
 
123
  /**
157
  'general' => array(
158
  'auto_update_uris' => 0,
159
  'show_native_slug_field' => 0,
160
+ 'pagination_redirect' => 0,
161
+ 'sslwww_redirect' => 0,
162
  'canonical_redirect' => 1,
163
  'setup_redirects' => 1,
164
  'redirect' => '301',
165
  'trailing_slashes' => 0,
 
166
  'auto_remove_duplicates' => 1,
167
  'fix_language_mismatch' => 1,
168
  'pmxi_import_support' => 0,
171
  'disable_slug_sanitization' => 0,
172
  'partial_disable' => array(),
173
  'deep_detect' => 1,
174
+ 'edit_uris_cap' => 'publish_posts',
175
  ),
176
  'licence' => array()
177
  ));
193
  */
194
  public function default_alerts($alerts) {
195
  $default_alerts = apply_filters('permalink_manager_default_alerts', array(
196
+ 'xmas19' => array(
197
  'txt' => sprintf(
198
  __("Get access to extra features: full taxonomy and WooCommerce support, possibility to use custom fields inside the permalinks and more!<br /><strong>Buy Permalink Manager Pro <a href=\"%s\" target=\"_blank\">here</a> and save %s using \"%s\" coupon code!</strong> Valid until %s!", "permalink-manager"),
199
  PERMALINK_MANAGER_WEBSITE . "&utm_campaign=discount_code",
200
  '20&#37;',
201
+ 'XMAS19',
202
+ '31.12'
203
  ),
204
  'type' => 'notice-info',
205
  'show' => 'pro_hide',
206
  'plugin_only' => true,
207
+ 'until' => '2019-12-31'
208
  )
209
  ));
210
 
332
  function run_permalink_manager() {
333
  global $permalink_manager;
334
 
335
+ // Do not run when Elementor is opened
336
+ if((!empty($_REQUEST['action']) && strpos($_REQUEST['action'], 'elementor') !== false) || isset($_REQUEST['elementor-preview'])) { return; }
337
+
338
  $permalink_manager = new Permalink_Manager_Class();
339
  }
340
  run_permalink_manager();