Version Description
-
Enhancement
- Added PATH_INFO in $_SERVER Variable
- Bugs
- $this variable issue on static method
Download this release
Release Info
Developer | sasiddiqui |
Plugin | Custom Permalinks |
Version | 1.2.14 |
Comparing to | |
See all releases |
Code changes from version 1.2.12 to 1.2.14
- admin/class-custom-permalinks-about.php +147 -147
- admin/class-custom-permalinks-admin.php +512 -512
- admin/css/about-plugins.css +212 -212
- changelog.txt +59 -0
- custom-permalinks-main.php +49 -49
- custom-permalinks.php +4 -4
- frontend/class-custom-permalinks-frontend.php +1 -0
- languages/custom-permalinks-en_AU.po +94 -94
- languages/custom-permalinks-en_CA.mo +0 -0
- languages/custom-permalinks-en_CA.po +125 -27
- languages/custom-permalinks-en_GB.po +94 -94
- languages/custom-permalinks-en_NZ.po +94 -94
- languages/custom-permalinks-ja.po +94 -94
- languages/custom-permalinks-ur.po +94 -94
- languages/index.php +4 -0
- readme.txt +10 -76
admin/class-custom-permalinks-about.php
CHANGED
@@ -1,147 +1,147 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package CustomPermalinks\Admin
|
4 |
-
*/
|
5 |
-
|
6 |
-
class Custom_Permalinks_About {
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Class constructor.
|
10 |
-
*/
|
11 |
-
public function __construct() {
|
12 |
-
$this->more_plugins();
|
13 |
-
}
|
14 |
-
|
15 |
-
/**
|
16 |
-
* More Plugins HTML
|
17 |
-
*/
|
18 |
-
private function more_plugins() {
|
19 |
-
$plugin_url = plugins_url( '/admin', CUSTOM_PERMALINKS_FILE );
|
20 |
-
$img_src = $plugin_url . '/images';
|
21 |
-
wp_enqueue_style( 'style', $plugin_url . '/css/about-plugins.min.css' );
|
22 |
-
$plugin_name = __( 'Custom Permalinks', 'custom-permalinks' );
|
23 |
-
$button_text = __( 'Check it out', 'custom-permalinks' );
|
24 |
-
$five_star = '<span class="star">
|
25 |
-
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 53.867 53.867" width="15" height="15">
|
26 |
-
<polygon points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
|
27 |
-
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
|
28 |
-
</svg>
|
29 |
-
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 53.867 53.867" width="15" height="15">
|
30 |
-
<polygon points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
|
31 |
-
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
|
32 |
-
</svg>
|
33 |
-
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 53.867 53.867" width="15" height="15">
|
34 |
-
<polygon points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
|
35 |
-
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
|
36 |
-
</svg>
|
37 |
-
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 53.867 53.867" width="15" height="15">
|
38 |
-
<polygon points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
|
39 |
-
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
|
40 |
-
</svg>
|
41 |
-
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 53.867 53.867" width="15" height="15">
|
42 |
-
<polygon points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
|
43 |
-
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
|
44 |
-
</svg>
|
45 |
-
</span>';
|
46 |
-
?>
|
47 |
-
|
48 |
-
<div class="wrap">
|
49 |
-
<div class="float">
|
50 |
-
<h1><?php echo $plugin_name . ' ' . CUSTOM_PERMALINKS_PLUGIN_VERSION; ?></h1>
|
51 |
-
<div class="tagline">
|
52 |
-
<p><?php _e('Thank you for choosing Custom Permalinks! We hope that your experience with our plugin for updating permalinks is quick and easy. We are trying to make it more feasible for you and provide capabilities in it.', 'custom-permalinks' ); ?></p>
|
53 |
-
<p><?php printf( __( 'To support future development and help to make it even better just leaving us a <a href="%s" title="Custom Permalinks Rating" target="_blank">%s</a> rating with a nice message to me :)', 'custom-permalinks' ), 'https://wordpress.org/support/plugin/custom-permalinks/reviews/?rate=5#new-post', $five_star ); ?></p>
|
54 |
-
</div>
|
55 |
-
</div>
|
56 |
-
|
57 |
-
<div class="float">
|
58 |
-
<object type="image/svg+xml" data="<?php echo $img_src;?>/custom-permalinks.svg" width="128" height="128"></object>
|
59 |
-
</div>
|
60 |
-
|
61 |
-
<div class="product">
|
62 |
-
<h2><?php _e( 'More from
|
63 |
-
<span><?php _e('Our List of Plugins provides the services which helps you to manage your site URLs(Permalinks), Prevent your site from XSS Attacks, Brute force attacks, increase your site visitors by adding Structured JSON Markup and so on.', 'custom-permalinks' ); ?></span>
|
64 |
-
<div class="box recommended">
|
65 |
-
<div class="img">
|
66 |
-
<img src= "<?php echo $img_src; ?>/prevent-xss-vulnerability.png" style="transform:scale(1.5)" />
|
67 |
-
</div>
|
68 |
-
|
69 |
-
<h3><?php _e( 'Prevent XSS Vulnerability', 'custom-permalinks' ); ?></h3>
|
70 |
-
<p><?php _e( 'Secure your site from the <strong>XSS Attacks</strong> so, your users won\'t lose any kind of information or not redirected to any other site by visiting to your site with the <strong>malicious code</strong> in the URL or so. In this way, users can open your site URLs without any hesitation.', 'custom-permalinks' ); ?></p>
|
71 |
-
<a href="https://wordpress.org/plugins/prevent-xss-vulnerability/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
72 |
-
</div>
|
73 |
-
|
74 |
-
<div class="box">
|
75 |
-
<div class="img">
|
76 |
-
<img src= "<?php echo $img_src; ?>/permalinks-customizer.svg" />
|
77 |
-
</div>
|
78 |
-
|
79 |
-
<h3><?php _e( 'Permalinks Customizer', 'custom-permalinks' ); ?></h3>
|
80 |
-
<p><?php _e( 'Allows you to either define different Permalink Structure or define same Permalink Structure for default and Custom PostTypes, Taxonomies. Plugin automatically creates the user-friendly URLs as per your defined structured that can be edited from the single post/page.', 'custom-permalinks' ); ?></p>
|
81 |
-
<a href="https://wordpress.org/plugins/permalinks-customizer/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
82 |
-
</div>
|
83 |
-
|
84 |
-
<div class="box recommended">
|
85 |
-
<div class="img">
|
86 |
-
<img src= "<?php echo $img_src; ?>/http-auth.svg" />
|
87 |
-
</div>
|
88 |
-
|
89 |
-
<h3><?php _e( 'Http Auth', 'schema-for-article' ); ?></h3>
|
90 |
-
<p><?php _e( 'Allows you apply <strong>HTTP Auth</strong> on your site. You can apply Http Authentication all over the site or only the admin pages. It helps to stop cralwing on your site while on development or persist the <strong>Brute Attacks</strong> by locking the Admin Pages.', 'schema-for-article' ); ?></p>
|
91 |
-
<a href="https://wordpress.org/plugins/http-auth/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
92 |
-
</div>
|
93 |
-
|
94 |
-
<div class="box">
|
95 |
-
<div class="img">
|
96 |
-
<img src= "<?php echo $img_src; ?>/schema-for-article.svg" />
|
97 |
-
</div>
|
98 |
-
|
99 |
-
<h3><?php _e( 'SCHEMA for Article', 'schema-for-article' ); ?></h3>
|
100 |
-
<p><?php _e( 'Simply the easiest solution to add valid schema.org as a JSON script in the head of blog posts or articles. You can choose the schema either to show with the type of Article or NewsArticle from the settings page.', 'schema-for-article' ); ?></p>
|
101 |
-
<a href="https://wordpress.org/plugins/schema-for-article/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
102 |
-
</div>
|
103 |
-
|
104 |
-
<div class="box">
|
105 |
-
<div class="img">
|
106 |
-
<img src= "<?php echo $img_src; ?>/make-paths-relative.svg" />
|
107 |
-
</div>
|
108 |
-
|
109 |
-
<h3><?php _e( 'Make Paths Relative', 'custom-permalinks' ); ?></h3>
|
110 |
-
<p><?php _e( 'Convert the paths(URLs) to relative instead of absolute. You can make <strong>Post</strong>, <strong>Category</strong>, <strong>Archive</strong>, <strong>Image</strong> URLs and <strong>Script</strong> and <strong>Style</strong> src as per your requirement. You can choose which you want to be relative from the settings Page.', 'custom-permalinks' ); ?></p>
|
111 |
-
<a href="https://wordpress.org/plugins/make-paths-relative/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
112 |
-
</div>
|
113 |
-
|
114 |
-
<div class="box">
|
115 |
-
<div class="img">
|
116 |
-
<img src= "<?php echo $img_src; ?>/json-structuring-markup.svg" />
|
117 |
-
</div>
|
118 |
-
|
119 |
-
<h3><?php _e( 'JSON Structuring Markup', 'custom-permalinks' ); ?></h3>
|
120 |
-
<p><?php _e( 'Simply the easiest solution to add valid schema.org as a JSON script in the head of posts and pages. It provides you multiple <strong>SCHEMA</strong> types like Article, News Article, Organization and Website Schema.', 'custom-permalinks' ); ?></p>
|
121 |
-
<a href="https://wordpress.org/plugins/json-structuring-markup/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
122 |
-
</div>
|
123 |
-
|
124 |
-
<div class="box">
|
125 |
-
<div class="img">
|
126 |
-
<img src= "<?php echo $img_src; ?>/remove-links-and-scripts.svg" />
|
127 |
-
</div>
|
128 |
-
|
129 |
-
<h3><?php _e( 'Remove Links and Scripts', 'custom-permalinks' ); ?></h3>
|
130 |
-
<p><?php _e( 'It removes some meta data from the wordpress header so, your header keeps clean of useless information like <strong>shortlink</strong>, <strong>rsd_link</strong>, <strong>wlwmanifest_link</strong>, <strong>emoji_scripts</strong>, <strong>wp_embed</strong>, <strong>wp_json</strong>, <strong>emoji_styles</strong>, <strong>generator</strong> and so on.', 'custom-permalinks' ); ?></p>
|
131 |
-
<a href="https://wordpress.org/plugins/remove-links-and-scripts/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
132 |
-
</div>
|
133 |
-
|
134 |
-
<div class="box">
|
135 |
-
<div class="img">
|
136 |
-
<img src= "<?php echo $img_src; ?>/media-post-permalink.png" style="transform:scale(1.5)" />
|
137 |
-
</div>
|
138 |
-
|
139 |
-
<h3><?php _e( 'Media Post Permalink', 'custom-permalinks' ); ?></h3>
|
140 |
-
<p><?php _e( 'On uploading any image, let\'s say services.png, WordPress creates the <strong>attachment post</strong> with the permalink of <strong>/services/</strong> and doesn\'t allow you to use that permalink to point your page. In this case, we comes up with this great solution.', 'custom-permalinks' ); ?></p>
|
141 |
-
<a href="https://wordpress.org/plugins/media-post-permalink/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
142 |
-
</div>
|
143 |
-
</div>
|
144 |
-
</div>
|
145 |
-
<?php
|
146 |
-
}
|
147 |
-
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package CustomPermalinks\Admin
|
4 |
+
*/
|
5 |
+
|
6 |
+
class Custom_Permalinks_About {
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Class constructor.
|
10 |
+
*/
|
11 |
+
public function __construct() {
|
12 |
+
$this->more_plugins();
|
13 |
+
}
|
14 |
+
|
15 |
+
/**
|
16 |
+
* More Plugins HTML
|
17 |
+
*/
|
18 |
+
private function more_plugins() {
|
19 |
+
$plugin_url = plugins_url( '/admin', CUSTOM_PERMALINKS_FILE );
|
20 |
+
$img_src = $plugin_url . '/images';
|
21 |
+
wp_enqueue_style( 'style', $plugin_url . '/css/about-plugins.min.css' );
|
22 |
+
$plugin_name = __( 'Custom Permalinks', 'custom-permalinks' );
|
23 |
+
$button_text = __( 'Check it out', 'custom-permalinks' );
|
24 |
+
$five_star = '<span class="star">
|
25 |
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 53.867 53.867" width="15" height="15">
|
26 |
+
<polygon points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
|
27 |
+
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
|
28 |
+
</svg>
|
29 |
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 53.867 53.867" width="15" height="15">
|
30 |
+
<polygon points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
|
31 |
+
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
|
32 |
+
</svg>
|
33 |
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 53.867 53.867" width="15" height="15">
|
34 |
+
<polygon points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
|
35 |
+
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
|
36 |
+
</svg>
|
37 |
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 53.867 53.867" width="15" height="15">
|
38 |
+
<polygon points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
|
39 |
+
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
|
40 |
+
</svg>
|
41 |
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 53.867 53.867" width="15" height="15">
|
42 |
+
<polygon points="26.934,1.318 35.256,18.182 53.867,20.887 40.4,34.013 43.579,52.549 26.934,43.798
|
43 |
+
10.288,52.549 13.467,34.013 0,20.887 18.611,18.182 "/>
|
44 |
+
</svg>
|
45 |
+
</span>';
|
46 |
+
?>
|
47 |
+
|
48 |
+
<div class="wrap">
|
49 |
+
<div class="float">
|
50 |
+
<h1><?php echo $plugin_name . ' ' . CUSTOM_PERMALINKS_PLUGIN_VERSION; ?></h1>
|
51 |
+
<div class="tagline">
|
52 |
+
<p><?php _e('Thank you for choosing Custom Permalinks! We hope that your experience with our plugin for updating permalinks is quick and easy. We are trying to make it more feasible for you and provide capabilities in it.', 'custom-permalinks' ); ?></p>
|
53 |
+
<p><?php printf( __( 'To support future development and help to make it even better just leaving us a <a href="%s" title="Custom Permalinks Rating" target="_blank">%s</a> rating with a nice message to me :)', 'custom-permalinks' ), 'https://wordpress.org/support/plugin/custom-permalinks/reviews/?rate=5#new-post', $five_star ); ?></p>
|
54 |
+
</div>
|
55 |
+
</div>
|
56 |
+
|
57 |
+
<div class="float">
|
58 |
+
<object type="image/svg+xml" data="<?php echo $img_src;?>/custom-permalinks.svg" width="128" height="128"></object>
|
59 |
+
</div>
|
60 |
+
|
61 |
+
<div class="product">
|
62 |
+
<h2><?php _e( 'More from Sami Ahmed Siddiqui', 'custom-permalinks' ); ?></h2>
|
63 |
+
<span><?php _e('Our List of Plugins provides the services which helps you to manage your site URLs(Permalinks), Prevent your site from XSS Attacks, Brute force attacks, increase your site visitors by adding Structured JSON Markup and so on.', 'custom-permalinks' ); ?></span>
|
64 |
+
<div class="box recommended">
|
65 |
+
<div class="img">
|
66 |
+
<img src= "<?php echo $img_src; ?>/prevent-xss-vulnerability.png" style="transform:scale(1.5)" />
|
67 |
+
</div>
|
68 |
+
|
69 |
+
<h3><?php _e( 'Prevent XSS Vulnerability', 'custom-permalinks' ); ?></h3>
|
70 |
+
<p><?php _e( 'Secure your site from the <strong>XSS Attacks</strong> so, your users won\'t lose any kind of information or not redirected to any other site by visiting to your site with the <strong>malicious code</strong> in the URL or so. In this way, users can open your site URLs without any hesitation.', 'custom-permalinks' ); ?></p>
|
71 |
+
<a href="https://wordpress.org/plugins/prevent-xss-vulnerability/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
72 |
+
</div>
|
73 |
+
|
74 |
+
<div class="box">
|
75 |
+
<div class="img">
|
76 |
+
<img src= "<?php echo $img_src; ?>/permalinks-customizer.svg" />
|
77 |
+
</div>
|
78 |
+
|
79 |
+
<h3><?php _e( 'Permalinks Customizer', 'custom-permalinks' ); ?></h3>
|
80 |
+
<p><?php _e( 'Allows you to either define different Permalink Structure or define same Permalink Structure for default and Custom PostTypes, Taxonomies. Plugin automatically creates the user-friendly URLs as per your defined structured that can be edited from the single post/page.', 'custom-permalinks' ); ?></p>
|
81 |
+
<a href="https://wordpress.org/plugins/permalinks-customizer/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
82 |
+
</div>
|
83 |
+
|
84 |
+
<div class="box recommended">
|
85 |
+
<div class="img">
|
86 |
+
<img src= "<?php echo $img_src; ?>/http-auth.svg" />
|
87 |
+
</div>
|
88 |
+
|
89 |
+
<h3><?php _e( 'Http Auth', 'schema-for-article' ); ?></h3>
|
90 |
+
<p><?php _e( 'Allows you apply <strong>HTTP Auth</strong> on your site. You can apply Http Authentication all over the site or only the admin pages. It helps to stop cralwing on your site while on development or persist the <strong>Brute Attacks</strong> by locking the Admin Pages.', 'schema-for-article' ); ?></p>
|
91 |
+
<a href="https://wordpress.org/plugins/http-auth/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
92 |
+
</div>
|
93 |
+
|
94 |
+
<div class="box">
|
95 |
+
<div class="img">
|
96 |
+
<img src= "<?php echo $img_src; ?>/schema-for-article.svg" />
|
97 |
+
</div>
|
98 |
+
|
99 |
+
<h3><?php _e( 'SCHEMA for Article', 'schema-for-article' ); ?></h3>
|
100 |
+
<p><?php _e( 'Simply the easiest solution to add valid schema.org as a JSON script in the head of blog posts or articles. You can choose the schema either to show with the type of Article or NewsArticle from the settings page.', 'schema-for-article' ); ?></p>
|
101 |
+
<a href="https://wordpress.org/plugins/schema-for-article/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
102 |
+
</div>
|
103 |
+
|
104 |
+
<div class="box">
|
105 |
+
<div class="img">
|
106 |
+
<img src= "<?php echo $img_src; ?>/make-paths-relative.svg" />
|
107 |
+
</div>
|
108 |
+
|
109 |
+
<h3><?php _e( 'Make Paths Relative', 'custom-permalinks' ); ?></h3>
|
110 |
+
<p><?php _e( 'Convert the paths(URLs) to relative instead of absolute. You can make <strong>Post</strong>, <strong>Category</strong>, <strong>Archive</strong>, <strong>Image</strong> URLs and <strong>Script</strong> and <strong>Style</strong> src as per your requirement. You can choose which you want to be relative from the settings Page.', 'custom-permalinks' ); ?></p>
|
111 |
+
<a href="https://wordpress.org/plugins/make-paths-relative/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
112 |
+
</div>
|
113 |
+
|
114 |
+
<div class="box">
|
115 |
+
<div class="img">
|
116 |
+
<img src= "<?php echo $img_src; ?>/json-structuring-markup.svg" />
|
117 |
+
</div>
|
118 |
+
|
119 |
+
<h3><?php _e( 'JSON Structuring Markup', 'custom-permalinks' ); ?></h3>
|
120 |
+
<p><?php _e( 'Simply the easiest solution to add valid schema.org as a JSON script in the head of posts and pages. It provides you multiple <strong>SCHEMA</strong> types like Article, News Article, Organization and Website Schema.', 'custom-permalinks' ); ?></p>
|
121 |
+
<a href="https://wordpress.org/plugins/json-structuring-markup/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
122 |
+
</div>
|
123 |
+
|
124 |
+
<div class="box">
|
125 |
+
<div class="img">
|
126 |
+
<img src= "<?php echo $img_src; ?>/remove-links-and-scripts.svg" />
|
127 |
+
</div>
|
128 |
+
|
129 |
+
<h3><?php _e( 'Remove Links and Scripts', 'custom-permalinks' ); ?></h3>
|
130 |
+
<p><?php _e( 'It removes some meta data from the wordpress header so, your header keeps clean of useless information like <strong>shortlink</strong>, <strong>rsd_link</strong>, <strong>wlwmanifest_link</strong>, <strong>emoji_scripts</strong>, <strong>wp_embed</strong>, <strong>wp_json</strong>, <strong>emoji_styles</strong>, <strong>generator</strong> and so on.', 'custom-permalinks' ); ?></p>
|
131 |
+
<a href="https://wordpress.org/plugins/remove-links-and-scripts/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
132 |
+
</div>
|
133 |
+
|
134 |
+
<div class="box">
|
135 |
+
<div class="img">
|
136 |
+
<img src= "<?php echo $img_src; ?>/media-post-permalink.png" style="transform:scale(1.5)" />
|
137 |
+
</div>
|
138 |
+
|
139 |
+
<h3><?php _e( 'Media Post Permalink', 'custom-permalinks' ); ?></h3>
|
140 |
+
<p><?php _e( 'On uploading any image, let\'s say services.png, WordPress creates the <strong>attachment post</strong> with the permalink of <strong>/services/</strong> and doesn\'t allow you to use that permalink to point your page. In this case, we comes up with this great solution.', 'custom-permalinks' ); ?></p>
|
141 |
+
<a href="https://wordpress.org/plugins/media-post-permalink/" class="checkout-button" target="_blank"><?php echo $button_text; ?></a>
|
142 |
+
</div>
|
143 |
+
</div>
|
144 |
+
</div>
|
145 |
+
<?php
|
146 |
+
}
|
147 |
+
}
|
admin/class-custom-permalinks-admin.php
CHANGED
@@ -1,512 +1,512 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package CustomPermalinks\Admin
|
4 |
-
*/
|
5 |
-
|
6 |
-
class Custom_Permalinks_Admin {
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Initializes WordPress hooks
|
10 |
-
*/
|
11 |
-
function __construct() {
|
12 |
-
add_action( 'admin_menu', array( $this, 'admin_menu' ) );
|
13 |
-
add_filter( 'plugin_action_links_' . CUSTOM_PERMALINKS_BASENAME,
|
14 |
-
array( $this, 'settings_link' )
|
15 |
-
);
|
16 |
-
}
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Added Pages in Menu for Settings
|
20 |
-
*/
|
21 |
-
public function admin_menu() {
|
22 |
-
add_menu_page( 'Custom Permalinks', 'Custom Permalinks', 'administrator',
|
23 |
-
'cp-post-permalinks', array( $this,'posttype_permalinks' ),
|
24 |
-
'dashicons-admin-links'
|
25 |
-
);
|
26 |
-
add_submenu_page( 'cp-post-permalinks', 'PostTypes Permalinks',
|
27 |
-
'PostTypes Permalinks', 'administrator', 'cp-post-permalinks',
|
28 |
-
array( $this, 'posttype_permalinks' )
|
29 |
-
);
|
30 |
-
add_submenu_page( 'cp-post-permalinks', 'Category Permalinks',
|
31 |
-
'Category Permalinks', 'administrator', 'cp-category-permalinks',
|
32 |
-
array( $this, 'category_permalinks' )
|
33 |
-
);
|
34 |
-
add_submenu_page( 'cp-post-permalinks', 'About Custom Permalinks',
|
35 |
-
'About CP', 'administrator', 'cp-about-plugins',
|
36 |
-
array( $this, 'about_plugin' )
|
37 |
-
);
|
38 |
-
}
|
39 |
-
|
40 |
-
/**
|
41 |
-
* Shows all the Permalinks created by using this Plugin with Pager and
|
42 |
-
* Search Functionality of Posts/Pages.
|
43 |
-
*/
|
44 |
-
public function posttype_permalinks() {
|
45 |
-
global $wpdb;
|
46 |
-
$filter_options = '';
|
47 |
-
$filter_permalink = '';
|
48 |
-
$search_permalink = '';
|
49 |
-
$html = '';
|
50 |
-
$error = '';
|
51 |
-
|
52 |
-
// Handle Bulk Operations
|
53 |
-
if ( ( isset( $_POST['action'] ) && $_POST['action'] == 'delete' )
|
54 |
-
|| ( isset( $_POST['action2'] ) && $_POST['action2'] == 'delete' )
|
55 |
-
&& isset( $_POST['permalink'] ) && ! empty( $_POST['permalink'] ) ) {
|
56 |
-
$post_ids = implode( ',', $_POST['permalink'] );
|
57 |
-
if ( preg_match( '/^\d+(?:,\d+)*$/', $post_ids ) ) {
|
58 |
-
$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE post_id IN ($post_ids) AND meta_key = 'custom_permalink'" );
|
59 |
-
} else {
|
60 |
-
$error = '<div id="message" class="error">
|
61 |
-
<p>' . __( 'There is some error to proceed your request. Please retry with your request or contact to the plugin author.', 'custom-permalinks' ) . '</p>
|
62 |
-
</div>';
|
63 |
-
}
|
64 |
-
}
|
65 |
-
$html .= '<div class="wrap">
|
66 |
-
<h1 class="wp-heading-inline">' . __( 'PostTypes Permalinks', 'custom-permalinks' ) . '</h1>';
|
67 |
-
$html .= $error;
|
68 |
-
|
69 |
-
$search_value = '';
|
70 |
-
if ( isset( $_GET['s'] ) && ! empty( $_GET['s'] ) ) {
|
71 |
-
$filter_permalink = 'AND pm.meta_value LIKE "%' . $_GET['s'] . '%"';
|
72 |
-
$search_permalink = '&s=' . $_GET['s'] . '';
|
73 |
-
$search_value = ltrim( htmlspecialchars( $_GET['s'] ), '/' );
|
74 |
-
$html .= '<span class="subtitle">Search results for "' . $search_value . '"</span>';
|
75 |
-
}
|
76 |
-
$page_limit = 'LIMIT 0, 20';
|
77 |
-
if ( isset( $_GET['paged'] ) && is_numeric( $_GET['paged'] )
|
78 |
-
&& $_GET['paged'] > 1 ) {
|
79 |
-
$pager = 20 * ( $_GET['paged'] - 1 );
|
80 |
-
$page_limit = 'LIMIT ' . $pager . ', 20';
|
81 |
-
}
|
82 |
-
$sorting_by = 'ORDER By p.ID DESC';
|
83 |
-
$order_by = 'asc';
|
84 |
-
$order_by_class = 'desc';
|
85 |
-
if ( isset( $_GET['orderby'] ) && $_GET['orderby'] == 'title' ) {
|
86 |
-
$filter_options .= '<input type="hidden" name="orderby" value="title" />';
|
87 |
-
if ( isset( $_GET['order'] ) && $_GET['order'] == 'desc' ) {
|
88 |
-
$sorting_by = 'ORDER By p.post_title DESC';
|
89 |
-
$order_by = 'asc';
|
90 |
-
$order_by_class = 'desc';
|
91 |
-
$filter_options .= '<input type="hidden" name="order" value="desc" />';
|
92 |
-
} else {
|
93 |
-
$sorting_by = 'ORDER By p.post_title';
|
94 |
-
$order_by = 'desc';
|
95 |
-
$order_by_class = 'asc';
|
96 |
-
$filter_options .= '<input type="hidden" name="order" value="asc" />';
|
97 |
-
}
|
98 |
-
}
|
99 |
-
$count_query = "SELECT COUNT(p.ID) AS total_permalinks FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS pm ON (p.ID = pm.post_id) WHERE pm.meta_key = 'custom_permalink' AND pm.meta_value != '' " . $filter_permalink . "";
|
100 |
-
$count_posts = $wpdb->get_row( $count_query );
|
101 |
-
|
102 |
-
$html .= '<form action="' . $_SERVER["REQUEST_URI"] . '" method="get">';
|
103 |
-
$html .= '<p class="search-box">';
|
104 |
-
$html .= '<input type="hidden" name="page" value="cp-post-permalinks" />';
|
105 |
-
$html .= $filter_options;
|
106 |
-
$html .= '<label class="screen-reader-text" for="custom-permalink-search-input">Search Custom Permalink:</label>';
|
107 |
-
$html .= '<input type="search" id="custom-permalink-search-input" name="s" value="' . $search_value . '">';
|
108 |
-
$html .= '<input type="submit" id="search-submit" class="button" value="Search Permalink"></p>';
|
109 |
-
$html .= '</form>';
|
110 |
-
$html .= '<form action="' . $_SERVER["REQUEST_URI"] . '" method="post">';
|
111 |
-
$html .= '<div class="tablenav top">';
|
112 |
-
$html .= '<div class="alignleft actions bulkactions">
|
113 |
-
<label for="bulk-action-selector-top" class="screen-reader-text">Select bulk action</label>
|
114 |
-
<select name="action" id="bulk-action-selector-top">
|
115 |
-
<option value="-1">' . __( "Bulk Actions", "custom-permalinks" ) . '</option>
|
116 |
-
<option value="delete">' . __( "Delete Permalinks", "custom-permalinks" ) . '</option>
|
117 |
-
</select>
|
118 |
-
<input type="submit" id="doaction" class="button action" value="Apply">
|
119 |
-
</div>';
|
120 |
-
|
121 |
-
$posts = 0;
|
122 |
-
if ( isset( $count_posts->total_permalinks )
|
123 |
-
&& $count_posts->total_permalinks > 0 ) {
|
124 |
-
|
125 |
-
$html .= '<h2 class="screen-reader-text">Custom Permalink navigation</h2>';
|
126 |
-
|
127 |
-
$query = "SELECT p.ID, p.post_title, p.post_type, pm.meta_value FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS pm ON (p.ID = pm.post_id) WHERE pm.meta_key = 'custom_permalink' AND pm.meta_value != '' " . $filter_permalink . " " . $sorting_by . " " . $page_limit . "";
|
128 |
-
$posts = $wpdb->get_results( $query );
|
129 |
-
|
130 |
-
$pagination_html = '';
|
131 |
-
$total_pages = ceil( $count_posts->total_permalinks / 20 );
|
132 |
-
if ( isset( $_GET['paged'] ) && is_numeric( $_GET['paged'] )
|
133 |
-
&& $_GET['paged'] > 0 ) {
|
134 |
-
$pagination_html = $this->cp_pager(
|
135 |
-
$count_posts->total_permalinks, $_GET['paged'], $total_pages
|
136 |
-
);
|
137 |
-
if ( $_GET['paged'] > $total_pages ) {
|
138 |
-
$redirect_uri = explode(
|
139 |
-
'&paged=' . $_GET['paged'] . '', $_SERVER['REQUEST_URI']
|
140 |
-
);
|
141 |
-
header( 'Location: ' . $redirect_uri[0], 301 );
|
142 |
-
exit();
|
143 |
-
}
|
144 |
-
} elseif ( ! isset( $_GET['paged'] ) ) {
|
145 |
-
$pagination_html = $this->cp_pager(
|
146 |
-
$count_posts->total_permalinks, 1, $total_pages
|
147 |
-
);
|
148 |
-
}
|
149 |
-
|
150 |
-
$html .= $pagination_html;
|
151 |
-
}
|
152 |
-
$table_navigation = $this->tablenav_posts(
|
153 |
-
$order_by_class, $order_by, $search_permalink
|
154 |
-
);
|
155 |
-
|
156 |
-
$html .= '</div>';
|
157 |
-
$html .= '<table class="wp-list-table widefat fixed striped posts">
|
158 |
-
<thead>' . $table_navigation . '</thead>
|
159 |
-
<tbody>';
|
160 |
-
if ( $posts != 0 && ! empty( $posts ) ) {
|
161 |
-
foreach ( $posts as $post ) {
|
162 |
-
$html .= '<tr valign="top">';
|
163 |
-
$html .= '<th scope="row" class="check-column">
|
164 |
-
<input type="checkbox" name="permalink[]" value="' . $post->ID . '" />
|
165 |
-
</th>';
|
166 |
-
$html .= '<td><strong>
|
167 |
-
<a class="row-title" href="post.php?action=edit&post=' . $post->ID . '">' . $post->post_title . '</a>
|
168 |
-
</strong></td>';
|
169 |
-
$html .= '<td>' . ucwords( $post->post_type ) . '</td>';
|
170 |
-
$html .= '<td>
|
171 |
-
<a href="/' . $post->meta_value . '" target="_blank" title="' . __( "Visit " . $post->post_title, "custom-permalinks" ) . '">/' . urldecode( $post->meta_value ) . '</a>
|
172 |
-
</td>';
|
173 |
-
$html .= '</tr>';
|
174 |
-
}
|
175 |
-
} else {
|
176 |
-
$html .= '<tr class="no-items">
|
177 |
-
<td class="colspanchange" colspan="10">No permalinks found.</td>
|
178 |
-
</tr>';
|
179 |
-
}
|
180 |
-
$html .= '</tbody>
|
181 |
-
<tfoot>' . $table_navigation . '</tfoot>
|
182 |
-
</table>';
|
183 |
-
|
184 |
-
$html .= '<div class="tablenav bottom">
|
185 |
-
<div class="alignleft actions bulkactions">
|
186 |
-
<label for="bulk-action-selector-bottom" class="screen-reader-text">Select bulk action</label>
|
187 |
-
<select name="action2" id="bulk-action-selector-bottom">
|
188 |
-
<option value="-1">' . __( "Bulk Actions", "custom-permalinks" ) . '</option>
|
189 |
-
<option value="delete">' . __( "Delete Permalinks", "custom-permalinks" ) . '</option>
|
190 |
-
</select>
|
191 |
-
<input type="submit" id="doaction2" class="button action" value="Apply">
|
192 |
-
</div>
|
193 |
-
' . $pagination_html . '
|
194 |
-
</div>';
|
195 |
-
$html .= '</form>
|
196 |
-
</div>';
|
197 |
-
echo $html;
|
198 |
-
|
199 |
-
add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 );
|
200 |
-
}
|
201 |
-
|
202 |
-
/**
|
203 |
-
* Return the Navigation row HTML same as Default Posts page for PostTypes
|
204 |
-
*/
|
205 |
-
private function tablenav_posts( $order_by_class, $order_by, $search_permalink ) {
|
206 |
-
$nav = '<tr>
|
207 |
-
<td id="cb" class="manage-column column-cb check-column">
|
208 |
-
<label class="screen-reader-text" for="cb-select-all-1">Select All</label>
|
209 |
-
<input id="cb-select-all-1" type="checkbox">
|
210 |
-
</td>
|
211 |
-
<th scope="col" id="title" class="manage-column column-title column-primary sortable ' . $order_by_class . '">
|
212 |
-
<a href="/wp-admin/admin.php?page=cp-post-permalinks&orderby=title&order=' . $order_by . $search_permalink . '"><span>' . __( "Title", "custom-permalinks" ) . '</span><span class="sorting-indicator"></span></a>
|
213 |
-
</th>
|
214 |
-
<th scope="col">' . __( "Type", "custom-permalinks" ) . '</th>
|
215 |
-
<th scope="col">' . __( "Permalink", "custom-permalinks" ) . '</th>
|
216 |
-
</tr>';
|
217 |
-
return $nav;
|
218 |
-
}
|
219 |
-
|
220 |
-
/**
|
221 |
-
* Shows all the Permalinks created by using this Plugin with Pager and Search Functionality of Category/Tags
|
222 |
-
*/
|
223 |
-
public function category_permalinks() {
|
224 |
-
|
225 |
-
$search_permalink = '';
|
226 |
-
$html = '';
|
227 |
-
|
228 |
-
// Handle Bulk Operations
|
229 |
-
if ( ( isset( $_POST['action'] ) && $_POST['action'] == 'delete' )
|
230 |
-
|| ( isset( $_POST['action2'] ) && $_POST['action2'] == 'delete' )
|
231 |
-
&& isset( $_POST['permalink'] ) && ! empty( $_POST['permalink'] ) ) {
|
232 |
-
$remove_perm = $_POST['permalink'];
|
233 |
-
$data = get_option( 'custom_permalink_table' );
|
234 |
-
if ( isset( $data ) && is_array( $data ) ) {
|
235 |
-
$i = 0;
|
236 |
-
foreach ( $data as $link => $info ) {
|
237 |
-
if ( in_array( $info['id'], $remove_perm ) ) {
|
238 |
-
unset( $data[$link] );
|
239 |
-
unset( $remove_perm[$i] );
|
240 |
-
if ( ! is_array( $remove_perm ) || empty( $remove_perm ) )
|
241 |
-
break;
|
242 |
-
}
|
243 |
-
$i++;
|
244 |
-
}
|
245 |
-
}
|
246 |
-
update_option( 'custom_permalink_table', $data );
|
247 |
-
}
|
248 |
-
$html .= '<div class="wrap">
|
249 |
-
<h1 class="wp-heading-inline">' . __( 'Category/Tags Permalinks', 'custom-permalinks' ) . '</h1>';
|
250 |
-
|
251 |
-
$search_value = '';
|
252 |
-
if ( isset( $_GET['s'] ) && ! empty( $_GET['s'] ) ) {
|
253 |
-
$search_permalink = '&s=' . $_GET['s'] . '';
|
254 |
-
$search_value = ltrim( htmlspecialchars( $_GET['s'] ), '/' );
|
255 |
-
$html .= '<span class="subtitle">Search results for "' . $search_value . '"</span>';
|
256 |
-
}
|
257 |
-
$pager_offset = '0';
|
258 |
-
$page_limit = 20;
|
259 |
-
if ( isset( $_GET['paged'] ) && is_numeric( $_GET['paged'] ) && $_GET['paged'] > 1 ) {
|
260 |
-
$pager_offset = 20 * ( $_GET['paged'] - 1 );
|
261 |
-
$page_limit = $pager_offset + 20;
|
262 |
-
}
|
263 |
-
$html .= '<form action="' . $_SERVER["REQUEST_URI"] . '" method="get">';
|
264 |
-
$html .= '<p class="search-box">';
|
265 |
-
$html .= '<input type="hidden" name="page" value="cp-category-permalinks" />';
|
266 |
-
$html .= '<label class="screen-reader-text" for="custom-permalink-search-input">Search Custom Permalink:</label>';
|
267 |
-
$html .= '<input type="search" id="custom-permalink-search-input" name="s" value="' . $search_value . '">';
|
268 |
-
$html .= '<input type="submit" id="search-submit" class="button" value="Search Permalink"></p>';
|
269 |
-
$html .= '</form>';
|
270 |
-
$html .= '<form action="' . $_SERVER["REQUEST_URI"] . '" method="post">';
|
271 |
-
$html .= '<div class="tablenav top">';
|
272 |
-
$html .= '<div class="alignleft actions bulkactions">
|
273 |
-
<label for="bulk-action-selector-top" class="screen-reader-text">Select bulk action</label>
|
274 |
-
<select name="action" id="bulk-action-selector-top">
|
275 |
-
<option value="-1">' . __( "Bulk Actions", "custom-permalinks" ) . '</option>
|
276 |
-
<option value="delete">' . __( "Delete Permalinks", "custom-permalinks" ) . '</option>
|
277 |
-
</select>
|
278 |
-
<input type="submit" id="doaction" class="button action" value="Apply">
|
279 |
-
</div>';
|
280 |
-
|
281 |
-
$posts = 0;
|
282 |
-
$table = get_option( 'custom_permalink_table' );
|
283 |
-
$count_tags = count( $table );
|
284 |
-
$pagination_html = '';
|
285 |
-
if ( isset( $table ) && is_array( $table ) && $count_tags > 0 ) {
|
286 |
-
|
287 |
-
$filtered = array();
|
288 |
-
if ( $search_value != '' ) {
|
289 |
-
foreach ( $table as $key => $value ) {
|
290 |
-
if ( preg_match( '/' . $search_value . '/', $key) ) {
|
291 |
-
$filtered[$key] = $value;
|
292 |
-
}
|
293 |
-
}
|
294 |
-
$table = $filtered;
|
295 |
-
$count_tags = count( $table );
|
296 |
-
}
|
297 |
-
|
298 |
-
$html .= '<h2 class="screen-reader-text">Custom Permalink navigation</h2>';
|
299 |
-
|
300 |
-
$total_pages = ceil( $count_tags / 20 );
|
301 |
-
if ( isset( $_GET['paged'] ) && is_numeric( $_GET['paged'] )
|
302 |
-
&& $_GET['paged'] > 0 ) {
|
303 |
-
$pagination_html = $this->cp_pager(
|
304 |
-
$count_tags, $_GET['paged'], $total_pages
|
305 |
-
);
|
306 |
-
if ( $_GET['paged'] > $total_pages ) {
|
307 |
-
$redirect_uri = explode(
|
308 |
-
'&paged=' . $_GET['paged'] . '', $_SERVER['REQUEST_URI']
|
309 |
-
);
|
310 |
-
header( 'Location: ' . $redirect_uri[0], 301 );
|
311 |
-
exit();
|
312 |
-
}
|
313 |
-
} elseif ( ! isset( $_GET['paged'] ) ) {
|
314 |
-
$pagination_html = $this->cp_pager( $count_tags, 1, $total_pages );
|
315 |
-
}
|
316 |
-
|
317 |
-
$html .= $pagination_html;
|
318 |
-
}
|
319 |
-
$table_navigation = $this->tablenav_category( $search_permalink );
|
320 |
-
|
321 |
-
$html .= '</div>';
|
322 |
-
$html .= '<table class="wp-list-table widefat fixed striped posts">
|
323 |
-
<thead>' . $table_navigation . '</thead>
|
324 |
-
<tbody>';
|
325 |
-
|
326 |
-
if ( $table && is_array( $table ) && $count_tags > 0 ) {
|
327 |
-
uasort( $table, array( 'Custom_Permalinks_Admin', 'sort_array' ) );
|
328 |
-
$i = -1;
|
329 |
-
foreach ( $table as $permalink => $info ) {
|
330 |
-
$i++;
|
331 |
-
if ( $i < $pager_offset )
|
332 |
-
continue;
|
333 |
-
|
334 |
-
if ( $i >= $page_limit )
|
335 |
-
break;
|
336 |
-
|
337 |
-
$type = $info['kind'] == 'tag' ? 'post_tag' : 'category';
|
338 |
-
$term = get_term( $info['id'], $type );
|
339 |
-
$html .= '<tr valign="top">';
|
340 |
-
$html .= '<th scope="row" class="check-column">
|
341 |
-
<input type="checkbox" name="permalink[]" value="' . $info['id'] . '" />
|
342 |
-
</th>';
|
343 |
-
$html .= '<td><strong>
|
344 |
-
<a class="row-title" href="edit-tags.php?action=edit&taxonomy=' . $type . '&tag_ID=' . $info['id'] . ' ">' . $term->name . '</a>
|
345 |
-
</strong></td>';
|
346 |
-
$html .= '<td>' . ucwords( $info['kind'] ) . '</td>';
|
347 |
-
$html .= '<td>
|
348 |
-
<a href="/' . $permalink . '" target="_blank" title="' . __( "Visit " . $term->name, "custom-permalinks" ) . '">/' . $permalink . '</a>
|
349 |
-
</td>';
|
350 |
-
$html .= '</tr>';
|
351 |
-
}
|
352 |
-
} else {
|
353 |
-
$html .= '<tr class="no-items">
|
354 |
-
<td class="colspanchange" colspan="10">No permalinks found.</td>
|
355 |
-
</tr>';
|
356 |
-
}
|
357 |
-
$html .= '</tbody>
|
358 |
-
<tfoot>' . $table_navigation . '</tfoot>
|
359 |
-
</table>';
|
360 |
-
|
361 |
-
$html .= '<div class="tablenav bottom">
|
362 |
-
<div class="alignleft actions bulkactions">
|
363 |
-
<label for="bulk-action-selector-bottom" class="screen-reader-text">Select bulk action</label>
|
364 |
-
<select name="action2" id="bulk-action-selector-bottom">
|
365 |
-
<option value="-1">' . __( "Bulk Actions", "custom-permalinks" ) . '</option>
|
366 |
-
<option value="delete">' . __( "Delete Permalinks", "custom-permalinks" ) . '</option>
|
367 |
-
</select>
|
368 |
-
<input type="submit" id="doaction2" class="button action" value="Apply">
|
369 |
-
</div>
|
370 |
-
' . $pagination_html . '
|
371 |
-
</div>';
|
372 |
-
$html .= '</form>
|
373 |
-
</div>';
|
374 |
-
echo $html;
|
375 |
-
|
376 |
-
add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 );
|
377 |
-
}
|
378 |
-
|
379 |
-
/**
|
380 |
-
* Sort the terms array in desc order using term id
|
381 |
-
*/
|
382 |
-
private
|
383 |
-
return $b['id'] - $a['id'];
|
384 |
-
}
|
385 |
-
|
386 |
-
/**
|
387 |
-
* Return the Navigation row HTML same as Default Posts page for Category
|
388 |
-
*/
|
389 |
-
private function tablenav_category( $search_permalink ) {
|
390 |
-
$nav = '<tr>
|
391 |
-
<td id="cb" class="manage-column column-cb check-column">
|
392 |
-
<label class="screen-reader-text" for="cb-select-all-1">Select All</label><input id="cb-select-all-1" type="checkbox">
|
393 |
-
</td>
|
394 |
-
<th scope="col" id="title" class="manage-column column-title column-primary">' . __( "Title", "custom-permalinks" ) . '</th>
|
395 |
-
<th scope="col">' . __( "Type", "custom-permalinks" ) . '</th>
|
396 |
-
<th scope="col">' . __( "Permalink", "custom-permalinks" ) . '</th>
|
397 |
-
</tr>';
|
398 |
-
return $nav;
|
399 |
-
}
|
400 |
-
|
401 |
-
/**
|
402 |
-
* Return the Pager HTML
|
403 |
-
*/
|
404 |
-
private function cp_pager( $total_permalinks, $current_pager_value = 1, $total_pager = 0 ) {
|
405 |
-
|
406 |
-
if ( $total_pager == 0 ) return;
|
407 |
-
|
408 |
-
if ( $total_pager == 1 ) {
|
409 |
-
$pagination_html = '<div class="tablenav-pages one-page">
|
410 |
-
<span class="displaying-num">' . $total_permalinks . ' items</span>
|
411 |
-
</div>';
|
412 |
-
return $pagination_html;
|
413 |
-
}
|
414 |
-
|
415 |
-
$remove_pager_uri = explode(
|
416 |
-
'&paged=' . $current_pager_value . '', $_SERVER['REQUEST_URI']
|
417 |
-
);
|
418 |
-
$pagination_html = '<div class="tablenav-pages">
|
419 |
-
<span class="displaying-num">' . $total_permalinks . ' items</span>
|
420 |
-
<span class="pagination-links">';
|
421 |
-
|
422 |
-
if ( $current_pager_value == 1 ) {
|
423 |
-
$pagination_html .= '<span class="tablenav-pages-navspan" aria-hidden="true">« </span>
|
424 |
-
<span class="tablenav-pages-navspan" aria-hidden="true">‹ </span>';
|
425 |
-
} else {
|
426 |
-
$prev_page = $current_pager_value - 1;
|
427 |
-
if ( $prev_page == 1 ) {
|
428 |
-
$pagination_html .= '<span class="tablenav-pages-navspan" aria-hidden="true">«</span>';
|
429 |
-
} else {
|
430 |
-
$pagination_html .= ' <a href="' . $remove_pager_uri[0] . '&paged=1" title="First page" class="first-page">
|
431 |
-
<span class="screen-reader-text">First page</span>
|
432 |
-
<span aria-hidden="true">«</span>
|
433 |
-
</a> ';
|
434 |
-
}
|
435 |
-
$pagination_html .= ' <a href="' . $remove_pager_uri[0] . '&paged=' . $prev_page . '" title="Previous page" class="prev-page">
|
436 |
-
<span class="screen-reader-text">Previous page</span>
|
437 |
-
<span aria-hidden="true">‹</span>
|
438 |
-
</a> ';
|
439 |
-
}
|
440 |
-
|
441 |
-
$pagination_html .= '<span class="paging-input">
|
442 |
-
<label for="current-page-selector" class="screen-reader-text">Current Page</label>
|
443 |
-
<input class="current-page" id="current-page-selector" type="text" name="paged" value="' . $current_pager_value . '" size="1" aria-describedby="table-paging" />
|
444 |
-
<span class="tablenav-paging-text"> of <span class="total-pages">' . $total_pager . ' </span> </span>
|
445 |
-
</span>';
|
446 |
-
|
447 |
-
if ( $current_pager_value == $total_pager ) {
|
448 |
-
$pagination_html .= '<span class="tablenav-pages-navspan" aria-hidden="true">› </span>
|
449 |
-
<span class="tablenav-pages-navspan" aria-hidden="true">» </span>';
|
450 |
-
} else {
|
451 |
-
$next_page = $current_pager_value + 1;
|
452 |
-
$pagination_html .= ' <a href="' . $remove_pager_uri[0] . '&paged=' . $next_page . '" title="Next page" class="next-page">
|
453 |
-
<span class="screen-reader-text">Next page</span>
|
454 |
-
<span aria-hidden="true">›</span>
|
455 |
-
</a> ';
|
456 |
-
if ( $total_pager == $next_page) {
|
457 |
-
$pagination_html .= '<span class="tablenav-pages-navspan" aria-hidden="true">»</span>';
|
458 |
-
} else {
|
459 |
-
$pagination_html .= ' <a href="' . $remove_pager_uri[0] . '&paged=' . $total_pager . '" title="Last page" class="last-page">
|
460 |
-
<span class="screen-reader-text">Last page</span>
|
461 |
-
<span aria-hidden="true">»</span>
|
462 |
-
</a> ';
|
463 |
-
}
|
464 |
-
}
|
465 |
-
$pagination_html .= '</span></div>';
|
466 |
-
|
467 |
-
return $pagination_html;
|
468 |
-
}
|
469 |
-
|
470 |
-
/**
|
471 |
-
* Add About Plugins Page
|
472 |
-
*/
|
473 |
-
public function about_plugin() {
|
474 |
-
require_once(
|
475 |
-
CUSTOM_PERMALINKS_PATH . 'admin/class-custom-permalinks-about.php'
|
476 |
-
);
|
477 |
-
new Custom_Permalinks_About();
|
478 |
-
add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 );
|
479 |
-
}
|
480 |
-
|
481 |
-
/**
|
482 |
-
* Add Plugin Support and Follow Message in the footer of Admin Pages
|
483 |
-
*/
|
484 |
-
public function admin_footer_text() {
|
485 |
-
$footer_text = sprintf(
|
486 |
-
__( 'Custom Permalinks version %s by <a href="%s" title="YAS Global Website" target="_blank">YAS Global</a> - <a href="%s" title="Support forums" target="_blank">Support forums</a> - Follow on Twitter: <a href="%s" title="Follow YAS Global on Twitter" target="_blank">YAS Global</a>', 'custom-permalinks' ),
|
487 |
-
CUSTOM_PERMALINKS_PLUGIN_VERSION, 'https://www.yasglobal.com',
|
488 |
-
'https://wordpress.org/support/plugin/custom-permalinks',
|
489 |
-
'https://twitter.com/samisiddiqui91'
|
490 |
-
);
|
491 |
-
return $footer_text;
|
492 |
-
}
|
493 |
-
|
494 |
-
/**
|
495 |
-
* Add About and Premium Settings Page Link on the Plugin Page
|
496 |
-
* under the Plugin Name.
|
497 |
-
*/
|
498 |
-
public function settings_link( $links ) {
|
499 |
-
$about = sprintf(
|
500 |
-
__( '<a href="%s" title="About">About</a>', 'custom-permalinks' ),
|
501 |
-
'admin.php?page=cp-about-plugins'
|
502 |
-
);
|
503 |
-
$premium_support = sprintf(
|
504 |
-
__( '<a href="%s" title="Premium Support" target="_blank">Premium Support</a>', 'custom-permalinks' ),
|
505 |
-
'https://www.custompermalinks.com/#pricing-section'
|
506 |
-
);
|
507 |
-
array_unshift( $links, $premium_support );
|
508 |
-
array_unshift( $links, $about );
|
509 |
-
|
510 |
-
return $links;
|
511 |
-
}
|
512 |
-
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package CustomPermalinks\Admin
|
4 |
+
*/
|
5 |
+
|
6 |
+
class Custom_Permalinks_Admin {
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Initializes WordPress hooks
|
10 |
+
*/
|
11 |
+
function __construct() {
|
12 |
+
add_action( 'admin_menu', array( $this, 'admin_menu' ) );
|
13 |
+
add_filter( 'plugin_action_links_' . CUSTOM_PERMALINKS_BASENAME,
|
14 |
+
array( $this, 'settings_link' )
|
15 |
+
);
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Added Pages in Menu for Settings
|
20 |
+
*/
|
21 |
+
public function admin_menu() {
|
22 |
+
add_menu_page( 'Custom Permalinks', 'Custom Permalinks', 'administrator',
|
23 |
+
'cp-post-permalinks', array( $this,'posttype_permalinks' ),
|
24 |
+
'dashicons-admin-links'
|
25 |
+
);
|
26 |
+
add_submenu_page( 'cp-post-permalinks', 'PostTypes Permalinks',
|
27 |
+
'PostTypes Permalinks', 'administrator', 'cp-post-permalinks',
|
28 |
+
array( $this, 'posttype_permalinks' )
|
29 |
+
);
|
30 |
+
add_submenu_page( 'cp-post-permalinks', 'Category Permalinks',
|
31 |
+
'Category Permalinks', 'administrator', 'cp-category-permalinks',
|
32 |
+
array( $this, 'category_permalinks' )
|
33 |
+
);
|
34 |
+
add_submenu_page( 'cp-post-permalinks', 'About Custom Permalinks',
|
35 |
+
'About CP', 'administrator', 'cp-about-plugins',
|
36 |
+
array( $this, 'about_plugin' )
|
37 |
+
);
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Shows all the Permalinks created by using this Plugin with Pager and
|
42 |
+
* Search Functionality of Posts/Pages.
|
43 |
+
*/
|
44 |
+
public function posttype_permalinks() {
|
45 |
+
global $wpdb;
|
46 |
+
$filter_options = '';
|
47 |
+
$filter_permalink = '';
|
48 |
+
$search_permalink = '';
|
49 |
+
$html = '';
|
50 |
+
$error = '';
|
51 |
+
|
52 |
+
// Handle Bulk Operations
|
53 |
+
if ( ( isset( $_POST['action'] ) && $_POST['action'] == 'delete' )
|
54 |
+
|| ( isset( $_POST['action2'] ) && $_POST['action2'] == 'delete' )
|
55 |
+
&& isset( $_POST['permalink'] ) && ! empty( $_POST['permalink'] ) ) {
|
56 |
+
$post_ids = implode( ',', $_POST['permalink'] );
|
57 |
+
if ( preg_match( '/^\d+(?:,\d+)*$/', $post_ids ) ) {
|
58 |
+
$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE post_id IN ($post_ids) AND meta_key = 'custom_permalink'" );
|
59 |
+
} else {
|
60 |
+
$error = '<div id="message" class="error">
|
61 |
+
<p>' . __( 'There is some error to proceed your request. Please retry with your request or contact to the plugin author.', 'custom-permalinks' ) . '</p>
|
62 |
+
</div>';
|
63 |
+
}
|
64 |
+
}
|
65 |
+
$html .= '<div class="wrap">
|
66 |
+
<h1 class="wp-heading-inline">' . __( 'PostTypes Permalinks', 'custom-permalinks' ) . '</h1>';
|
67 |
+
$html .= $error;
|
68 |
+
|
69 |
+
$search_value = '';
|
70 |
+
if ( isset( $_GET['s'] ) && ! empty( $_GET['s'] ) ) {
|
71 |
+
$filter_permalink = 'AND pm.meta_value LIKE "%' . $_GET['s'] . '%"';
|
72 |
+
$search_permalink = '&s=' . $_GET['s'] . '';
|
73 |
+
$search_value = ltrim( htmlspecialchars( $_GET['s'] ), '/' );
|
74 |
+
$html .= '<span class="subtitle">Search results for "' . $search_value . '"</span>';
|
75 |
+
}
|
76 |
+
$page_limit = 'LIMIT 0, 20';
|
77 |
+
if ( isset( $_GET['paged'] ) && is_numeric( $_GET['paged'] )
|
78 |
+
&& $_GET['paged'] > 1 ) {
|
79 |
+
$pager = 20 * ( $_GET['paged'] - 1 );
|
80 |
+
$page_limit = 'LIMIT ' . $pager . ', 20';
|
81 |
+
}
|
82 |
+
$sorting_by = 'ORDER By p.ID DESC';
|
83 |
+
$order_by = 'asc';
|
84 |
+
$order_by_class = 'desc';
|
85 |
+
if ( isset( $_GET['orderby'] ) && $_GET['orderby'] == 'title' ) {
|
86 |
+
$filter_options .= '<input type="hidden" name="orderby" value="title" />';
|
87 |
+
if ( isset( $_GET['order'] ) && $_GET['order'] == 'desc' ) {
|
88 |
+
$sorting_by = 'ORDER By p.post_title DESC';
|
89 |
+
$order_by = 'asc';
|
90 |
+
$order_by_class = 'desc';
|
91 |
+
$filter_options .= '<input type="hidden" name="order" value="desc" />';
|
92 |
+
} else {
|
93 |
+
$sorting_by = 'ORDER By p.post_title';
|
94 |
+
$order_by = 'desc';
|
95 |
+
$order_by_class = 'asc';
|
96 |
+
$filter_options .= '<input type="hidden" name="order" value="asc" />';
|
97 |
+
}
|
98 |
+
}
|
99 |
+
$count_query = "SELECT COUNT(p.ID) AS total_permalinks FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS pm ON (p.ID = pm.post_id) WHERE pm.meta_key = 'custom_permalink' AND pm.meta_value != '' " . $filter_permalink . "";
|
100 |
+
$count_posts = $wpdb->get_row( $count_query );
|
101 |
+
|
102 |
+
$html .= '<form action="' . $_SERVER["REQUEST_URI"] . '" method="get">';
|
103 |
+
$html .= '<p class="search-box">';
|
104 |
+
$html .= '<input type="hidden" name="page" value="cp-post-permalinks" />';
|
105 |
+
$html .= $filter_options;
|
106 |
+
$html .= '<label class="screen-reader-text" for="custom-permalink-search-input">Search Custom Permalink:</label>';
|
107 |
+
$html .= '<input type="search" id="custom-permalink-search-input" name="s" value="' . $search_value . '">';
|
108 |
+
$html .= '<input type="submit" id="search-submit" class="button" value="Search Permalink"></p>';
|
109 |
+
$html .= '</form>';
|
110 |
+
$html .= '<form action="' . $_SERVER["REQUEST_URI"] . '" method="post">';
|
111 |
+
$html .= '<div class="tablenav top">';
|
112 |
+
$html .= '<div class="alignleft actions bulkactions">
|
113 |
+
<label for="bulk-action-selector-top" class="screen-reader-text">Select bulk action</label>
|
114 |
+
<select name="action" id="bulk-action-selector-top">
|
115 |
+
<option value="-1">' . __( "Bulk Actions", "custom-permalinks" ) . '</option>
|
116 |
+
<option value="delete">' . __( "Delete Permalinks", "custom-permalinks" ) . '</option>
|
117 |
+
</select>
|
118 |
+
<input type="submit" id="doaction" class="button action" value="Apply">
|
119 |
+
</div>';
|
120 |
+
|
121 |
+
$posts = 0;
|
122 |
+
if ( isset( $count_posts->total_permalinks )
|
123 |
+
&& $count_posts->total_permalinks > 0 ) {
|
124 |
+
|
125 |
+
$html .= '<h2 class="screen-reader-text">Custom Permalink navigation</h2>';
|
126 |
+
|
127 |
+
$query = "SELECT p.ID, p.post_title, p.post_type, pm.meta_value FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS pm ON (p.ID = pm.post_id) WHERE pm.meta_key = 'custom_permalink' AND pm.meta_value != '' " . $filter_permalink . " " . $sorting_by . " " . $page_limit . "";
|
128 |
+
$posts = $wpdb->get_results( $query );
|
129 |
+
|
130 |
+
$pagination_html = '';
|
131 |
+
$total_pages = ceil( $count_posts->total_permalinks / 20 );
|
132 |
+
if ( isset( $_GET['paged'] ) && is_numeric( $_GET['paged'] )
|
133 |
+
&& $_GET['paged'] > 0 ) {
|
134 |
+
$pagination_html = $this->cp_pager(
|
135 |
+
$count_posts->total_permalinks, $_GET['paged'], $total_pages
|
136 |
+
);
|
137 |
+
if ( $_GET['paged'] > $total_pages ) {
|
138 |
+
$redirect_uri = explode(
|
139 |
+
'&paged=' . $_GET['paged'] . '', $_SERVER['REQUEST_URI']
|
140 |
+
);
|
141 |
+
header( 'Location: ' . $redirect_uri[0], 301 );
|
142 |
+
exit();
|
143 |
+
}
|
144 |
+
} elseif ( ! isset( $_GET['paged'] ) ) {
|
145 |
+
$pagination_html = $this->cp_pager(
|
146 |
+
$count_posts->total_permalinks, 1, $total_pages
|
147 |
+
);
|
148 |
+
}
|
149 |
+
|
150 |
+
$html .= $pagination_html;
|
151 |
+
}
|
152 |
+
$table_navigation = $this->tablenav_posts(
|
153 |
+
$order_by_class, $order_by, $search_permalink
|
154 |
+
);
|
155 |
+
|
156 |
+
$html .= '</div>';
|
157 |
+
$html .= '<table class="wp-list-table widefat fixed striped posts">
|
158 |
+
<thead>' . $table_navigation . '</thead>
|
159 |
+
<tbody>';
|
160 |
+
if ( $posts != 0 && ! empty( $posts ) ) {
|
161 |
+
foreach ( $posts as $post ) {
|
162 |
+
$html .= '<tr valign="top">';
|
163 |
+
$html .= '<th scope="row" class="check-column">
|
164 |
+
<input type="checkbox" name="permalink[]" value="' . $post->ID . '" />
|
165 |
+
</th>';
|
166 |
+
$html .= '<td><strong>
|
167 |
+
<a class="row-title" href="post.php?action=edit&post=' . $post->ID . '">' . $post->post_title . '</a>
|
168 |
+
</strong></td>';
|
169 |
+
$html .= '<td>' . ucwords( $post->post_type ) . '</td>';
|
170 |
+
$html .= '<td>
|
171 |
+
<a href="/' . $post->meta_value . '" target="_blank" title="' . __( "Visit " . $post->post_title, "custom-permalinks" ) . '">/' . urldecode( $post->meta_value ) . '</a>
|
172 |
+
</td>';
|
173 |
+
$html .= '</tr>';
|
174 |
+
}
|
175 |
+
} else {
|
176 |
+
$html .= '<tr class="no-items">
|
177 |
+
<td class="colspanchange" colspan="10">No permalinks found.</td>
|
178 |
+
</tr>';
|
179 |
+
}
|
180 |
+
$html .= '</tbody>
|
181 |
+
<tfoot>' . $table_navigation . '</tfoot>
|
182 |
+
</table>';
|
183 |
+
|
184 |
+
$html .= '<div class="tablenav bottom">
|
185 |
+
<div class="alignleft actions bulkactions">
|
186 |
+
<label for="bulk-action-selector-bottom" class="screen-reader-text">Select bulk action</label>
|
187 |
+
<select name="action2" id="bulk-action-selector-bottom">
|
188 |
+
<option value="-1">' . __( "Bulk Actions", "custom-permalinks" ) . '</option>
|
189 |
+
<option value="delete">' . __( "Delete Permalinks", "custom-permalinks" ) . '</option>
|
190 |
+
</select>
|
191 |
+
<input type="submit" id="doaction2" class="button action" value="Apply">
|
192 |
+
</div>
|
193 |
+
' . $pagination_html . '
|
194 |
+
</div>';
|
195 |
+
$html .= '</form>
|
196 |
+
</div>';
|
197 |
+
echo $html;
|
198 |
+
|
199 |
+
add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 );
|
200 |
+
}
|
201 |
+
|
202 |
+
/**
|
203 |
+
* Return the Navigation row HTML same as Default Posts page for PostTypes
|
204 |
+
*/
|
205 |
+
private function tablenav_posts( $order_by_class, $order_by, $search_permalink ) {
|
206 |
+
$nav = '<tr>
|
207 |
+
<td id="cb" class="manage-column column-cb check-column">
|
208 |
+
<label class="screen-reader-text" for="cb-select-all-1">Select All</label>
|
209 |
+
<input id="cb-select-all-1" type="checkbox">
|
210 |
+
</td>
|
211 |
+
<th scope="col" id="title" class="manage-column column-title column-primary sortable ' . $order_by_class . '">
|
212 |
+
<a href="/wp-admin/admin.php?page=cp-post-permalinks&orderby=title&order=' . $order_by . $search_permalink . '"><span>' . __( "Title", "custom-permalinks" ) . '</span><span class="sorting-indicator"></span></a>
|
213 |
+
</th>
|
214 |
+
<th scope="col">' . __( "Type", "custom-permalinks" ) . '</th>
|
215 |
+
<th scope="col">' . __( "Permalink", "custom-permalinks" ) . '</th>
|
216 |
+
</tr>';
|
217 |
+
return $nav;
|
218 |
+
}
|
219 |
+
|
220 |
+
/**
|
221 |
+
* Shows all the Permalinks created by using this Plugin with Pager and Search Functionality of Category/Tags
|
222 |
+
*/
|
223 |
+
public function category_permalinks() {
|
224 |
+
|
225 |
+
$search_permalink = '';
|
226 |
+
$html = '';
|
227 |
+
|
228 |
+
// Handle Bulk Operations
|
229 |
+
if ( ( isset( $_POST['action'] ) && $_POST['action'] == 'delete' )
|
230 |
+
|| ( isset( $_POST['action2'] ) && $_POST['action2'] == 'delete' )
|
231 |
+
&& isset( $_POST['permalink'] ) && ! empty( $_POST['permalink'] ) ) {
|
232 |
+
$remove_perm = $_POST['permalink'];
|
233 |
+
$data = get_option( 'custom_permalink_table' );
|
234 |
+
if ( isset( $data ) && is_array( $data ) ) {
|
235 |
+
$i = 0;
|
236 |
+
foreach ( $data as $link => $info ) {
|
237 |
+
if ( in_array( $info['id'], $remove_perm ) ) {
|
238 |
+
unset( $data[$link] );
|
239 |
+
unset( $remove_perm[$i] );
|
240 |
+
if ( ! is_array( $remove_perm ) || empty( $remove_perm ) )
|
241 |
+
break;
|
242 |
+
}
|
243 |
+
$i++;
|
244 |
+
}
|
245 |
+
}
|
246 |
+
update_option( 'custom_permalink_table', $data );
|
247 |
+
}
|
248 |
+
$html .= '<div class="wrap">
|
249 |
+
<h1 class="wp-heading-inline">' . __( 'Category/Tags Permalinks', 'custom-permalinks' ) . '</h1>';
|
250 |
+
|
251 |
+
$search_value = '';
|
252 |
+
if ( isset( $_GET['s'] ) && ! empty( $_GET['s'] ) ) {
|
253 |
+
$search_permalink = '&s=' . $_GET['s'] . '';
|
254 |
+
$search_value = ltrim( htmlspecialchars( $_GET['s'] ), '/' );
|
255 |
+
$html .= '<span class="subtitle">Search results for "' . $search_value . '"</span>';
|
256 |
+
}
|
257 |
+
$pager_offset = '0';
|
258 |
+
$page_limit = 20;
|
259 |
+
if ( isset( $_GET['paged'] ) && is_numeric( $_GET['paged'] ) && $_GET['paged'] > 1 ) {
|
260 |
+
$pager_offset = 20 * ( $_GET['paged'] - 1 );
|
261 |
+
$page_limit = $pager_offset + 20;
|
262 |
+
}
|
263 |
+
$html .= '<form action="' . $_SERVER["REQUEST_URI"] . '" method="get">';
|
264 |
+
$html .= '<p class="search-box">';
|
265 |
+
$html .= '<input type="hidden" name="page" value="cp-category-permalinks" />';
|
266 |
+
$html .= '<label class="screen-reader-text" for="custom-permalink-search-input">Search Custom Permalink:</label>';
|
267 |
+
$html .= '<input type="search" id="custom-permalink-search-input" name="s" value="' . $search_value . '">';
|
268 |
+
$html .= '<input type="submit" id="search-submit" class="button" value="Search Permalink"></p>';
|
269 |
+
$html .= '</form>';
|
270 |
+
$html .= '<form action="' . $_SERVER["REQUEST_URI"] . '" method="post">';
|
271 |
+
$html .= '<div class="tablenav top">';
|
272 |
+
$html .= '<div class="alignleft actions bulkactions">
|
273 |
+
<label for="bulk-action-selector-top" class="screen-reader-text">Select bulk action</label>
|
274 |
+
<select name="action" id="bulk-action-selector-top">
|
275 |
+
<option value="-1">' . __( "Bulk Actions", "custom-permalinks" ) . '</option>
|
276 |
+
<option value="delete">' . __( "Delete Permalinks", "custom-permalinks" ) . '</option>
|
277 |
+
</select>
|
278 |
+
<input type="submit" id="doaction" class="button action" value="Apply">
|
279 |
+
</div>';
|
280 |
+
|
281 |
+
$posts = 0;
|
282 |
+
$table = get_option( 'custom_permalink_table' );
|
283 |
+
$count_tags = count( $table );
|
284 |
+
$pagination_html = '';
|
285 |
+
if ( isset( $table ) && is_array( $table ) && $count_tags > 0 ) {
|
286 |
+
|
287 |
+
$filtered = array();
|
288 |
+
if ( $search_value != '' ) {
|
289 |
+
foreach ( $table as $key => $value ) {
|
290 |
+
if ( preg_match( '/' . $search_value . '/', $key) ) {
|
291 |
+
$filtered[$key] = $value;
|
292 |
+
}
|
293 |
+
}
|
294 |
+
$table = $filtered;
|
295 |
+
$count_tags = count( $table );
|
296 |
+
}
|
297 |
+
|
298 |
+
$html .= '<h2 class="screen-reader-text">Custom Permalink navigation</h2>';
|
299 |
+
|
300 |
+
$total_pages = ceil( $count_tags / 20 );
|
301 |
+
if ( isset( $_GET['paged'] ) && is_numeric( $_GET['paged'] )
|
302 |
+
&& $_GET['paged'] > 0 ) {
|
303 |
+
$pagination_html = $this->cp_pager(
|
304 |
+
$count_tags, $_GET['paged'], $total_pages
|
305 |
+
);
|
306 |
+
if ( $_GET['paged'] > $total_pages ) {
|
307 |
+
$redirect_uri = explode(
|
308 |
+
'&paged=' . $_GET['paged'] . '', $_SERVER['REQUEST_URI']
|
309 |
+
);
|
310 |
+
header( 'Location: ' . $redirect_uri[0], 301 );
|
311 |
+
exit();
|
312 |
+
}
|
313 |
+
} elseif ( ! isset( $_GET['paged'] ) ) {
|
314 |
+
$pagination_html = $this->cp_pager( $count_tags, 1, $total_pages );
|
315 |
+
}
|
316 |
+
|
317 |
+
$html .= $pagination_html;
|
318 |
+
}
|
319 |
+
$table_navigation = $this->tablenav_category( $search_permalink );
|
320 |
+
|
321 |
+
$html .= '</div>';
|
322 |
+
$html .= '<table class="wp-list-table widefat fixed striped posts">
|
323 |
+
<thead>' . $table_navigation . '</thead>
|
324 |
+
<tbody>';
|
325 |
+
|
326 |
+
if ( $table && is_array( $table ) && $count_tags > 0 ) {
|
327 |
+
uasort( $table, array( 'Custom_Permalinks_Admin', 'sort_array' ) );
|
328 |
+
$i = -1;
|
329 |
+
foreach ( $table as $permalink => $info ) {
|
330 |
+
$i++;
|
331 |
+
if ( $i < $pager_offset )
|
332 |
+
continue;
|
333 |
+
|
334 |
+
if ( $i >= $page_limit )
|
335 |
+
break;
|
336 |
+
|
337 |
+
$type = $info['kind'] == 'tag' ? 'post_tag' : 'category';
|
338 |
+
$term = get_term( $info['id'], $type );
|
339 |
+
$html .= '<tr valign="top">';
|
340 |
+
$html .= '<th scope="row" class="check-column">
|
341 |
+
<input type="checkbox" name="permalink[]" value="' . $info['id'] . '" />
|
342 |
+
</th>';
|
343 |
+
$html .= '<td><strong>
|
344 |
+
<a class="row-title" href="edit-tags.php?action=edit&taxonomy=' . $type . '&tag_ID=' . $info['id'] . ' ">' . $term->name . '</a>
|
345 |
+
</strong></td>';
|
346 |
+
$html .= '<td>' . ucwords( $info['kind'] ) . '</td>';
|
347 |
+
$html .= '<td>
|
348 |
+
<a href="/' . $permalink . '" target="_blank" title="' . __( "Visit " . $term->name, "custom-permalinks" ) . '">/' . $permalink . '</a>
|
349 |
+
</td>';
|
350 |
+
$html .= '</tr>';
|
351 |
+
}
|
352 |
+
} else {
|
353 |
+
$html .= '<tr class="no-items">
|
354 |
+
<td class="colspanchange" colspan="10">No permalinks found.</td>
|
355 |
+
</tr>';
|
356 |
+
}
|
357 |
+
$html .= '</tbody>
|
358 |
+
<tfoot>' . $table_navigation . '</tfoot>
|
359 |
+
</table>';
|
360 |
+
|
361 |
+
$html .= '<div class="tablenav bottom">
|
362 |
+
<div class="alignleft actions bulkactions">
|
363 |
+
<label for="bulk-action-selector-bottom" class="screen-reader-text">Select bulk action</label>
|
364 |
+
<select name="action2" id="bulk-action-selector-bottom">
|
365 |
+
<option value="-1">' . __( "Bulk Actions", "custom-permalinks" ) . '</option>
|
366 |
+
<option value="delete">' . __( "Delete Permalinks", "custom-permalinks" ) . '</option>
|
367 |
+
</select>
|
368 |
+
<input type="submit" id="doaction2" class="button action" value="Apply">
|
369 |
+
</div>
|
370 |
+
' . $pagination_html . '
|
371 |
+
</div>';
|
372 |
+
$html .= '</form>
|
373 |
+
</div>';
|
374 |
+
echo $html;
|
375 |
+
|
376 |
+
add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 );
|
377 |
+
}
|
378 |
+
|
379 |
+
/**
|
380 |
+
* Sort the terms array in desc order using term id
|
381 |
+
*/
|
382 |
+
private function sort_array( $a, $b ) {
|
383 |
+
return $b['id'] - $a['id'];
|
384 |
+
}
|
385 |
+
|
386 |
+
/**
|
387 |
+
* Return the Navigation row HTML same as Default Posts page for Category
|
388 |
+
*/
|
389 |
+
private function tablenav_category( $search_permalink ) {
|
390 |
+
$nav = '<tr>
|
391 |
+
<td id="cb" class="manage-column column-cb check-column">
|
392 |
+
<label class="screen-reader-text" for="cb-select-all-1">Select All</label><input id="cb-select-all-1" type="checkbox">
|
393 |
+
</td>
|
394 |
+
<th scope="col" id="title" class="manage-column column-title column-primary">' . __( "Title", "custom-permalinks" ) . '</th>
|
395 |
+
<th scope="col">' . __( "Type", "custom-permalinks" ) . '</th>
|
396 |
+
<th scope="col">' . __( "Permalink", "custom-permalinks" ) . '</th>
|
397 |
+
</tr>';
|
398 |
+
return $nav;
|
399 |
+
}
|
400 |
+
|
401 |
+
/**
|
402 |
+
* Return the Pager HTML
|
403 |
+
*/
|
404 |
+
private function cp_pager( $total_permalinks, $current_pager_value = 1, $total_pager = 0 ) {
|
405 |
+
|
406 |
+
if ( $total_pager == 0 ) return;
|
407 |
+
|
408 |
+
if ( $total_pager == 1 ) {
|
409 |
+
$pagination_html = '<div class="tablenav-pages one-page">
|
410 |
+
<span class="displaying-num">' . $total_permalinks . ' items</span>
|
411 |
+
</div>';
|
412 |
+
return $pagination_html;
|
413 |
+
}
|
414 |
+
|
415 |
+
$remove_pager_uri = explode(
|
416 |
+
'&paged=' . $current_pager_value . '', $_SERVER['REQUEST_URI']
|
417 |
+
);
|
418 |
+
$pagination_html = '<div class="tablenav-pages">
|
419 |
+
<span class="displaying-num">' . $total_permalinks . ' items</span>
|
420 |
+
<span class="pagination-links">';
|
421 |
+
|
422 |
+
if ( $current_pager_value == 1 ) {
|
423 |
+
$pagination_html .= '<span class="tablenav-pages-navspan" aria-hidden="true">« </span>
|
424 |
+
<span class="tablenav-pages-navspan" aria-hidden="true">‹ </span>';
|
425 |
+
} else {
|
426 |
+
$prev_page = $current_pager_value - 1;
|
427 |
+
if ( $prev_page == 1 ) {
|
428 |
+
$pagination_html .= '<span class="tablenav-pages-navspan" aria-hidden="true">«</span>';
|
429 |
+
} else {
|
430 |
+
$pagination_html .= ' <a href="' . $remove_pager_uri[0] . '&paged=1" title="First page" class="first-page">
|
431 |
+
<span class="screen-reader-text">First page</span>
|
432 |
+
<span aria-hidden="true">«</span>
|
433 |
+
</a> ';
|
434 |
+
}
|
435 |
+
$pagination_html .= ' <a href="' . $remove_pager_uri[0] . '&paged=' . $prev_page . '" title="Previous page" class="prev-page">
|
436 |
+
<span class="screen-reader-text">Previous page</span>
|
437 |
+
<span aria-hidden="true">‹</span>
|
438 |
+
</a> ';
|
439 |
+
}
|
440 |
+
|
441 |
+
$pagination_html .= '<span class="paging-input">
|
442 |
+
<label for="current-page-selector" class="screen-reader-text">Current Page</label>
|
443 |
+
<input class="current-page" id="current-page-selector" type="text" name="paged" value="' . $current_pager_value . '" size="1" aria-describedby="table-paging" />
|
444 |
+
<span class="tablenav-paging-text"> of <span class="total-pages">' . $total_pager . ' </span> </span>
|
445 |
+
</span>';
|
446 |
+
|
447 |
+
if ( $current_pager_value == $total_pager ) {
|
448 |
+
$pagination_html .= '<span class="tablenav-pages-navspan" aria-hidden="true">› </span>
|
449 |
+
<span class="tablenav-pages-navspan" aria-hidden="true">» </span>';
|
450 |
+
} else {
|
451 |
+
$next_page = $current_pager_value + 1;
|
452 |
+
$pagination_html .= ' <a href="' . $remove_pager_uri[0] . '&paged=' . $next_page . '" title="Next page" class="next-page">
|
453 |
+
<span class="screen-reader-text">Next page</span>
|
454 |
+
<span aria-hidden="true">›</span>
|
455 |
+
</a> ';
|
456 |
+
if ( $total_pager == $next_page) {
|
457 |
+
$pagination_html .= '<span class="tablenav-pages-navspan" aria-hidden="true">»</span>';
|
458 |
+
} else {
|
459 |
+
$pagination_html .= ' <a href="' . $remove_pager_uri[0] . '&paged=' . $total_pager . '" title="Last page" class="last-page">
|
460 |
+
<span class="screen-reader-text">Last page</span>
|
461 |
+
<span aria-hidden="true">»</span>
|
462 |
+
</a> ';
|
463 |
+
}
|
464 |
+
}
|
465 |
+
$pagination_html .= '</span></div>';
|
466 |
+
|
467 |
+
return $pagination_html;
|
468 |
+
}
|
469 |
+
|
470 |
+
/**
|
471 |
+
* Add About Plugins Page
|
472 |
+
*/
|
473 |
+
public function about_plugin() {
|
474 |
+
require_once(
|
475 |
+
CUSTOM_PERMALINKS_PATH . 'admin/class-custom-permalinks-about.php'
|
476 |
+
);
|
477 |
+
new Custom_Permalinks_About();
|
478 |
+
add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 );
|
479 |
+
}
|
480 |
+
|
481 |
+
/**
|
482 |
+
* Add Plugin Support and Follow Message in the footer of Admin Pages
|
483 |
+
*/
|
484 |
+
public function admin_footer_text() {
|
485 |
+
$footer_text = sprintf(
|
486 |
+
__( 'Custom Permalinks version %s by <a href="%s" title="YAS Global Website" target="_blank">YAS Global</a> - <a href="%s" title="Support forums" target="_blank">Support forums</a> - Follow on Twitter: <a href="%s" title="Follow YAS Global on Twitter" target="_blank">YAS Global</a>', 'custom-permalinks' ),
|
487 |
+
CUSTOM_PERMALINKS_PLUGIN_VERSION, 'https://www.yasglobal.com',
|
488 |
+
'https://wordpress.org/support/plugin/custom-permalinks',
|
489 |
+
'https://twitter.com/samisiddiqui91'
|
490 |
+
);
|
491 |
+
return $footer_text;
|
492 |
+
}
|
493 |
+
|
494 |
+
/**
|
495 |
+
* Add About and Premium Settings Page Link on the Plugin Page
|
496 |
+
* under the Plugin Name.
|
497 |
+
*/
|
498 |
+
public function settings_link( $links ) {
|
499 |
+
$about = sprintf(
|
500 |
+
__( '<a href="%s" title="About">About</a>', 'custom-permalinks' ),
|
501 |
+
'admin.php?page=cp-about-plugins'
|
502 |
+
);
|
503 |
+
$premium_support = sprintf(
|
504 |
+
__( '<a href="%s" title="Premium Support" target="_blank">Premium Support</a>', 'custom-permalinks' ),
|
505 |
+
'https://www.custompermalinks.com/#pricing-section'
|
506 |
+
);
|
507 |
+
array_unshift( $links, $premium_support );
|
508 |
+
array_unshift( $links, $about );
|
509 |
+
|
510 |
+
return $links;
|
511 |
+
}
|
512 |
+
}
|
admin/css/about-plugins.css
CHANGED
@@ -1,213 +1,213 @@
|
|
1 |
-
.wrap {
|
2 |
-
margin: 2em auto 1em;
|
3 |
-
max-width: 1090px;
|
4 |
-
}
|
5 |
-
.wrap .float {
|
6 |
-
width: calc(100% - 188px);
|
7 |
-
float: left;
|
8 |
-
box-sizing: border-box;
|
9 |
-
}
|
10 |
-
.wrap .float:nth-child(2) {
|
11 |
-
width: 128px;
|
12 |
-
margin: 40px 0 70px 50px;
|
13 |
-
}
|
14 |
-
.wrap h1 {
|
15 |
-
margin: 40px auto 20px;
|
16 |
-
font-size: 2.5em;
|
17 |
-
}
|
18 |
-
.tagline p {
|
19 |
-
font-size: 1.3em;
|
20 |
-
margin-bottom: 1em;
|
21 |
-
margin: 0 auto 1em;
|
22 |
-
}
|
23 |
-
p a {
|
24 |
-
text-decoration: none;
|
25 |
-
}
|
26 |
-
#footer-left a {
|
27 |
-
text-decoration: underline;
|
28 |
-
}
|
29 |
-
a .star svg polygon {
|
30 |
-
fill: #f9d539;
|
31 |
-
}
|
32 |
-
a .star svg:hover polygon {
|
33 |
-
fill: #ff7c00;
|
34 |
-
}
|
35 |
-
.product {
|
36 |
-
width: 100%;
|
37 |
-
display: inline-block;
|
38 |
-
text-align: center;
|
39 |
-
}
|
40 |
-
.product > span {
|
41 |
-
font-size: 1.3em;
|
42 |
-
margin-bottom: 1em;
|
43 |
-
display: block;
|
44 |
-
text-align: left;
|
45 |
-
margin: 0 auto 1em;
|
46 |
-
}
|
47 |
-
.product h2 {
|
48 |
-
display: block;
|
49 |
-
margin: 1em auto;
|
50 |
-
font-size: 2.2em;
|
51 |
-
text-align:left;
|
52 |
-
}
|
53 |
-
.product .box {
|
54 |
-
background-color: #fff;
|
55 |
-
width: 300px;
|
56 |
-
min-height: 200px;
|
57 |
-
text-align: center;
|
58 |
-
padding: 20px;
|
59 |
-
box-shadow: 2px 2px 3px #d1d1d1;
|
60 |
-
display: inline-block;
|
61 |
-
margin: 10px;
|
62 |
-
vertical-align: top;
|
63 |
-
}
|
64 |
-
.product .tagline{
|
65 |
-
text-align: center;
|
66 |
-
}
|
67 |
-
.product .img {
|
68 |
-
background: #eee;
|
69 |
-
border-radius: 50%;
|
70 |
-
width: 150px;
|
71 |
-
height: 150px;
|
72 |
-
margin: 0 auto;
|
73 |
-
}
|
74 |
-
.product .img svg,
|
75 |
-
.product .img img {
|
76 |
-
max-width: 70%;
|
77 |
-
margin-top: 25px;
|
78 |
-
}
|
79 |
-
.product .h3 {
|
80 |
-
margin-bottom: 5px;
|
81 |
-
}
|
82 |
-
|
83 |
-
.product p {
|
84 |
-
color: #888;
|
85 |
-
font-size: 14px;
|
86 |
-
line-height: 26px;
|
87 |
-
text-align: left;
|
88 |
-
transition: max-height 450ms 100ms ease;
|
89 |
-
margin: 1em 0 2em;
|
90 |
-
}
|
91 |
-
@media(min-width:746px) {
|
92 |
-
.product p {
|
93 |
-
min-height: 185px;
|
94 |
-
max-height: 135px;
|
95 |
-
overflow: hidden;
|
96 |
-
}
|
97 |
-
.product .box:hover p {
|
98 |
-
max-height: 300px
|
99 |
-
}
|
100 |
-
}
|
101 |
-
.box.recommended {
|
102 |
-
position: relative;
|
103 |
-
background: rgb(232, 235, 238);
|
104 |
-
}
|
105 |
-
.box.recommended * {
|
106 |
-
position: relative;
|
107 |
-
z-index:2;
|
108 |
-
}
|
109 |
-
.box.recommended:before {
|
110 |
-
content: "";
|
111 |
-
position: absolute;
|
112 |
-
width: 100%;
|
113 |
-
height: 100%;
|
114 |
-
transition: all 350ms ease;
|
115 |
-
z-index: 1;
|
116 |
-
background: aliceblue;
|
117 |
-
right: 0;
|
118 |
-
top: 0;
|
119 |
-
background: linear-gradient(35deg, rgb(232, 235, 238) 62%,rgba(181,198,208,1) 50%);
|
120 |
-
transform-origin: top right;
|
121 |
-
}
|
122 |
-
@keyframes blinking {
|
123 |
-
0%,100%{opacity:0.1}
|
124 |
-
25%,75%{opacity:1}
|
125 |
-
}
|
126 |
-
.box.recommended:after {
|
127 |
-
content: "RECOMMENDED";
|
128 |
-
position: absolute;
|
129 |
-
top: 41px;
|
130 |
-
right: -11px;
|
131 |
-
color: #fff;
|
132 |
-
font-size: 18px;
|
133 |
-
font-weight: bold;
|
134 |
-
transform: rotateZ(35deg);
|
135 |
-
font-family: sans-serif;
|
136 |
-
z-index: 1;
|
137 |
-
animation: blinking 2s infinite linear;
|
138 |
-
}
|
139 |
-
.box.recommended:hover:before {
|
140 |
-
height: 175px;
|
141 |
-
width: 150px;
|
142 |
-
}
|
143 |
-
.box.recommended:hover:after {
|
144 |
-
animation: blinking 2s 1 linear;
|
145 |
-
}
|
146 |
-
|
147 |
-
.box > a {
|
148 |
-
display: inline-block;
|
149 |
-
float: right;
|
150 |
-
background: rgb(181,198,208);
|
151 |
-
color: #fff;
|
152 |
-
background: linear-gradient(-35deg, rgba(216,225,231,0.8) 12%,rgb(181,198,208) 13%);
|
153 |
-
text-decoration: none;
|
154 |
-
font-size:20px;
|
155 |
-
padding: 8px 17px;
|
156 |
-
border-radius: 3px;
|
157 |
-
transition: all 250ms ease;
|
158 |
-
}
|
159 |
-
.box > a:hover {
|
160 |
-
font-size: 22px;
|
161 |
-
}
|
162 |
-
@media(max-width:991px) {
|
163 |
-
.wrap {
|
164 |
-
max-width: 725px;
|
165 |
-
}
|
166 |
-
}
|
167 |
-
@media(max-width:767px) {
|
168 |
-
.wrap {
|
169 |
-
max-width: 640px;
|
170 |
-
}
|
171 |
-
.product .box {
|
172 |
-
width: 258px;
|
173 |
-
min-height: 410px;
|
174 |
-
}
|
175 |
-
}
|
176 |
-
@media(max-width:650px){
|
177 |
-
.wrap {
|
178 |
-
max-width: 460px;
|
179 |
-
}
|
180 |
-
.product .box {
|
181 |
-
width: 400px;
|
182 |
-
max-width: 90%;
|
183 |
-
min-height: inherit;
|
184 |
-
margin-left: 0;
|
185 |
-
margin-right: 0;
|
186 |
-
box-sizing: border-box;
|
187 |
-
}
|
188 |
-
.wrap .float {
|
189 |
-
width: 100%;
|
190 |
-
}
|
191 |
-
.wrap .float:nth-child(2) {
|
192 |
-
margin: 40px 0 70px 50px;
|
193 |
-
position: absolute;
|
194 |
-
right: 20px;
|
195 |
-
}
|
196 |
-
.wrap h1 {
|
197 |
-
margin: 70px 0 30px;
|
198 |
-
width: 300px;
|
199 |
-
line-height: 1.2em;
|
200 |
-
}
|
201 |
-
}
|
202 |
-
@media(max-width:450px) {
|
203 |
-
.wrap h1 {
|
204 |
-
margin: 0px 0 150px;
|
205 |
-
font-size: 2em;
|
206 |
-
width: 300px;
|
207 |
-
}
|
208 |
-
.wrap .float:nth-child(2) {
|
209 |
-
right: inherit;
|
210 |
-
margin: 80px auto 0;
|
211 |
-
text-align: center;
|
212 |
-
}
|
213 |
}
|
1 |
+
.wrap {
|
2 |
+
margin: 2em auto 1em;
|
3 |
+
max-width: 1090px;
|
4 |
+
}
|
5 |
+
.wrap .float {
|
6 |
+
width: calc(100% - 188px);
|
7 |
+
float: left;
|
8 |
+
box-sizing: border-box;
|
9 |
+
}
|
10 |
+
.wrap .float:nth-child(2) {
|
11 |
+
width: 128px;
|
12 |
+
margin: 40px 0 70px 50px;
|
13 |
+
}
|
14 |
+
.wrap h1 {
|
15 |
+
margin: 40px auto 20px;
|
16 |
+
font-size: 2.5em;
|
17 |
+
}
|
18 |
+
.tagline p {
|
19 |
+
font-size: 1.3em;
|
20 |
+
margin-bottom: 1em;
|
21 |
+
margin: 0 auto 1em;
|
22 |
+
}
|
23 |
+
p a {
|
24 |
+
text-decoration: none;
|
25 |
+
}
|
26 |
+
#footer-left a {
|
27 |
+
text-decoration: underline;
|
28 |
+
}
|
29 |
+
a .star svg polygon {
|
30 |
+
fill: #f9d539;
|
31 |
+
}
|
32 |
+
a .star svg:hover polygon {
|
33 |
+
fill: #ff7c00;
|
34 |
+
}
|
35 |
+
.product {
|
36 |
+
width: 100%;
|
37 |
+
display: inline-block;
|
38 |
+
text-align: center;
|
39 |
+
}
|
40 |
+
.product > span {
|
41 |
+
font-size: 1.3em;
|
42 |
+
margin-bottom: 1em;
|
43 |
+
display: block;
|
44 |
+
text-align: left;
|
45 |
+
margin: 0 auto 1em;
|
46 |
+
}
|
47 |
+
.product h2 {
|
48 |
+
display: block;
|
49 |
+
margin: 1em auto;
|
50 |
+
font-size: 2.2em;
|
51 |
+
text-align:left;
|
52 |
+
}
|
53 |
+
.product .box {
|
54 |
+
background-color: #fff;
|
55 |
+
width: 300px;
|
56 |
+
min-height: 200px;
|
57 |
+
text-align: center;
|
58 |
+
padding: 20px;
|
59 |
+
box-shadow: 2px 2px 3px #d1d1d1;
|
60 |
+
display: inline-block;
|
61 |
+
margin: 10px;
|
62 |
+
vertical-align: top;
|
63 |
+
}
|
64 |
+
.product .tagline{
|
65 |
+
text-align: center;
|
66 |
+
}
|
67 |
+
.product .img {
|
68 |
+
background: #eee;
|
69 |
+
border-radius: 50%;
|
70 |
+
width: 150px;
|
71 |
+
height: 150px;
|
72 |
+
margin: 0 auto;
|
73 |
+
}
|
74 |
+
.product .img svg,
|
75 |
+
.product .img img {
|
76 |
+
max-width: 70%;
|
77 |
+
margin-top: 25px;
|
78 |
+
}
|
79 |
+
.product .h3 {
|
80 |
+
margin-bottom: 5px;
|
81 |
+
}
|
82 |
+
|
83 |
+
.product p {
|
84 |
+
color: #888;
|
85 |
+
font-size: 14px;
|
86 |
+
line-height: 26px;
|
87 |
+
text-align: left;
|
88 |
+
transition: max-height 450ms 100ms ease;
|
89 |
+
margin: 1em 0 2em;
|
90 |
+
}
|
91 |
+
@media(min-width:746px) {
|
92 |
+
.product p {
|
93 |
+
min-height: 185px;
|
94 |
+
max-height: 135px;
|
95 |
+
overflow: hidden;
|
96 |
+
}
|
97 |
+
.product .box:hover p {
|
98 |
+
max-height: 300px
|
99 |
+
}
|
100 |
+
}
|
101 |
+
.box.recommended {
|
102 |
+
position: relative;
|
103 |
+
background: rgb(232, 235, 238);
|
104 |
+
}
|
105 |
+
.box.recommended * {
|
106 |
+
position: relative;
|
107 |
+
z-index:2;
|
108 |
+
}
|
109 |
+
.box.recommended:before {
|
110 |
+
content: "";
|
111 |
+
position: absolute;
|
112 |
+
width: 100%;
|
113 |
+
height: 100%;
|
114 |
+
transition: all 350ms ease;
|
115 |
+
z-index: 1;
|
116 |
+
background: aliceblue;
|
117 |
+
right: 0;
|
118 |
+
top: 0;
|
119 |
+
background: linear-gradient(35deg, rgb(232, 235, 238) 62%,rgba(181,198,208,1) 50%);
|
120 |
+
transform-origin: top right;
|
121 |
+
}
|
122 |
+
@keyframes blinking {
|
123 |
+
0%,100%{opacity:0.1}
|
124 |
+
25%,75%{opacity:1}
|
125 |
+
}
|
126 |
+
.box.recommended:after {
|
127 |
+
content: "RECOMMENDED";
|
128 |
+
position: absolute;
|
129 |
+
top: 41px;
|
130 |
+
right: -11px;
|
131 |
+
color: #fff;
|
132 |
+
font-size: 18px;
|
133 |
+
font-weight: bold;
|
134 |
+
transform: rotateZ(35deg);
|
135 |
+
font-family: sans-serif;
|
136 |
+
z-index: 1;
|
137 |
+
animation: blinking 2s infinite linear;
|
138 |
+
}
|
139 |
+
.box.recommended:hover:before {
|
140 |
+
height: 175px;
|
141 |
+
width: 150px;
|
142 |
+
}
|
143 |
+
.box.recommended:hover:after {
|
144 |
+
animation: blinking 2s 1 linear;
|
145 |
+
}
|
146 |
+
|
147 |
+
.box > a {
|
148 |
+
display: inline-block;
|
149 |
+
float: right;
|
150 |
+
background: rgb(181,198,208);
|
151 |
+
color: #fff;
|
152 |
+
background: linear-gradient(-35deg, rgba(216,225,231,0.8) 12%,rgb(181,198,208) 13%);
|
153 |
+
text-decoration: none;
|
154 |
+
font-size:20px;
|
155 |
+
padding: 8px 17px;
|
156 |
+
border-radius: 3px;
|
157 |
+
transition: all 250ms ease;
|
158 |
+
}
|
159 |
+
.box > a:hover {
|
160 |
+
font-size: 22px;
|
161 |
+
}
|
162 |
+
@media(max-width:991px) {
|
163 |
+
.wrap {
|
164 |
+
max-width: 725px;
|
165 |
+
}
|
166 |
+
}
|
167 |
+
@media(max-width:767px) {
|
168 |
+
.wrap {
|
169 |
+
max-width: 640px;
|
170 |
+
}
|
171 |
+
.product .box {
|
172 |
+
width: 258px;
|
173 |
+
min-height: 410px;
|
174 |
+
}
|
175 |
+
}
|
176 |
+
@media(max-width:650px){
|
177 |
+
.wrap {
|
178 |
+
max-width: 460px;
|
179 |
+
}
|
180 |
+
.product .box {
|
181 |
+
width: 400px;
|
182 |
+
max-width: 90%;
|
183 |
+
min-height: inherit;
|
184 |
+
margin-left: 0;
|
185 |
+
margin-right: 0;
|
186 |
+
box-sizing: border-box;
|
187 |
+
}
|
188 |
+
.wrap .float {
|
189 |
+
width: 100%;
|
190 |
+
}
|
191 |
+
.wrap .float:nth-child(2) {
|
192 |
+
margin: 40px 0 70px 50px;
|
193 |
+
position: absolute;
|
194 |
+
right: 20px;
|
195 |
+
}
|
196 |
+
.wrap h1 {
|
197 |
+
margin: 70px 0 30px;
|
198 |
+
width: 300px;
|
199 |
+
line-height: 1.2em;
|
200 |
+
}
|
201 |
+
}
|
202 |
+
@media(max-width:450px) {
|
203 |
+
.wrap h1 {
|
204 |
+
margin: 0px 0 150px;
|
205 |
+
font-size: 2em;
|
206 |
+
width: 300px;
|
207 |
+
}
|
208 |
+
.wrap .float:nth-child(2) {
|
209 |
+
right: inherit;
|
210 |
+
margin: 80px auto 0;
|
211 |
+
text-align: center;
|
212 |
+
}
|
213 |
}
|
changelog.txt
CHANGED
@@ -2,6 +2,65 @@
|
|
2 |
|
3 |
This file contains only old changelog. See readme.txt for newer versions.
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
= 0.9.3 =
|
6 |
|
7 |
* Fixed PolyLang Conflicts
|
2 |
|
3 |
This file contains only old changelog. See readme.txt for newer versions.
|
4 |
|
5 |
+
= 1.2.5 =
|
6 |
+
|
7 |
+
* Fixed Category/Tag Update Issue + Typo on Admin Page
|
8 |
+
|
9 |
+
= 1.2.4 =
|
10 |
+
|
11 |
+
* Fixed Slug issue with Yoast SEO
|
12 |
+
|
13 |
+
= 1.2.3 =
|
14 |
+
|
15 |
+
* Fixed PHP Notice on Edit Post Page
|
16 |
+
|
17 |
+
= 1.2.2 =
|
18 |
+
|
19 |
+
* Fixed Typo of Class Object for term on Admin Page
|
20 |
+
|
21 |
+
= 1.2.1 =
|
22 |
+
|
23 |
+
* Fixed Class Typo
|
24 |
+
|
25 |
+
= 1.2 =
|
26 |
+
|
27 |
+
* Enhancements
|
28 |
+
* Added Filter to Exclude/Ignore URL to be processed
|
29 |
+
* Added Translation Capability
|
30 |
+
* Split the Code using OOPS Concept to improve performance and applied the filters according to the need
|
31 |
+
* Removed some unnecessary filters
|
32 |
+
* Bugs
|
33 |
+
* Fixed Vulnerability Issues
|
34 |
+
|
35 |
+
= 1.1 =
|
36 |
+
|
37 |
+
* Enhancements
|
38 |
+
* Added PostTypes Permalinks Page
|
39 |
+
* View all the PostTypes permalinks
|
40 |
+
* Search Permalinks
|
41 |
+
* Sort by Title
|
42 |
+
* Pagination
|
43 |
+
* Added Categories Permalinks Page
|
44 |
+
* View all the Category/Tags permalinks
|
45 |
+
* Search Permalinks
|
46 |
+
* Pagination
|
47 |
+
|
48 |
+
* Bug Fixes
|
49 |
+
* 404 Issues
|
50 |
+
* Child pages bug
|
51 |
+
|
52 |
+
= 1.0.2 =
|
53 |
+
|
54 |
+
* Fixed Notice and some URL Issues
|
55 |
+
|
56 |
+
= 1.0.1 =
|
57 |
+
|
58 |
+
* Fixed issue with AMP Pages
|
59 |
+
|
60 |
+
= 1.0 =
|
61 |
+
|
62 |
+
* Updated Query on the `custom_permalinks_request` Function
|
63 |
+
|
64 |
= 0.9.3 =
|
65 |
|
66 |
* Fixed PolyLang Conflicts
|
custom-permalinks-main.php
CHANGED
@@ -1,49 +1,49 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package CustomPermalinks\Main
|
4 |
-
*/
|
5 |
-
|
6 |
-
// Make sure we don't expose any info if called directly
|
7 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
8 |
-
echo 'Hi there! I\'m just a plugin, not much I can do when called directly.';
|
9 |
-
exit;
|
10 |
-
}
|
11 |
-
|
12 |
-
if ( ! function_exists( 'add_action' ) || ! function_exists( 'add_filter' ) ) {
|
13 |
-
header( 'Status: 403 Forbidden' );
|
14 |
-
header( 'HTTP/1.1 403 Forbidden' );
|
15 |
-
exit();
|
16 |
-
}
|
17 |
-
|
18 |
-
define( 'CUSTOM_PERMALINKS_PLUGIN_VERSION', '1.2.
|
19 |
-
|
20 |
-
if ( ! defined( 'CUSTOM_PERMALINKS_PATH' ) ) {
|
21 |
-
define( 'CUSTOM_PERMALINKS_PATH', plugin_dir_path( CUSTOM_PERMALINKS_FILE ) );
|
22 |
-
}
|
23 |
-
|
24 |
-
if ( ! defined( 'CUSTOM_PERMALINKS_BASENAME' ) ) {
|
25 |
-
define( 'CUSTOM_PERMALINKS_BASENAME', plugin_basename( CUSTOM_PERMALINKS_FILE ) );
|
26 |
-
}
|
27 |
-
|
28 |
-
require_once( CUSTOM_PERMALINKS_PATH . 'frontend/class-custom-permalinks-frontend.php' );
|
29 |
-
$custom_permalinks_frontend = new Custom_Permalinks_Frontend();
|
30 |
-
$custom_permalinks_frontend->init();
|
31 |
-
|
32 |
-
require_once( CUSTOM_PERMALINKS_PATH . 'frontend/class-custom-permalinks-form.php' );
|
33 |
-
$custom_permalinks_form = new Custom_Permalinks_Form();
|
34 |
-
$custom_permalinks_form->init();
|
35 |
-
|
36 |
-
if ( is_admin() ) {
|
37 |
-
require_once( CUSTOM_PERMALINKS_PATH . 'admin/class-custom-permalinks-admin.php' );
|
38 |
-
new Custom_Permalinks_Admin();
|
39 |
-
}
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Add textdomain hook for translation
|
43 |
-
*/
|
44 |
-
function custom_permalinks_translation_capability() {
|
45 |
-
load_plugin_textdomain( 'custom-permalinks', FALSE,
|
46 |
-
basename( dirname( CUSTOM_PERMALINKS_FILE ) ) . '/languages/'
|
47 |
-
);
|
48 |
-
}
|
49 |
-
add_action( 'plugins_loaded', 'custom_permalinks_translation_capability' );
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package CustomPermalinks\Main
|
4 |
+
*/
|
5 |
+
|
6 |
+
// Make sure we don't expose any info if called directly
|
7 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
8 |
+
echo 'Hi there! I\'m just a plugin, not much I can do when called directly.';
|
9 |
+
exit;
|
10 |
+
}
|
11 |
+
|
12 |
+
if ( ! function_exists( 'add_action' ) || ! function_exists( 'add_filter' ) ) {
|
13 |
+
header( 'Status: 403 Forbidden' );
|
14 |
+
header( 'HTTP/1.1 403 Forbidden' );
|
15 |
+
exit();
|
16 |
+
}
|
17 |
+
|
18 |
+
define( 'CUSTOM_PERMALINKS_PLUGIN_VERSION', '1.2.14' );
|
19 |
+
|
20 |
+
if ( ! defined( 'CUSTOM_PERMALINKS_PATH' ) ) {
|
21 |
+
define( 'CUSTOM_PERMALINKS_PATH', plugin_dir_path( CUSTOM_PERMALINKS_FILE ) );
|
22 |
+
}
|
23 |
+
|
24 |
+
if ( ! defined( 'CUSTOM_PERMALINKS_BASENAME' ) ) {
|
25 |
+
define( 'CUSTOM_PERMALINKS_BASENAME', plugin_basename( CUSTOM_PERMALINKS_FILE ) );
|
26 |
+
}
|
27 |
+
|
28 |
+
require_once( CUSTOM_PERMALINKS_PATH . 'frontend/class-custom-permalinks-frontend.php' );
|
29 |
+
$custom_permalinks_frontend = new Custom_Permalinks_Frontend();
|
30 |
+
$custom_permalinks_frontend->init();
|
31 |
+
|
32 |
+
require_once( CUSTOM_PERMALINKS_PATH . 'frontend/class-custom-permalinks-form.php' );
|
33 |
+
$custom_permalinks_form = new Custom_Permalinks_Form();
|
34 |
+
$custom_permalinks_form->init();
|
35 |
+
|
36 |
+
if ( is_admin() ) {
|
37 |
+
require_once( CUSTOM_PERMALINKS_PATH . 'admin/class-custom-permalinks-admin.php' );
|
38 |
+
new Custom_Permalinks_Admin();
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Add textdomain hook for translation
|
43 |
+
*/
|
44 |
+
function custom_permalinks_translation_capability() {
|
45 |
+
load_plugin_textdomain( 'custom-permalinks', FALSE,
|
46 |
+
basename( dirname( CUSTOM_PERMALINKS_FILE ) ) . '/languages/'
|
47 |
+
);
|
48 |
+
}
|
49 |
+
add_action( 'plugins_loaded', 'custom_permalinks_translation_capability' );
|
custom-permalinks.php
CHANGED
@@ -3,9 +3,9 @@
|
|
3 |
* Plugin Name: Custom Permalinks
|
4 |
* Plugin URI: https://wordpress.org/plugins/custom-permalinks/
|
5 |
* Description: Set custom permalinks on a per-post basis
|
6 |
-
* Version: 1.2.
|
7 |
* Author: Sami Ahmed Siddiqui
|
8 |
-
* Author URI: https://www.custompermalinks.com
|
9 |
* Donate link: https://www.paypal.me/yasglobal
|
10 |
* License: GPLv3
|
11 |
*
|
@@ -16,8 +16,8 @@
|
|
16 |
*/
|
17 |
|
18 |
/**
|
19 |
-
*
|
20 |
-
*
|
21 |
*
|
22 |
* This program is free software: you can redistribute it and/or modify
|
23 |
* it under the terms of the GNU General Public License as published by
|
3 |
* Plugin Name: Custom Permalinks
|
4 |
* Plugin URI: https://wordpress.org/plugins/custom-permalinks/
|
5 |
* Description: Set custom permalinks on a per-post basis
|
6 |
+
* Version: 1.2.14
|
7 |
* Author: Sami Ahmed Siddiqui
|
8 |
+
* Author URI: https://www.custompermalinks.com/
|
9 |
* Donate link: https://www.paypal.me/yasglobal
|
10 |
* License: GPLv3
|
11 |
*
|
16 |
*/
|
17 |
|
18 |
/**
|
19 |
+
* Custom Permalinks - Update Permalinks of Post/Pages
|
20 |
+
* Copyright 2008-2018 Sami Ahmed Siddiqui <sami.siddiqui@yasglobal.com>
|
21 |
*
|
22 |
* This program is free software: you can redistribute it and/or modify
|
23 |
* it under the terms of the GNU General Public License as published by
|
frontend/class-custom-permalinks-frontend.php
CHANGED
@@ -193,6 +193,7 @@ class Custom_Permalinks_Frontend {
|
|
193 |
$old_query_string = $_SERVER['QUERY_STRING'];
|
194 |
}
|
195 |
$_SERVER['REQUEST_URI'] = '/' . ltrim( $original_url, '/' );
|
|
|
196 |
$_SERVER['QUERY_STRING'] = ( ( $pos = strpos( $original_url, '?' ) ) !== false ? substr( $original_url, $pos + 1 ) : '' );
|
197 |
parse_str( $_SERVER['QUERY_STRING'], $query_array );
|
198 |
$old_values = array();
|
193 |
$old_query_string = $_SERVER['QUERY_STRING'];
|
194 |
}
|
195 |
$_SERVER['REQUEST_URI'] = '/' . ltrim( $original_url, '/' );
|
196 |
+
$_SERVER['PATH_INFO'] = '/' . ltrim( $original_url, '/' );
|
197 |
$_SERVER['QUERY_STRING'] = ( ( $pos = strpos( $original_url, '?' ) ) !== false ? substr( $original_url, $pos + 1 ) : '' );
|
198 |
parse_str( $_SERVER['QUERY_STRING'], $query_array );
|
199 |
$old_values = array();
|
languages/custom-permalinks-en_AU.po
CHANGED
@@ -1,95 +1,95 @@
|
|
1 |
-
# Translation of Plugins - Custom Permalinks - Stable (latest release) in English (Australia)
|
2 |
-
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"PO-Revision-Date: 2017-10-10 00:12:39+0000\n"
|
6 |
-
"MIME-Version: 1.0\n"
|
7 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
-
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
-
"X-Generator: GlotPress/2.4.0-alpha\n"
|
11 |
-
"Language: en_AU\n"
|
12 |
-
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
-
|
14 |
-
#. Author URI of the plugin/theme
|
15 |
-
msgid "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
16 |
-
msgstr "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
17 |
-
|
18 |
-
#. Author of the plugin/theme
|
19 |
-
msgid "Sami Ahmed Siddiqui"
|
20 |
-
msgstr "Sami Ahmed Siddiqui"
|
21 |
-
|
22 |
-
#. Description of the plugin/theme
|
23 |
-
msgid "Set custom permalinks on a per-post basis"
|
24 |
-
msgstr "Set custom permalinks on a per-post basis"
|
25 |
-
|
26 |
-
#. Plugin URI of the plugin/theme
|
27 |
-
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
-
msgstr "https://wordpress.org/plugins/custom-permalinks/"
|
29 |
-
|
30 |
-
#. Plugin Name of the plugin/theme
|
31 |
-
msgid "Custom Permalinks"
|
32 |
-
msgstr "Custom Permalinks"
|
33 |
-
|
34 |
-
#: frontend/class-custom-permalinks-form.php:238
|
35 |
-
msgid "Leave blank to disable"
|
36 |
-
msgstr "Leave blank to disable"
|
37 |
-
|
38 |
-
#: frontend/class-custom-permalinks-form.php:125
|
39 |
-
#: frontend/class-custom-permalinks-form.php:151
|
40 |
-
#: frontend/class-custom-permalinks-form.php:212
|
41 |
-
msgid "Custom Permalink"
|
42 |
-
msgstr "Custom Permalink"
|
43 |
-
|
44 |
-
#: frontend/class-custom-permalinks-form.php:108
|
45 |
-
msgid "Permalink:"
|
46 |
-
msgstr "Permalink:"
|
47 |
-
|
48 |
-
#: frontend/class-custom-permalinks-form.php:95
|
49 |
-
msgid "View Post"
|
50 |
-
msgstr "View Post"
|
51 |
-
|
52 |
-
#: frontend/class-custom-permalinks-form.php:95
|
53 |
-
msgid "View Page"
|
54 |
-
msgstr "View Page"
|
55 |
-
|
56 |
-
#: admin/class-custom-permalinks-admin.php:203
|
57 |
-
msgid "Category/Tags Permalinks"
|
58 |
-
msgstr "Category/Tags Permalinks"
|
59 |
-
|
60 |
-
#: admin/class-custom-permalinks-admin.php:169
|
61 |
-
#: admin/class-custom-permalinks-admin.php:332
|
62 |
-
msgid "Permalink"
|
63 |
-
msgstr "Permalink"
|
64 |
-
|
65 |
-
#: admin/class-custom-permalinks-admin.php:168
|
66 |
-
#: admin/class-custom-permalinks-admin.php:331
|
67 |
-
msgid "Type"
|
68 |
-
msgstr "Type"
|
69 |
-
|
70 |
-
#: admin/class-custom-permalinks-admin.php:167
|
71 |
-
#: admin/class-custom-permalinks-admin.php:330
|
72 |
-
msgid "Title"
|
73 |
-
msgstr "Title"
|
74 |
-
|
75 |
-
#: admin/class-custom-permalinks-admin.php:96
|
76 |
-
#: admin/class-custom-permalinks-admin.php:150
|
77 |
-
#: admin/class-custom-permalinks-admin.php:230
|
78 |
-
#: admin/class-custom-permalinks-admin.php:306
|
79 |
-
msgid "Delete Permalinks"
|
80 |
-
msgstr "Delete Permalinks"
|
81 |
-
|
82 |
-
#: admin/class-custom-permalinks-admin.php:95
|
83 |
-
#: admin/class-custom-permalinks-admin.php:149
|
84 |
-
#: admin/class-custom-permalinks-admin.php:229
|
85 |
-
#: admin/class-custom-permalinks-admin.php:305
|
86 |
-
msgid "Bulk Actions"
|
87 |
-
msgstr "Bulk Actions"
|
88 |
-
|
89 |
-
#: admin/class-custom-permalinks-admin.php:47
|
90 |
-
msgid "PostTypes Permalinks"
|
91 |
-
msgstr "PostTypes Permalinks"
|
92 |
-
|
93 |
-
#: admin/class-custom-permalinks-admin.php:43
|
94 |
-
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
1 |
+
# Translation of Plugins - Custom Permalinks - Stable (latest release) in English (Australia)
|
2 |
+
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"PO-Revision-Date: 2017-10-10 00:12:39+0000\n"
|
6 |
+
"MIME-Version: 1.0\n"
|
7 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
+
"Content-Transfer-Encoding: 8bit\n"
|
9 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
+
"X-Generator: GlotPress/2.4.0-alpha\n"
|
11 |
+
"Language: en_AU\n"
|
12 |
+
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
+
|
14 |
+
#. Author URI of the plugin/theme
|
15 |
+
msgid "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
16 |
+
msgstr "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
17 |
+
|
18 |
+
#. Author of the plugin/theme
|
19 |
+
msgid "Sami Ahmed Siddiqui"
|
20 |
+
msgstr "Sami Ahmed Siddiqui"
|
21 |
+
|
22 |
+
#. Description of the plugin/theme
|
23 |
+
msgid "Set custom permalinks on a per-post basis"
|
24 |
+
msgstr "Set custom permalinks on a per-post basis"
|
25 |
+
|
26 |
+
#. Plugin URI of the plugin/theme
|
27 |
+
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
+
msgstr "https://wordpress.org/plugins/custom-permalinks/"
|
29 |
+
|
30 |
+
#. Plugin Name of the plugin/theme
|
31 |
+
msgid "Custom Permalinks"
|
32 |
+
msgstr "Custom Permalinks"
|
33 |
+
|
34 |
+
#: frontend/class-custom-permalinks-form.php:238
|
35 |
+
msgid "Leave blank to disable"
|
36 |
+
msgstr "Leave blank to disable"
|
37 |
+
|
38 |
+
#: frontend/class-custom-permalinks-form.php:125
|
39 |
+
#: frontend/class-custom-permalinks-form.php:151
|
40 |
+
#: frontend/class-custom-permalinks-form.php:212
|
41 |
+
msgid "Custom Permalink"
|
42 |
+
msgstr "Custom Permalink"
|
43 |
+
|
44 |
+
#: frontend/class-custom-permalinks-form.php:108
|
45 |
+
msgid "Permalink:"
|
46 |
+
msgstr "Permalink:"
|
47 |
+
|
48 |
+
#: frontend/class-custom-permalinks-form.php:95
|
49 |
+
msgid "View Post"
|
50 |
+
msgstr "View Post"
|
51 |
+
|
52 |
+
#: frontend/class-custom-permalinks-form.php:95
|
53 |
+
msgid "View Page"
|
54 |
+
msgstr "View Page"
|
55 |
+
|
56 |
+
#: admin/class-custom-permalinks-admin.php:203
|
57 |
+
msgid "Category/Tags Permalinks"
|
58 |
+
msgstr "Category/Tags Permalinks"
|
59 |
+
|
60 |
+
#: admin/class-custom-permalinks-admin.php:169
|
61 |
+
#: admin/class-custom-permalinks-admin.php:332
|
62 |
+
msgid "Permalink"
|
63 |
+
msgstr "Permalink"
|
64 |
+
|
65 |
+
#: admin/class-custom-permalinks-admin.php:168
|
66 |
+
#: admin/class-custom-permalinks-admin.php:331
|
67 |
+
msgid "Type"
|
68 |
+
msgstr "Type"
|
69 |
+
|
70 |
+
#: admin/class-custom-permalinks-admin.php:167
|
71 |
+
#: admin/class-custom-permalinks-admin.php:330
|
72 |
+
msgid "Title"
|
73 |
+
msgstr "Title"
|
74 |
+
|
75 |
+
#: admin/class-custom-permalinks-admin.php:96
|
76 |
+
#: admin/class-custom-permalinks-admin.php:150
|
77 |
+
#: admin/class-custom-permalinks-admin.php:230
|
78 |
+
#: admin/class-custom-permalinks-admin.php:306
|
79 |
+
msgid "Delete Permalinks"
|
80 |
+
msgstr "Delete Permalinks"
|
81 |
+
|
82 |
+
#: admin/class-custom-permalinks-admin.php:95
|
83 |
+
#: admin/class-custom-permalinks-admin.php:149
|
84 |
+
#: admin/class-custom-permalinks-admin.php:229
|
85 |
+
#: admin/class-custom-permalinks-admin.php:305
|
86 |
+
msgid "Bulk Actions"
|
87 |
+
msgstr "Bulk Actions"
|
88 |
+
|
89 |
+
#: admin/class-custom-permalinks-admin.php:47
|
90 |
+
msgid "PostTypes Permalinks"
|
91 |
+
msgstr "PostTypes Permalinks"
|
92 |
+
|
93 |
+
#: admin/class-custom-permalinks-admin.php:43
|
94 |
+
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
languages/custom-permalinks-en_CA.mo
CHANGED
Binary file
|
languages/custom-permalinks-en_CA.po
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"PO-Revision-Date:
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -11,9 +11,105 @@ msgstr ""
|
|
11 |
"Language: en_CA\n"
|
12 |
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
#. Author URI of the plugin/theme
|
15 |
-
msgid "https://www.
|
16 |
-
msgstr "https://www.
|
17 |
|
18 |
#. Author of the plugin/theme
|
19 |
msgid "Sami Ahmed Siddiqui"
|
@@ -27,69 +123,71 @@ msgstr "Set custom permalinks on a per-post basis"
|
|
27 |
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
msgstr "https://en-ca.wordpress.org/plugins/custom-permalinks/"
|
29 |
|
|
|
30 |
#. Plugin Name of the plugin/theme
|
|
|
31 |
msgid "Custom Permalinks"
|
32 |
msgstr "Custom Permalinks"
|
33 |
|
34 |
-
#: frontend/class-custom-permalinks-form.php:
|
35 |
msgid "Leave blank to disable"
|
36 |
msgstr "Leave blank to disable"
|
37 |
|
38 |
-
#: frontend/class-custom-permalinks-form.php:
|
39 |
-
#: frontend/class-custom-permalinks-form.php:
|
40 |
-
#: frontend/class-custom-permalinks-form.php:
|
41 |
msgid "Custom Permalink"
|
42 |
msgstr "Custom Permalink"
|
43 |
|
44 |
-
#: frontend/class-custom-permalinks-form.php:
|
45 |
msgid "Permalink:"
|
46 |
msgstr "Permalink:"
|
47 |
|
48 |
-
#: frontend/class-custom-permalinks-form.php:
|
49 |
msgid "View Post"
|
50 |
msgstr "View Post"
|
51 |
|
52 |
-
#: frontend/class-custom-permalinks-form.php:
|
53 |
msgid "View Page"
|
54 |
msgstr "View Page"
|
55 |
|
56 |
-
#: admin/class-custom-permalinks-admin.php:
|
57 |
msgid "Category/Tags Permalinks"
|
58 |
msgstr "Category/Tags Permalinks"
|
59 |
|
60 |
-
#: admin/class-custom-permalinks-admin.php:
|
61 |
-
#: admin/class-custom-permalinks-admin.php:
|
62 |
msgid "Permalink"
|
63 |
msgstr "Permalink"
|
64 |
|
65 |
-
#: admin/class-custom-permalinks-admin.php:
|
66 |
-
#: admin/class-custom-permalinks-admin.php:
|
67 |
msgid "Type"
|
68 |
msgstr "Type"
|
69 |
|
70 |
-
#: admin/class-custom-permalinks-admin.php:
|
71 |
-
#: admin/class-custom-permalinks-admin.php:
|
72 |
msgid "Title"
|
73 |
msgstr "Title"
|
74 |
|
75 |
-
#: admin/class-custom-permalinks-admin.php:
|
76 |
-
#: admin/class-custom-permalinks-admin.php:
|
77 |
-
#: admin/class-custom-permalinks-admin.php:
|
78 |
-
#: admin/class-custom-permalinks-admin.php:
|
79 |
msgid "Delete Permalinks"
|
80 |
msgstr "Delete Permalinks"
|
81 |
|
82 |
-
#: admin/class-custom-permalinks-admin.php:
|
83 |
-
#: admin/class-custom-permalinks-admin.php:
|
84 |
-
#: admin/class-custom-permalinks-admin.php:
|
85 |
-
#: admin/class-custom-permalinks-admin.php:
|
86 |
msgid "Bulk Actions"
|
87 |
msgstr "Bulk Actions"
|
88 |
|
89 |
-
#: admin/class-custom-permalinks-admin.php:
|
90 |
msgid "PostTypes Permalinks"
|
91 |
msgstr "PostTypes Permalinks"
|
92 |
|
93 |
-
#: admin/class-custom-permalinks-admin.php:
|
94 |
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
2 |
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"PO-Revision-Date: 2018-01-24 19:31:48+0000\n"
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
"Language: en_CA\n"
|
12 |
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
|
14 |
+
#: admin/class-custom-permalinks-admin.php:504
|
15 |
+
msgid "<a href=\"%s\" title=\"Premium Support\" target=\"_blank\">Premium Support</a>"
|
16 |
+
msgstr "<a href=\"%s\" title=\"Premium Support\" target=\"_blank\">Premium Support</a>"
|
17 |
+
|
18 |
+
#: admin/class-custom-permalinks-admin.php:500
|
19 |
+
msgid "<a href=\"%s\" title=\"About\">About</a>"
|
20 |
+
msgstr "<a href=\"%s\" title=\"About\">About</a>"
|
21 |
+
|
22 |
+
#: admin/class-custom-permalinks-admin.php:486
|
23 |
+
msgid "Custom Permalinks version %s by <a href=\"%s\" title=\"YAS Global Website\" target=\"_blank\">YAS Global</a> - <a href=\"%s\" title=\"Support forums\" target=\"_blank\">Support forums</a> - Follow on Twitter: <a href=\"%s\" title=\"Follow YAS Global on Twitter\" target=\"_blank\">YAS Global</a>"
|
24 |
+
msgstr "Custom Permalinks version %s by <a href=\"%s\" title=\"YAS Global Website\" target=\"_blank\">YAS Global</a> - <a href=\"%s\" title=\"Support forums\" target=\"_blank\">Support forums</a> - Follow on Twitter: <a href=\"%s\" title=\"Follow YAS Global on Twitter\" target=\"_blank\">YAS Global</a>"
|
25 |
+
|
26 |
+
#: admin/class-custom-permalinks-about.php:140
|
27 |
+
msgid "On uploading any image, let's say services.png, WordPress creates the <strong>attachment post</strong> with the permalink of <strong>/services/</strong> and doesn't allow you to use that permalink to point your page. In this case, we comes up with this great solution."
|
28 |
+
msgstr "On uploading any image, let's say services.png, WordPress creates the <strong>attachment post</strong> with the permalink of <strong>/services/</strong> and doesn't allow you to use that permalink to point your page. In this case, we comes up with this great solution."
|
29 |
+
|
30 |
+
#: admin/class-custom-permalinks-about.php:139
|
31 |
+
msgid "Media Post Permalink"
|
32 |
+
msgstr "Media Post Permalink"
|
33 |
+
|
34 |
+
#: admin/class-custom-permalinks-about.php:130
|
35 |
+
msgid "It removes some meta data from the wordpress header so, your header keeps clean of useless information like <strong>shortlink</strong>, <strong>rsd_link</strong>, <strong>wlwmanifest_link</strong>, <strong>emoji_scripts</strong>, <strong>wp_embed</strong>, <strong>wp_json</strong>, <strong>emoji_styles</strong>, <strong>generator</strong> and so on."
|
36 |
+
msgstr "It removes some meta data from the wordpress header so, your header keeps clean of useless information like <strong>shortlink</strong>, <strong>rsd_link</strong>, <strong>wlwmanifest_link</strong>, <strong>emoji_scripts</strong>, <strong>wp_embed</strong>, <strong>wp_json</strong>, <strong>emoji_styles</strong>, <strong>generator</strong> and so on."
|
37 |
+
|
38 |
+
#: admin/class-custom-permalinks-about.php:129
|
39 |
+
msgid "Remove Links and Scripts"
|
40 |
+
msgstr "Remove Links and Scripts"
|
41 |
+
|
42 |
+
#: admin/class-custom-permalinks-about.php:120
|
43 |
+
msgid "Simply the easiest solution to add valid schema.org as a JSON script in the head of posts and pages. It provides you multiple <strong>SCHEMA</strong> types like Article, News Article, Organization and Website Schema."
|
44 |
+
msgstr "Simply the easiest solution to add valid schema.org as a JSON script in the head of posts and pages. It provides you multiple <strong>SCHEMA</strong> types like Article, News Article, Organization and Website Schema."
|
45 |
+
|
46 |
+
#: admin/class-custom-permalinks-about.php:119
|
47 |
+
msgid "JSON Structuring Markup"
|
48 |
+
msgstr "JSON Structuring Markup"
|
49 |
+
|
50 |
+
#: admin/class-custom-permalinks-about.php:110
|
51 |
+
msgid "Convert the paths(URLs) to relative instead of absolute. You can make <strong>Post</strong>, <strong>Category</strong>, <strong>Archive</strong>, <strong>Image</strong> URLs and <strong>Script</strong> and <strong>Style</strong> src as per your requirement. You can choose which you want to be relative from the setttings Page."
|
52 |
+
msgstr "Convert the paths(URLs) to relative instead of absolute. You can make <strong>Post</strong>, <strong>Category</strong>, <strong>Archive</strong>, <strong>Image</strong> URLs and <strong>Script</strong> and <strong>Style</strong> src as per your requirement. You can choose which you want to be relative from the settings Page."
|
53 |
+
|
54 |
+
#: admin/class-custom-permalinks-about.php:109
|
55 |
+
msgid "Make Paths Relative"
|
56 |
+
msgstr "Make Paths Relative"
|
57 |
+
|
58 |
+
#: admin/class-custom-permalinks-about.php:100
|
59 |
+
msgid "Simply the easiest solution to add valid schema.org as a JSON script in the head of blog posts or articles. You can choose the schema either to show with the type of Article or NewsArticle from the settings page."
|
60 |
+
msgstr "Simply the easiest solution to add valid schema.org as a JSON script in the head of blog posts or articles. You can choose the schema either to show with the type of Article or NewsArticle from the settings page."
|
61 |
+
|
62 |
+
#: admin/class-custom-permalinks-about.php:99
|
63 |
+
msgid "SCHEMA for Article"
|
64 |
+
msgstr "SCHEMA for Article"
|
65 |
+
|
66 |
+
#: admin/class-custom-permalinks-about.php:90
|
67 |
+
msgid "Allows you apply <strong>HTTP Auth</strong> on your site. You can apply Http Authentication all over the site or only the admin pages. It helps to stop cralwing on your site while on development or persist the <strong>Brute Attacks</strong> by locking the Admin Pages."
|
68 |
+
msgstr "Allows you apply <strong>HTTP Auth</strong> on your site. You can apply Http Authentication all over the site or only the admin pages. It helps to stop cralwing on your site while on development or persist the <strong>Brute Attacks</strong> by locking the Admin Pages."
|
69 |
+
|
70 |
+
#: admin/class-custom-permalinks-about.php:89
|
71 |
+
msgid "Http Auth"
|
72 |
+
msgstr "Http Auth"
|
73 |
+
|
74 |
+
#: admin/class-custom-permalinks-about.php:80
|
75 |
+
msgid "Allows you to either define different Permalink Structure or define same Permalink Structure for default and Custom PostTypes, Taxonomies. Plugin automatically creates the user-friendly URLs as per your defined structured that can be edited from the single post/page."
|
76 |
+
msgstr "Allows you to either define different Permalink Structure or define same Permalink Structure for default and Custom PostTypes, Taxonomies. Plugin automatically creates the user-friendly URLs as per your defined structured that can be edited from the single post/page."
|
77 |
+
|
78 |
+
#: admin/class-custom-permalinks-about.php:79
|
79 |
+
msgid "Permalinks Customizer"
|
80 |
+
msgstr "Permalinks Customizer"
|
81 |
+
|
82 |
+
#: admin/class-custom-permalinks-about.php:70
|
83 |
+
msgid "Secure your site from the <strong>XSS Attacks</strong> so, your users won't lose any kind of information or not redirected to any other site by visiting to your site with the <strong>malicious code</strong> in the URL or so. In this way, users can open your site URLs without any hesitation."
|
84 |
+
msgstr "Secure your site from the <strong>XSS Attacks</strong> so, your users won't lose any kind of information or not redirected to any other site by visiting to your site with the <strong>malicious code</strong> in the URL or so. In this way, users can open your site URLs without any hesitation."
|
85 |
+
|
86 |
+
#: admin/class-custom-permalinks-about.php:69
|
87 |
+
msgid "Prevent XSS Vulnerability"
|
88 |
+
msgstr "Prevent XSS Vulnerability"
|
89 |
+
|
90 |
+
#: admin/class-custom-permalinks-about.php:63
|
91 |
+
msgid "Our List of Plugins provides the services which helps you to manage your site URLs(Permalinks), Prevent your site from XSS Attacks, Brute force attacks, increase your site visitors by adding Strucutred JSON Markup and so on."
|
92 |
+
msgstr "Our List of Plugins provides the services which helps you to manage your site URLs(Permalinks), Prevent your site from XSS Attacks, Brute force attacks, increase your site visitors by adding Structured JSON Markup and so on."
|
93 |
+
|
94 |
+
#: admin/class-custom-permalinks-about.php:62
|
95 |
+
msgid "More from YAS Global"
|
96 |
+
msgstr "More from YAS Global"
|
97 |
+
|
98 |
+
#: admin/class-custom-permalinks-about.php:53
|
99 |
+
msgid "To support future development and help to make it even better just leaving us a <a href=\"%s\" title=\"Custom Permalinks Rating\" target=\"_blank\">%s</a> rating with a nice message to me :)"
|
100 |
+
msgstr "To support future development and help to make it even better just leaving us a <a href=\"%s\" title=\"Custom Permalinks Rating\" target=\"_blank\">%s</a> rating with a nice message to me :)"
|
101 |
+
|
102 |
+
#: admin/class-custom-permalinks-about.php:52
|
103 |
+
msgid "Thank you for choosing Custom Permalinks! We hope that your experience with our plugin for adding HTTP Authentication on your site is quick and easy."
|
104 |
+
msgstr "Thank you for choosing Custom Permalinks! We hope that your experience with our plugin for adding HTTP Authentication on your site is quick and easy."
|
105 |
+
|
106 |
+
#: admin/class-custom-permalinks-about.php:23
|
107 |
+
msgid "Check it out"
|
108 |
+
msgstr "Check it out"
|
109 |
+
|
110 |
#. Author URI of the plugin/theme
|
111 |
+
msgid "https://www.custompermalinks.com"
|
112 |
+
msgstr "https://www.custompermalinks.com"
|
113 |
|
114 |
#. Author of the plugin/theme
|
115 |
msgid "Sami Ahmed Siddiqui"
|
123 |
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
124 |
msgstr "https://en-ca.wordpress.org/plugins/custom-permalinks/"
|
125 |
|
126 |
+
#. #-#-#-#-# custom-permalinks-code.pot (Custom Permalinks 1.2.11) #-#-#-#-#
|
127 |
#. Plugin Name of the plugin/theme
|
128 |
+
#: admin/class-custom-permalinks-about.php:22
|
129 |
msgid "Custom Permalinks"
|
130 |
msgstr "Custom Permalinks"
|
131 |
|
132 |
+
#: frontend/class-custom-permalinks-form.php:245
|
133 |
msgid "Leave blank to disable"
|
134 |
msgstr "Leave blank to disable"
|
135 |
|
136 |
+
#: frontend/class-custom-permalinks-form.php:127
|
137 |
+
#: frontend/class-custom-permalinks-form.php:154
|
138 |
+
#: frontend/class-custom-permalinks-form.php:219
|
139 |
msgid "Custom Permalink"
|
140 |
msgstr "Custom Permalink"
|
141 |
|
142 |
+
#: frontend/class-custom-permalinks-form.php:110
|
143 |
msgid "Permalink:"
|
144 |
msgstr "Permalink:"
|
145 |
|
146 |
+
#: frontend/class-custom-permalinks-form.php:97
|
147 |
msgid "View Post"
|
148 |
msgstr "View Post"
|
149 |
|
150 |
+
#: frontend/class-custom-permalinks-form.php:97
|
151 |
msgid "View Page"
|
152 |
msgstr "View Page"
|
153 |
|
154 |
+
#: admin/class-custom-permalinks-admin.php:249
|
155 |
msgid "Category/Tags Permalinks"
|
156 |
msgstr "Category/Tags Permalinks"
|
157 |
|
158 |
+
#: admin/class-custom-permalinks-admin.php:215
|
159 |
+
#: admin/class-custom-permalinks-admin.php:396
|
160 |
msgid "Permalink"
|
161 |
msgstr "Permalink"
|
162 |
|
163 |
+
#: admin/class-custom-permalinks-admin.php:214
|
164 |
+
#: admin/class-custom-permalinks-admin.php:395
|
165 |
msgid "Type"
|
166 |
msgstr "Type"
|
167 |
|
168 |
+
#: admin/class-custom-permalinks-admin.php:212
|
169 |
+
#: admin/class-custom-permalinks-admin.php:394
|
170 |
msgid "Title"
|
171 |
msgstr "Title"
|
172 |
|
173 |
+
#: admin/class-custom-permalinks-admin.php:116
|
174 |
+
#: admin/class-custom-permalinks-admin.php:189
|
175 |
+
#: admin/class-custom-permalinks-admin.php:276
|
176 |
+
#: admin/class-custom-permalinks-admin.php:366
|
177 |
msgid "Delete Permalinks"
|
178 |
msgstr "Delete Permalinks"
|
179 |
|
180 |
+
#: admin/class-custom-permalinks-admin.php:115
|
181 |
+
#: admin/class-custom-permalinks-admin.php:188
|
182 |
+
#: admin/class-custom-permalinks-admin.php:275
|
183 |
+
#: admin/class-custom-permalinks-admin.php:365
|
184 |
msgid "Bulk Actions"
|
185 |
msgstr "Bulk Actions"
|
186 |
|
187 |
+
#: admin/class-custom-permalinks-admin.php:66
|
188 |
msgid "PostTypes Permalinks"
|
189 |
msgstr "PostTypes Permalinks"
|
190 |
|
191 |
+
#: admin/class-custom-permalinks-admin.php:61
|
192 |
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
193 |
msgstr "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
languages/custom-permalinks-en_GB.po
CHANGED
@@ -1,95 +1,95 @@
|
|
1 |
-
# Translation of Plugins - Custom Permalinks - Stable (latest release) in English (UK)
|
2 |
-
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"PO-Revision-Date: 2017-09-30 14:45:19+0000\n"
|
6 |
-
"MIME-Version: 1.0\n"
|
7 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
-
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
-
"X-Generator: GlotPress/2.4.0-alpha\n"
|
11 |
-
"Language: en_GB\n"
|
12 |
-
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
-
|
14 |
-
#. Author URI of the plugin/theme
|
15 |
-
msgid "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
16 |
-
msgstr "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
17 |
-
|
18 |
-
#. Author of the plugin/theme
|
19 |
-
msgid "Sami Ahmed Siddiqui"
|
20 |
-
msgstr "Sami Ahmed Siddiqui"
|
21 |
-
|
22 |
-
#. Description of the plugin/theme
|
23 |
-
msgid "Set custom permalinks on a per-post basis"
|
24 |
-
msgstr "Set custom permalinks on a per-post basis"
|
25 |
-
|
26 |
-
#. Plugin URI of the plugin/theme
|
27 |
-
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
-
msgstr "https://wordpress.org/plugins/custom-permalinks/"
|
29 |
-
|
30 |
-
#. Plugin Name of the plugin/theme
|
31 |
-
msgid "Custom Permalinks"
|
32 |
-
msgstr "Custom Permalinks"
|
33 |
-
|
34 |
-
#: frontend/class-custom-permalinks-form.php:238
|
35 |
-
msgid "Leave blank to disable"
|
36 |
-
msgstr "Leave blank to disable"
|
37 |
-
|
38 |
-
#: frontend/class-custom-permalinks-form.php:125
|
39 |
-
#: frontend/class-custom-permalinks-form.php:151
|
40 |
-
#: frontend/class-custom-permalinks-form.php:212
|
41 |
-
msgid "Custom Permalink"
|
42 |
-
msgstr "Custom Permalink"
|
43 |
-
|
44 |
-
#: frontend/class-custom-permalinks-form.php:108
|
45 |
-
msgid "Permalink:"
|
46 |
-
msgstr "Permalink:"
|
47 |
-
|
48 |
-
#: frontend/class-custom-permalinks-form.php:95
|
49 |
-
msgid "View Post"
|
50 |
-
msgstr "View Post"
|
51 |
-
|
52 |
-
#: frontend/class-custom-permalinks-form.php:95
|
53 |
-
msgid "View Page"
|
54 |
-
msgstr "View Page"
|
55 |
-
|
56 |
-
#: admin/class-custom-permalinks-admin.php:203
|
57 |
-
msgid "Category/Tags Permalinks"
|
58 |
-
msgstr "Category/Tags Permalinks"
|
59 |
-
|
60 |
-
#: admin/class-custom-permalinks-admin.php:169
|
61 |
-
#: admin/class-custom-permalinks-admin.php:332
|
62 |
-
msgid "Permalink"
|
63 |
-
msgstr "Permalink"
|
64 |
-
|
65 |
-
#: admin/class-custom-permalinks-admin.php:168
|
66 |
-
#: admin/class-custom-permalinks-admin.php:331
|
67 |
-
msgid "Type"
|
68 |
-
msgstr "Type"
|
69 |
-
|
70 |
-
#: admin/class-custom-permalinks-admin.php:167
|
71 |
-
#: admin/class-custom-permalinks-admin.php:330
|
72 |
-
msgid "Title"
|
73 |
-
msgstr "Title"
|
74 |
-
|
75 |
-
#: admin/class-custom-permalinks-admin.php:96
|
76 |
-
#: admin/class-custom-permalinks-admin.php:150
|
77 |
-
#: admin/class-custom-permalinks-admin.php:230
|
78 |
-
#: admin/class-custom-permalinks-admin.php:306
|
79 |
-
msgid "Delete Permalinks"
|
80 |
-
msgstr "Delete Permalinks"
|
81 |
-
|
82 |
-
#: admin/class-custom-permalinks-admin.php:95
|
83 |
-
#: admin/class-custom-permalinks-admin.php:149
|
84 |
-
#: admin/class-custom-permalinks-admin.php:229
|
85 |
-
#: admin/class-custom-permalinks-admin.php:305
|
86 |
-
msgid "Bulk Actions"
|
87 |
-
msgstr "Bulk Actions"
|
88 |
-
|
89 |
-
#: admin/class-custom-permalinks-admin.php:47
|
90 |
-
msgid "PostTypes Permalinks"
|
91 |
-
msgstr "PostTypes Permalinks"
|
92 |
-
|
93 |
-
#: admin/class-custom-permalinks-admin.php:43
|
94 |
-
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
1 |
+
# Translation of Plugins - Custom Permalinks - Stable (latest release) in English (UK)
|
2 |
+
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"PO-Revision-Date: 2017-09-30 14:45:19+0000\n"
|
6 |
+
"MIME-Version: 1.0\n"
|
7 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
+
"Content-Transfer-Encoding: 8bit\n"
|
9 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
+
"X-Generator: GlotPress/2.4.0-alpha\n"
|
11 |
+
"Language: en_GB\n"
|
12 |
+
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
+
|
14 |
+
#. Author URI of the plugin/theme
|
15 |
+
msgid "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
16 |
+
msgstr "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
17 |
+
|
18 |
+
#. Author of the plugin/theme
|
19 |
+
msgid "Sami Ahmed Siddiqui"
|
20 |
+
msgstr "Sami Ahmed Siddiqui"
|
21 |
+
|
22 |
+
#. Description of the plugin/theme
|
23 |
+
msgid "Set custom permalinks on a per-post basis"
|
24 |
+
msgstr "Set custom permalinks on a per-post basis"
|
25 |
+
|
26 |
+
#. Plugin URI of the plugin/theme
|
27 |
+
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
+
msgstr "https://wordpress.org/plugins/custom-permalinks/"
|
29 |
+
|
30 |
+
#. Plugin Name of the plugin/theme
|
31 |
+
msgid "Custom Permalinks"
|
32 |
+
msgstr "Custom Permalinks"
|
33 |
+
|
34 |
+
#: frontend/class-custom-permalinks-form.php:238
|
35 |
+
msgid "Leave blank to disable"
|
36 |
+
msgstr "Leave blank to disable"
|
37 |
+
|
38 |
+
#: frontend/class-custom-permalinks-form.php:125
|
39 |
+
#: frontend/class-custom-permalinks-form.php:151
|
40 |
+
#: frontend/class-custom-permalinks-form.php:212
|
41 |
+
msgid "Custom Permalink"
|
42 |
+
msgstr "Custom Permalink"
|
43 |
+
|
44 |
+
#: frontend/class-custom-permalinks-form.php:108
|
45 |
+
msgid "Permalink:"
|
46 |
+
msgstr "Permalink:"
|
47 |
+
|
48 |
+
#: frontend/class-custom-permalinks-form.php:95
|
49 |
+
msgid "View Post"
|
50 |
+
msgstr "View Post"
|
51 |
+
|
52 |
+
#: frontend/class-custom-permalinks-form.php:95
|
53 |
+
msgid "View Page"
|
54 |
+
msgstr "View Page"
|
55 |
+
|
56 |
+
#: admin/class-custom-permalinks-admin.php:203
|
57 |
+
msgid "Category/Tags Permalinks"
|
58 |
+
msgstr "Category/Tags Permalinks"
|
59 |
+
|
60 |
+
#: admin/class-custom-permalinks-admin.php:169
|
61 |
+
#: admin/class-custom-permalinks-admin.php:332
|
62 |
+
msgid "Permalink"
|
63 |
+
msgstr "Permalink"
|
64 |
+
|
65 |
+
#: admin/class-custom-permalinks-admin.php:168
|
66 |
+
#: admin/class-custom-permalinks-admin.php:331
|
67 |
+
msgid "Type"
|
68 |
+
msgstr "Type"
|
69 |
+
|
70 |
+
#: admin/class-custom-permalinks-admin.php:167
|
71 |
+
#: admin/class-custom-permalinks-admin.php:330
|
72 |
+
msgid "Title"
|
73 |
+
msgstr "Title"
|
74 |
+
|
75 |
+
#: admin/class-custom-permalinks-admin.php:96
|
76 |
+
#: admin/class-custom-permalinks-admin.php:150
|
77 |
+
#: admin/class-custom-permalinks-admin.php:230
|
78 |
+
#: admin/class-custom-permalinks-admin.php:306
|
79 |
+
msgid "Delete Permalinks"
|
80 |
+
msgstr "Delete Permalinks"
|
81 |
+
|
82 |
+
#: admin/class-custom-permalinks-admin.php:95
|
83 |
+
#: admin/class-custom-permalinks-admin.php:149
|
84 |
+
#: admin/class-custom-permalinks-admin.php:229
|
85 |
+
#: admin/class-custom-permalinks-admin.php:305
|
86 |
+
msgid "Bulk Actions"
|
87 |
+
msgstr "Bulk Actions"
|
88 |
+
|
89 |
+
#: admin/class-custom-permalinks-admin.php:47
|
90 |
+
msgid "PostTypes Permalinks"
|
91 |
+
msgstr "PostTypes Permalinks"
|
92 |
+
|
93 |
+
#: admin/class-custom-permalinks-admin.php:43
|
94 |
+
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
languages/custom-permalinks-en_NZ.po
CHANGED
@@ -1,95 +1,95 @@
|
|
1 |
-
# Translation of Plugins - Custom Permalinks - Stable (latest release) in English (New Zealand)
|
2 |
-
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"PO-Revision-Date: 2018-01-04 09:39:51+0000\n"
|
6 |
-
"MIME-Version: 1.0\n"
|
7 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
-
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
-
"X-Generator: GlotPress/2.4.0-alpha\n"
|
11 |
-
"Language: en_NZ\n"
|
12 |
-
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
-
|
14 |
-
#. Author URI of the plugin/theme
|
15 |
-
msgid "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
16 |
-
msgstr "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
17 |
-
|
18 |
-
#. Author of the plugin/theme
|
19 |
-
msgid "Sami Ahmed Siddiqui"
|
20 |
-
msgstr "Sami Ahmed Siddiqui"
|
21 |
-
|
22 |
-
#. Description of the plugin/theme
|
23 |
-
msgid "Set custom permalinks on a per-post basis"
|
24 |
-
msgstr "Set custom permalinks on a per-post basis"
|
25 |
-
|
26 |
-
#. Plugin URI of the plugin/theme
|
27 |
-
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
-
msgstr "https://wordpress.org/plugins/custom-permalinks/"
|
29 |
-
|
30 |
-
#. Plugin Name of the plugin/theme
|
31 |
-
msgid "Custom Permalinks"
|
32 |
-
msgstr "Custom Permalinks"
|
33 |
-
|
34 |
-
#: frontend/class-custom-permalinks-form.php:238
|
35 |
-
msgid "Leave blank to disable"
|
36 |
-
msgstr "Leave blank to disable"
|
37 |
-
|
38 |
-
#: frontend/class-custom-permalinks-form.php:125
|
39 |
-
#: frontend/class-custom-permalinks-form.php:151
|
40 |
-
#: frontend/class-custom-permalinks-form.php:212
|
41 |
-
msgid "Custom Permalink"
|
42 |
-
msgstr "Custom Permalink"
|
43 |
-
|
44 |
-
#: frontend/class-custom-permalinks-form.php:108
|
45 |
-
msgid "Permalink:"
|
46 |
-
msgstr "Permalink:"
|
47 |
-
|
48 |
-
#: frontend/class-custom-permalinks-form.php:95
|
49 |
-
msgid "View Post"
|
50 |
-
msgstr "View Post"
|
51 |
-
|
52 |
-
#: frontend/class-custom-permalinks-form.php:95
|
53 |
-
msgid "View Page"
|
54 |
-
msgstr "View Page"
|
55 |
-
|
56 |
-
#: admin/class-custom-permalinks-admin.php:203
|
57 |
-
msgid "Category/Tags Permalinks"
|
58 |
-
msgstr "Category/Tags Permalinks"
|
59 |
-
|
60 |
-
#: admin/class-custom-permalinks-admin.php:169
|
61 |
-
#: admin/class-custom-permalinks-admin.php:332
|
62 |
-
msgid "Permalink"
|
63 |
-
msgstr "Permalink"
|
64 |
-
|
65 |
-
#: admin/class-custom-permalinks-admin.php:168
|
66 |
-
#: admin/class-custom-permalinks-admin.php:331
|
67 |
-
msgid "Type"
|
68 |
-
msgstr "Type"
|
69 |
-
|
70 |
-
#: admin/class-custom-permalinks-admin.php:167
|
71 |
-
#: admin/class-custom-permalinks-admin.php:330
|
72 |
-
msgid "Title"
|
73 |
-
msgstr "Title"
|
74 |
-
|
75 |
-
#: admin/class-custom-permalinks-admin.php:96
|
76 |
-
#: admin/class-custom-permalinks-admin.php:150
|
77 |
-
#: admin/class-custom-permalinks-admin.php:230
|
78 |
-
#: admin/class-custom-permalinks-admin.php:306
|
79 |
-
msgid "Delete Permalinks"
|
80 |
-
msgstr "Delete Permalinks"
|
81 |
-
|
82 |
-
#: admin/class-custom-permalinks-admin.php:95
|
83 |
-
#: admin/class-custom-permalinks-admin.php:149
|
84 |
-
#: admin/class-custom-permalinks-admin.php:229
|
85 |
-
#: admin/class-custom-permalinks-admin.php:305
|
86 |
-
msgid "Bulk Actions"
|
87 |
-
msgstr "Bulk Actions"
|
88 |
-
|
89 |
-
#: admin/class-custom-permalinks-admin.php:47
|
90 |
-
msgid "PostTypes Permalinks"
|
91 |
-
msgstr "PostTypes Permalinks"
|
92 |
-
|
93 |
-
#: admin/class-custom-permalinks-admin.php:43
|
94 |
-
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
1 |
+
# Translation of Plugins - Custom Permalinks - Stable (latest release) in English (New Zealand)
|
2 |
+
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"PO-Revision-Date: 2018-01-04 09:39:51+0000\n"
|
6 |
+
"MIME-Version: 1.0\n"
|
7 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
+
"Content-Transfer-Encoding: 8bit\n"
|
9 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
+
"X-Generator: GlotPress/2.4.0-alpha\n"
|
11 |
+
"Language: en_NZ\n"
|
12 |
+
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
+
|
14 |
+
#. Author URI of the plugin/theme
|
15 |
+
msgid "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
16 |
+
msgstr "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
17 |
+
|
18 |
+
#. Author of the plugin/theme
|
19 |
+
msgid "Sami Ahmed Siddiqui"
|
20 |
+
msgstr "Sami Ahmed Siddiqui"
|
21 |
+
|
22 |
+
#. Description of the plugin/theme
|
23 |
+
msgid "Set custom permalinks on a per-post basis"
|
24 |
+
msgstr "Set custom permalinks on a per-post basis"
|
25 |
+
|
26 |
+
#. Plugin URI of the plugin/theme
|
27 |
+
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
+
msgstr "https://wordpress.org/plugins/custom-permalinks/"
|
29 |
+
|
30 |
+
#. Plugin Name of the plugin/theme
|
31 |
+
msgid "Custom Permalinks"
|
32 |
+
msgstr "Custom Permalinks"
|
33 |
+
|
34 |
+
#: frontend/class-custom-permalinks-form.php:238
|
35 |
+
msgid "Leave blank to disable"
|
36 |
+
msgstr "Leave blank to disable"
|
37 |
+
|
38 |
+
#: frontend/class-custom-permalinks-form.php:125
|
39 |
+
#: frontend/class-custom-permalinks-form.php:151
|
40 |
+
#: frontend/class-custom-permalinks-form.php:212
|
41 |
+
msgid "Custom Permalink"
|
42 |
+
msgstr "Custom Permalink"
|
43 |
+
|
44 |
+
#: frontend/class-custom-permalinks-form.php:108
|
45 |
+
msgid "Permalink:"
|
46 |
+
msgstr "Permalink:"
|
47 |
+
|
48 |
+
#: frontend/class-custom-permalinks-form.php:95
|
49 |
+
msgid "View Post"
|
50 |
+
msgstr "View Post"
|
51 |
+
|
52 |
+
#: frontend/class-custom-permalinks-form.php:95
|
53 |
+
msgid "View Page"
|
54 |
+
msgstr "View Page"
|
55 |
+
|
56 |
+
#: admin/class-custom-permalinks-admin.php:203
|
57 |
+
msgid "Category/Tags Permalinks"
|
58 |
+
msgstr "Category/Tags Permalinks"
|
59 |
+
|
60 |
+
#: admin/class-custom-permalinks-admin.php:169
|
61 |
+
#: admin/class-custom-permalinks-admin.php:332
|
62 |
+
msgid "Permalink"
|
63 |
+
msgstr "Permalink"
|
64 |
+
|
65 |
+
#: admin/class-custom-permalinks-admin.php:168
|
66 |
+
#: admin/class-custom-permalinks-admin.php:331
|
67 |
+
msgid "Type"
|
68 |
+
msgstr "Type"
|
69 |
+
|
70 |
+
#: admin/class-custom-permalinks-admin.php:167
|
71 |
+
#: admin/class-custom-permalinks-admin.php:330
|
72 |
+
msgid "Title"
|
73 |
+
msgstr "Title"
|
74 |
+
|
75 |
+
#: admin/class-custom-permalinks-admin.php:96
|
76 |
+
#: admin/class-custom-permalinks-admin.php:150
|
77 |
+
#: admin/class-custom-permalinks-admin.php:230
|
78 |
+
#: admin/class-custom-permalinks-admin.php:306
|
79 |
+
msgid "Delete Permalinks"
|
80 |
+
msgstr "Delete Permalinks"
|
81 |
+
|
82 |
+
#: admin/class-custom-permalinks-admin.php:95
|
83 |
+
#: admin/class-custom-permalinks-admin.php:149
|
84 |
+
#: admin/class-custom-permalinks-admin.php:229
|
85 |
+
#: admin/class-custom-permalinks-admin.php:305
|
86 |
+
msgid "Bulk Actions"
|
87 |
+
msgstr "Bulk Actions"
|
88 |
+
|
89 |
+
#: admin/class-custom-permalinks-admin.php:47
|
90 |
+
msgid "PostTypes Permalinks"
|
91 |
+
msgstr "PostTypes Permalinks"
|
92 |
+
|
93 |
+
#: admin/class-custom-permalinks-admin.php:43
|
94 |
+
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
languages/custom-permalinks-ja.po
CHANGED
@@ -1,95 +1,95 @@
|
|
1 |
-
# Translation of Plugins - Custom Permalinks - Stable (latest release) in Japanese
|
2 |
-
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"PO-Revision-Date: 2017-10-22 08:28:41+0000\n"
|
6 |
-
"MIME-Version: 1.0\n"
|
7 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
-
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"Plural-Forms: nplurals=1; plural=0;\n"
|
10 |
-
"X-Generator: GlotPress/2.4.0-alpha\n"
|
11 |
-
"Language: ja_JP\n"
|
12 |
-
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
-
|
14 |
-
#. Author URI of the plugin/theme
|
15 |
-
msgid "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
16 |
-
msgstr "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
17 |
-
|
18 |
-
#. Author of the plugin/theme
|
19 |
-
msgid "Sami Ahmed Siddiqui"
|
20 |
-
msgstr "Sami Ahmed Siddiqui"
|
21 |
-
|
22 |
-
#. Description of the plugin/theme
|
23 |
-
msgid "Set custom permalinks on a per-post basis"
|
24 |
-
msgstr "投稿ごとにカスタムパーマリンクを設定します"
|
25 |
-
|
26 |
-
#. Plugin URI of the plugin/theme
|
27 |
-
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
-
msgstr "https://ja.wordpress.org/plugins/custom-permalinks/"
|
29 |
-
|
30 |
-
#. Plugin Name of the plugin/theme
|
31 |
-
msgid "Custom Permalinks"
|
32 |
-
msgstr "Custom Permalinks"
|
33 |
-
|
34 |
-
#: frontend/class-custom-permalinks-form.php:238
|
35 |
-
msgid "Leave blank to disable"
|
36 |
-
msgstr "空白のままにして無効にする"
|
37 |
-
|
38 |
-
#: frontend/class-custom-permalinks-form.php:125
|
39 |
-
#: frontend/class-custom-permalinks-form.php:151
|
40 |
-
#: frontend/class-custom-permalinks-form.php:212
|
41 |
-
msgid "Custom Permalink"
|
42 |
-
msgstr "カスタムパーマリンク"
|
43 |
-
|
44 |
-
#: frontend/class-custom-permalinks-form.php:108
|
45 |
-
msgid "Permalink:"
|
46 |
-
msgstr "パーマリンク:"
|
47 |
-
|
48 |
-
#: frontend/class-custom-permalinks-form.php:95
|
49 |
-
msgid "View Post"
|
50 |
-
msgstr "投稿を表示"
|
51 |
-
|
52 |
-
#: frontend/class-custom-permalinks-form.php:95
|
53 |
-
msgid "View Page"
|
54 |
-
msgstr "固定ページを表示"
|
55 |
-
|
56 |
-
#: admin/class-custom-permalinks-admin.php:203
|
57 |
-
msgid "Category/Tags Permalinks"
|
58 |
-
msgstr "カテゴリー /タグ・パーマリンク"
|
59 |
-
|
60 |
-
#: admin/class-custom-permalinks-admin.php:169
|
61 |
-
#: admin/class-custom-permalinks-admin.php:332
|
62 |
-
msgid "Permalink"
|
63 |
-
msgstr "パーマリンク"
|
64 |
-
|
65 |
-
#: admin/class-custom-permalinks-admin.php:168
|
66 |
-
#: admin/class-custom-permalinks-admin.php:331
|
67 |
-
msgid "Type"
|
68 |
-
msgstr "タイプ"
|
69 |
-
|
70 |
-
#: admin/class-custom-permalinks-admin.php:167
|
71 |
-
#: admin/class-custom-permalinks-admin.php:330
|
72 |
-
msgid "Title"
|
73 |
-
msgstr "タイトル"
|
74 |
-
|
75 |
-
#: admin/class-custom-permalinks-admin.php:96
|
76 |
-
#: admin/class-custom-permalinks-admin.php:150
|
77 |
-
#: admin/class-custom-permalinks-admin.php:230
|
78 |
-
#: admin/class-custom-permalinks-admin.php:306
|
79 |
-
msgid "Delete Permalinks"
|
80 |
-
msgstr "パーマリンクを削除"
|
81 |
-
|
82 |
-
#: admin/class-custom-permalinks-admin.php:95
|
83 |
-
#: admin/class-custom-permalinks-admin.php:149
|
84 |
-
#: admin/class-custom-permalinks-admin.php:229
|
85 |
-
#: admin/class-custom-permalinks-admin.php:305
|
86 |
-
msgid "Bulk Actions"
|
87 |
-
msgstr "一括操作"
|
88 |
-
|
89 |
-
#: admin/class-custom-permalinks-admin.php:47
|
90 |
-
msgid "PostTypes Permalinks"
|
91 |
-
msgstr "投稿タイプのパーマリンク"
|
92 |
-
|
93 |
-
#: admin/class-custom-permalinks-admin.php:43
|
94 |
-
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "リクエストに何らかのエラーがあります。リクエストを再試行するか、プラグイン作者にエラー内容を連絡してください。"
|
1 |
+
# Translation of Plugins - Custom Permalinks - Stable (latest release) in Japanese
|
2 |
+
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"PO-Revision-Date: 2017-10-22 08:28:41+0000\n"
|
6 |
+
"MIME-Version: 1.0\n"
|
7 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
+
"Content-Transfer-Encoding: 8bit\n"
|
9 |
+
"Plural-Forms: nplurals=1; plural=0;\n"
|
10 |
+
"X-Generator: GlotPress/2.4.0-alpha\n"
|
11 |
+
"Language: ja_JP\n"
|
12 |
+
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
+
|
14 |
+
#. Author URI of the plugin/theme
|
15 |
+
msgid "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
16 |
+
msgstr "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
17 |
+
|
18 |
+
#. Author of the plugin/theme
|
19 |
+
msgid "Sami Ahmed Siddiqui"
|
20 |
+
msgstr "Sami Ahmed Siddiqui"
|
21 |
+
|
22 |
+
#. Description of the plugin/theme
|
23 |
+
msgid "Set custom permalinks on a per-post basis"
|
24 |
+
msgstr "投稿ごとにカスタムパーマリンクを設定します"
|
25 |
+
|
26 |
+
#. Plugin URI of the plugin/theme
|
27 |
+
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
+
msgstr "https://ja.wordpress.org/plugins/custom-permalinks/"
|
29 |
+
|
30 |
+
#. Plugin Name of the plugin/theme
|
31 |
+
msgid "Custom Permalinks"
|
32 |
+
msgstr "Custom Permalinks"
|
33 |
+
|
34 |
+
#: frontend/class-custom-permalinks-form.php:238
|
35 |
+
msgid "Leave blank to disable"
|
36 |
+
msgstr "空白のままにして無効にする"
|
37 |
+
|
38 |
+
#: frontend/class-custom-permalinks-form.php:125
|
39 |
+
#: frontend/class-custom-permalinks-form.php:151
|
40 |
+
#: frontend/class-custom-permalinks-form.php:212
|
41 |
+
msgid "Custom Permalink"
|
42 |
+
msgstr "カスタムパーマリンク"
|
43 |
+
|
44 |
+
#: frontend/class-custom-permalinks-form.php:108
|
45 |
+
msgid "Permalink:"
|
46 |
+
msgstr "パーマリンク:"
|
47 |
+
|
48 |
+
#: frontend/class-custom-permalinks-form.php:95
|
49 |
+
msgid "View Post"
|
50 |
+
msgstr "投稿を表示"
|
51 |
+
|
52 |
+
#: frontend/class-custom-permalinks-form.php:95
|
53 |
+
msgid "View Page"
|
54 |
+
msgstr "固定ページを表示"
|
55 |
+
|
56 |
+
#: admin/class-custom-permalinks-admin.php:203
|
57 |
+
msgid "Category/Tags Permalinks"
|
58 |
+
msgstr "カテゴリー /タグ・パーマリンク"
|
59 |
+
|
60 |
+
#: admin/class-custom-permalinks-admin.php:169
|
61 |
+
#: admin/class-custom-permalinks-admin.php:332
|
62 |
+
msgid "Permalink"
|
63 |
+
msgstr "パーマリンク"
|
64 |
+
|
65 |
+
#: admin/class-custom-permalinks-admin.php:168
|
66 |
+
#: admin/class-custom-permalinks-admin.php:331
|
67 |
+
msgid "Type"
|
68 |
+
msgstr "タイプ"
|
69 |
+
|
70 |
+
#: admin/class-custom-permalinks-admin.php:167
|
71 |
+
#: admin/class-custom-permalinks-admin.php:330
|
72 |
+
msgid "Title"
|
73 |
+
msgstr "タイトル"
|
74 |
+
|
75 |
+
#: admin/class-custom-permalinks-admin.php:96
|
76 |
+
#: admin/class-custom-permalinks-admin.php:150
|
77 |
+
#: admin/class-custom-permalinks-admin.php:230
|
78 |
+
#: admin/class-custom-permalinks-admin.php:306
|
79 |
+
msgid "Delete Permalinks"
|
80 |
+
msgstr "パーマリンクを削除"
|
81 |
+
|
82 |
+
#: admin/class-custom-permalinks-admin.php:95
|
83 |
+
#: admin/class-custom-permalinks-admin.php:149
|
84 |
+
#: admin/class-custom-permalinks-admin.php:229
|
85 |
+
#: admin/class-custom-permalinks-admin.php:305
|
86 |
+
msgid "Bulk Actions"
|
87 |
+
msgstr "一括操作"
|
88 |
+
|
89 |
+
#: admin/class-custom-permalinks-admin.php:47
|
90 |
+
msgid "PostTypes Permalinks"
|
91 |
+
msgstr "投稿タイプのパーマリンク"
|
92 |
+
|
93 |
+
#: admin/class-custom-permalinks-admin.php:43
|
94 |
+
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "リクエストに何らかのエラーがあります。リクエストを再試行するか、プラグイン作者にエラー内容を連絡してください。"
|
languages/custom-permalinks-ur.po
CHANGED
@@ -1,95 +1,95 @@
|
|
1 |
-
# Translation of Plugins - Custom Permalinks - Stable (latest release) in Urdu
|
2 |
-
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"PO-Revision-Date: 2017-10-07 06:38:41+0000\n"
|
6 |
-
"MIME-Version: 1.0\n"
|
7 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
-
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
-
"X-Generator: GlotPress/2.4.0-alpha\n"
|
11 |
-
"Language: ur_PK\n"
|
12 |
-
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
-
|
14 |
-
#. Author URI of the plugin/theme
|
15 |
-
msgid "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
16 |
-
msgstr "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
17 |
-
|
18 |
-
#. Author of the plugin/theme
|
19 |
-
msgid "Sami Ahmed Siddiqui"
|
20 |
-
msgstr "سمیع احمد صدیقی"
|
21 |
-
|
22 |
-
#. Description of the plugin/theme
|
23 |
-
msgid "Set custom permalinks on a per-post basis"
|
24 |
-
msgstr "پوسٹ کی بنیاد پر اپنی مرضی کے مطابق پرمالنکس مقرر کریں"
|
25 |
-
|
26 |
-
#. Plugin URI of the plugin/theme
|
27 |
-
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
-
msgstr "https://wordpress.org/plugins/custom-permalinks/"
|
29 |
-
|
30 |
-
#. Plugin Name of the plugin/theme
|
31 |
-
msgid "Custom Permalinks"
|
32 |
-
msgstr "مرضی کے پرمالنکس"
|
33 |
-
|
34 |
-
#: frontend/class-custom-permalinks-form.php:238
|
35 |
-
msgid "Leave blank to disable"
|
36 |
-
msgstr "غیر فعال کرنے کے لیے خالی چھوڑ دیں"
|
37 |
-
|
38 |
-
#: frontend/class-custom-permalinks-form.php:125
|
39 |
-
#: frontend/class-custom-permalinks-form.php:151
|
40 |
-
#: frontend/class-custom-permalinks-form.php:212
|
41 |
-
msgid "Custom Permalink"
|
42 |
-
msgstr "مرضی کا پرمالنک"
|
43 |
-
|
44 |
-
#: frontend/class-custom-permalinks-form.php:108
|
45 |
-
msgid "Permalink:"
|
46 |
-
msgstr "پرمالنک:"
|
47 |
-
|
48 |
-
#: frontend/class-custom-permalinks-form.php:95
|
49 |
-
msgid "View Post"
|
50 |
-
msgstr "پوسٹ دیکھیں"
|
51 |
-
|
52 |
-
#: frontend/class-custom-permalinks-form.php:95
|
53 |
-
msgid "View Page"
|
54 |
-
msgstr "صفحہ دیکھیں"
|
55 |
-
|
56 |
-
#: admin/class-custom-permalinks-admin.php:203
|
57 |
-
msgid "Category/Tags Permalinks"
|
58 |
-
msgstr "زمرہ/ٹیگ پرمالنک"
|
59 |
-
|
60 |
-
#: admin/class-custom-permalinks-admin.php:169
|
61 |
-
#: admin/class-custom-permalinks-admin.php:332
|
62 |
-
msgid "Permalink"
|
63 |
-
msgstr "پرمالنک"
|
64 |
-
|
65 |
-
#: admin/class-custom-permalinks-admin.php:168
|
66 |
-
#: admin/class-custom-permalinks-admin.php:331
|
67 |
-
msgid "Type"
|
68 |
-
msgstr "قسم"
|
69 |
-
|
70 |
-
#: admin/class-custom-permalinks-admin.php:167
|
71 |
-
#: admin/class-custom-permalinks-admin.php:330
|
72 |
-
msgid "Title"
|
73 |
-
msgstr "عنوان"
|
74 |
-
|
75 |
-
#: admin/class-custom-permalinks-admin.php:96
|
76 |
-
#: admin/class-custom-permalinks-admin.php:150
|
77 |
-
#: admin/class-custom-permalinks-admin.php:230
|
78 |
-
#: admin/class-custom-permalinks-admin.php:306
|
79 |
-
msgid "Delete Permalinks"
|
80 |
-
msgstr "پرمالنکس حذف کریں"
|
81 |
-
|
82 |
-
#: admin/class-custom-permalinks-admin.php:95
|
83 |
-
#: admin/class-custom-permalinks-admin.php:149
|
84 |
-
#: admin/class-custom-permalinks-admin.php:229
|
85 |
-
#: admin/class-custom-permalinks-admin.php:305
|
86 |
-
msgid "Bulk Actions"
|
87 |
-
msgstr "ایک جیسی کاروائی"
|
88 |
-
|
89 |
-
#: admin/class-custom-permalinks-admin.php:47
|
90 |
-
msgid "PostTypes Permalinks"
|
91 |
-
msgstr "پوسٹ کی قسم کے پرمالنکس"
|
92 |
-
|
93 |
-
#: admin/class-custom-permalinks-admin.php:43
|
94 |
-
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "آپ کی درخواست کو آگے بھیجنے میں کچھ خرابی ہے۔ براہ مہربانی اپنی درخواست یا پلگ ان کے مصنف سے رابطہ کریں۔"
|
1 |
+
# Translation of Plugins - Custom Permalinks - Stable (latest release) in Urdu
|
2 |
+
# This file is distributed under the same license as the Plugins - Custom Permalinks - Stable (latest release) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"PO-Revision-Date: 2017-10-07 06:38:41+0000\n"
|
6 |
+
"MIME-Version: 1.0\n"
|
7 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
+
"Content-Transfer-Encoding: 8bit\n"
|
9 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
+
"X-Generator: GlotPress/2.4.0-alpha\n"
|
11 |
+
"Language: ur_PK\n"
|
12 |
+
"Project-Id-Version: Plugins - Custom Permalinks - Stable (latest release)\n"
|
13 |
+
|
14 |
+
#. Author URI of the plugin/theme
|
15 |
+
msgid "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
16 |
+
msgstr "https://www.yasglobal.com/web-design-development/wordpress/custom-permalinks/"
|
17 |
+
|
18 |
+
#. Author of the plugin/theme
|
19 |
+
msgid "Sami Ahmed Siddiqui"
|
20 |
+
msgstr "سمیع احمد صدیقی"
|
21 |
+
|
22 |
+
#. Description of the plugin/theme
|
23 |
+
msgid "Set custom permalinks on a per-post basis"
|
24 |
+
msgstr "پوسٹ کی بنیاد پر اپنی مرضی کے مطابق پرمالنکس مقرر کریں"
|
25 |
+
|
26 |
+
#. Plugin URI of the plugin/theme
|
27 |
+
msgid "https://wordpress.org/plugins/custom-permalinks/"
|
28 |
+
msgstr "https://wordpress.org/plugins/custom-permalinks/"
|
29 |
+
|
30 |
+
#. Plugin Name of the plugin/theme
|
31 |
+
msgid "Custom Permalinks"
|
32 |
+
msgstr "مرضی کے پرمالنکس"
|
33 |
+
|
34 |
+
#: frontend/class-custom-permalinks-form.php:238
|
35 |
+
msgid "Leave blank to disable"
|
36 |
+
msgstr "غیر فعال کرنے کے لیے خالی چھوڑ دیں"
|
37 |
+
|
38 |
+
#: frontend/class-custom-permalinks-form.php:125
|
39 |
+
#: frontend/class-custom-permalinks-form.php:151
|
40 |
+
#: frontend/class-custom-permalinks-form.php:212
|
41 |
+
msgid "Custom Permalink"
|
42 |
+
msgstr "مرضی کا پرمالنک"
|
43 |
+
|
44 |
+
#: frontend/class-custom-permalinks-form.php:108
|
45 |
+
msgid "Permalink:"
|
46 |
+
msgstr "پرمالنک:"
|
47 |
+
|
48 |
+
#: frontend/class-custom-permalinks-form.php:95
|
49 |
+
msgid "View Post"
|
50 |
+
msgstr "پوسٹ دیکھیں"
|
51 |
+
|
52 |
+
#: frontend/class-custom-permalinks-form.php:95
|
53 |
+
msgid "View Page"
|
54 |
+
msgstr "صفحہ دیکھیں"
|
55 |
+
|
56 |
+
#: admin/class-custom-permalinks-admin.php:203
|
57 |
+
msgid "Category/Tags Permalinks"
|
58 |
+
msgstr "زمرہ/ٹیگ پرمالنک"
|
59 |
+
|
60 |
+
#: admin/class-custom-permalinks-admin.php:169
|
61 |
+
#: admin/class-custom-permalinks-admin.php:332
|
62 |
+
msgid "Permalink"
|
63 |
+
msgstr "پرمالنک"
|
64 |
+
|
65 |
+
#: admin/class-custom-permalinks-admin.php:168
|
66 |
+
#: admin/class-custom-permalinks-admin.php:331
|
67 |
+
msgid "Type"
|
68 |
+
msgstr "قسم"
|
69 |
+
|
70 |
+
#: admin/class-custom-permalinks-admin.php:167
|
71 |
+
#: admin/class-custom-permalinks-admin.php:330
|
72 |
+
msgid "Title"
|
73 |
+
msgstr "عنوان"
|
74 |
+
|
75 |
+
#: admin/class-custom-permalinks-admin.php:96
|
76 |
+
#: admin/class-custom-permalinks-admin.php:150
|
77 |
+
#: admin/class-custom-permalinks-admin.php:230
|
78 |
+
#: admin/class-custom-permalinks-admin.php:306
|
79 |
+
msgid "Delete Permalinks"
|
80 |
+
msgstr "پرمالنکس حذف کریں"
|
81 |
+
|
82 |
+
#: admin/class-custom-permalinks-admin.php:95
|
83 |
+
#: admin/class-custom-permalinks-admin.php:149
|
84 |
+
#: admin/class-custom-permalinks-admin.php:229
|
85 |
+
#: admin/class-custom-permalinks-admin.php:305
|
86 |
+
msgid "Bulk Actions"
|
87 |
+
msgstr "ایک جیسی کاروائی"
|
88 |
+
|
89 |
+
#: admin/class-custom-permalinks-admin.php:47
|
90 |
+
msgid "PostTypes Permalinks"
|
91 |
+
msgstr "پوسٹ کی قسم کے پرمالنکس"
|
92 |
+
|
93 |
+
#: admin/class-custom-permalinks-admin.php:43
|
94 |
+
msgid "There is some error to proceed your request. Please retry with your request or contact to the plugin author."
|
95 |
msgstr "آپ کی درخواست کو آگے بھیجنے میں کچھ خرابی ہے۔ براہ مہربانی اپنی درخواست یا پلگ ان کے مصنف سے رابطہ کریں۔"
|
languages/index.php
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Silence is golden
|
4 |
+
*/
|
readme.txt
CHANGED
@@ -1,13 +1,12 @@
|
|
1 |
=== Custom Permalinks ===
|
2 |
-
|
3 |
Contributors: sasiddiqui, michaeltyson
|
4 |
Donate link: https://www.paypal.me/yasglobal
|
5 |
Tags: permalink, url, link, address, custom, redirect, custom post type
|
6 |
Requires at least: 2.6
|
7 |
Tested up to: 4.9
|
8 |
-
Stable tag: 1.2.
|
9 |
License: GPLv3
|
10 |
-
License URI:
|
11 |
|
12 |
Set custom permalinks on a per-post, per-tag or per-category basis.
|
13 |
|
@@ -89,6 +88,14 @@ This process defines you the steps to follow either you are installing through W
|
|
89 |
|
90 |
== Changelog ==
|
91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
= 1.2.12 =
|
93 |
|
94 |
* Fixed translation path and pager content issue
|
@@ -126,79 +133,6 @@ This process defines you the steps to follow either you are installing through W
|
|
126 |
* Fixed Query Issue on parse_request
|
127 |
* Resolving Issues with Cornerstone
|
128 |
|
129 |
-
= 1.2.5 =
|
130 |
-
|
131 |
-
* Fixed Category/Tag Update Issue + Typo on Admin Page
|
132 |
-
|
133 |
-
= 1.2.4 =
|
134 |
-
|
135 |
-
* Fixed Slug issue with Yoast SEO
|
136 |
-
|
137 |
-
= 1.2.3 =
|
138 |
-
|
139 |
-
* Fixed PHP Notice on Edit Post Page
|
140 |
-
|
141 |
-
= 1.2.2 =
|
142 |
-
|
143 |
-
* Fixed Typo of Class Object for term on Admin Page
|
144 |
-
|
145 |
-
= 1.2.1 =
|
146 |
-
* Fixed Class Typo
|
147 |
-
|
148 |
-
= 1.2 =
|
149 |
-
|
150 |
-
* Enhancements
|
151 |
-
* Added Filter to Exclude/Ignore URL to be processed
|
152 |
-
* Added Translation Capability
|
153 |
-
* Split the Code using OOPS Concept to improve performance and applied the filters according to the need
|
154 |
-
* Removed some unnecessary filters
|
155 |
-
* Bugs
|
156 |
-
* Fixed Vulnerability Issues
|
157 |
-
|
158 |
-
= 1.1 =
|
159 |
-
|
160 |
-
* Enhancements
|
161 |
-
* Added PostTypes Permalinks Page
|
162 |
-
* View all the PostTypes permalinks
|
163 |
-
* Search Permalinks
|
164 |
-
* Sort by Title
|
165 |
-
* Pagination
|
166 |
-
* Added Categories Permalinks Page
|
167 |
-
* View all the Category/Tags permalinks
|
168 |
-
* Search Permalinks
|
169 |
-
* Pagination
|
170 |
-
|
171 |
-
* Bug Fixes
|
172 |
-
* 404 Issues
|
173 |
-
* Child pages bug
|
174 |
-
|
175 |
-
= 1.0.2 =
|
176 |
-
|
177 |
-
* Fixed Notice and some URL Issues
|
178 |
-
|
179 |
-
= 1.0.1 =
|
180 |
-
|
181 |
-
* Fixed issue with AMP Pages
|
182 |
-
|
183 |
-
= 1.0 =
|
184 |
-
|
185 |
-
* Updated Query on the `custom_permalinks_request` Function
|
186 |
-
|
187 |
= Earlier versions =
|
188 |
|
189 |
* For the changelog of earlier versions, please refer to the separate changelog.txt file.
|
190 |
-
|
191 |
-
== Upgrade Notice ==
|
192 |
-
|
193 |
-
= 0.6.1 =
|
194 |
-
|
195 |
-
* This release fixes a bug causing incorrect link from the "View Post"/"View Page" button in the editor
|
196 |
-
|
197 |
-
= 0.6 =
|
198 |
-
|
199 |
-
In the process of fixing one issue, version 0.5.3 broke permalinks ending with a "/". Update now to fix this, and sorry for the inconvenience!
|
200 |
-
|
201 |
-
= 0.5.3 =
|
202 |
-
|
203 |
-
If you are having problems with Custom Permalinks causing an invalid URL redirect (eg. http://domain.comfolder/file.html instead of http://domain.com/folder/file.html),
|
204 |
-
upgrade: This has now been fixed.
|
1 |
=== Custom Permalinks ===
|
|
|
2 |
Contributors: sasiddiqui, michaeltyson
|
3 |
Donate link: https://www.paypal.me/yasglobal
|
4 |
Tags: permalink, url, link, address, custom, redirect, custom post type
|
5 |
Requires at least: 2.6
|
6 |
Tested up to: 4.9
|
7 |
+
Stable tag: 1.2.14
|
8 |
License: GPLv3
|
9 |
+
License URI: https://www.gnu.org/licenses/gpl.html
|
10 |
|
11 |
Set custom permalinks on a per-post, per-tag or per-category basis.
|
12 |
|
88 |
|
89 |
== Changelog ==
|
90 |
|
91 |
+
= 1.2.14 =
|
92 |
+
|
93 |
+
* Enhancement
|
94 |
+
* Added PATH_INFO in $_SERVER Variable
|
95 |
+
|
96 |
+
* Bugs
|
97 |
+
* $this variable issue on static method
|
98 |
+
|
99 |
= 1.2.12 =
|
100 |
|
101 |
* Fixed translation path and pager content issue
|
133 |
* Fixed Query Issue on parse_request
|
134 |
* Resolving Issues with Cornerstone
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
= Earlier versions =
|
137 |
|
138 |
* For the changelog of earlier versions, please refer to the separate changelog.txt file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|