SEOPress - Version 0.2

Version Description

  • INFO Improve SEOPress Metaboxe UI/UX
  • INFO CSS Cleaning
  • FIX Titles tag, meta description and meta robots
  • FIX Test site visibility in Reading Options before applying Titles & Metas settings
  • FIX Security Allowing Direct File Access to plugin files
  • FIX No more calling core loading files directly
  • FIX Import / Export Tool
Download this release

Release Info

Developer rainbowgeek
Plugin Icon 128x128 SEOPress
Version 0.2
Comparing to
See all releases

Version 0.2

assets/css/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
assets/css/seopress.css ADDED
@@ -0,0 +1,340 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*************************************************************************************************/
2
+ /* Metaboxe in CPT */
3
+ /*************************************************************************************************/
4
+ #seopress_cpt .ui-tabs .ui-tabs-nav {
5
+ display: inline-block;
6
+ height: 26px;
7
+ position: relative;
8
+ width: 100%;
9
+ z-index: 50;
10
+ margin: 0;
11
+ padding: 0;
12
+ }
13
+ #seopress_cpt .ui-helper-clearfix:after {
14
+ content:none;
15
+ }
16
+ #seopress_cpt .ui-tabs .ui-tabs-panel {
17
+ background: none repeat scroll 0 0 #FFFFFF;
18
+ border: 1px solid #DDDDDD;
19
+ border-radius: 0 3px 3px 3px;
20
+ display: inline-block;
21
+ padding: 1em 1.4em;
22
+ width: 100%;
23
+ box-sizing: border-box;
24
+ }
25
+ #seopress_cpt .ui-tabs .ui-tabs-nav li, #seopress_cpt .ui-tabs-anchor {
26
+ cursor:pointer !important;
27
+ }
28
+ #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
29
+ background: none repeat scroll 0 0 #FFFFFF;
30
+ border-color: #DDDDDD #DDDDDD #FFFFFF;
31
+ border-image: none;
32
+ border-style: solid;
33
+ border-width: 1px;
34
+ position: relative;
35
+ z-index: 60;
36
+ cursor:pointer;
37
+ }
38
+ #seopress_cpt #tabs-1 label,
39
+ #seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],
40
+ #seopress_cpt #tabs-3 label,
41
+ #seopress_cpt .subsection-title {
42
+ border-bottom: 1px solid #DDDDDD;
43
+ display: block;
44
+ margin: 20px 0 5px;
45
+ }
46
+ #seopress_cpt .wp-color-result {
47
+ margin:0;
48
+ }
49
+ #seopress_cpt #tabs-1 input,
50
+ #seopress_cpt #tabs-2 input[type=text],
51
+ #seopress_cpt #tabs-3 textarea,
52
+ #seopress_cpt #tabs-3 input[type=text] {
53
+ width:100%;
54
+ }
55
+ #seopress_cpt select {
56
+ width:300px;
57
+ }
58
+ #seopress_cpt .mandatory {
59
+ color: #cc0000;
60
+ }
61
+ #seopress_cpt .box-left {
62
+ float: left;
63
+ width: 49%;
64
+ margin-right: 1%;
65
+ }
66
+ #seopress_cpt .box-right {
67
+ float: left;
68
+ width: 49%;
69
+ margin-left: 1%;
70
+ }
71
+ #seopress_cpt .google-snippet-preview .snippet-title {
72
+ color: rgb(26, 13, 171);
73
+ font-family: arial,sans-serif;
74
+ font-size: 18px;
75
+ font-weight: 400;
76
+ line-height: 21.6px;
77
+ text-decoration: underline;
78
+ }
79
+ #seopress_cpt .google-snippet-preview .snippet-permalink {
80
+ color: rgb(0, 102, 33);
81
+ font-family: arial,sans-serif;
82
+ font-size: 14px;
83
+ font-style: normal;
84
+ font-weight: 400;
85
+ line-height: 16px;
86
+ }
87
+ #seopress_cpt .google-snippet-preview .snippet-description {
88
+ color: rgb(84, 84, 84);
89
+ font-family: arial,sans-serif;
90
+ font-size: 13px;
91
+ font-weight: 400;
92
+ line-height: 18.2px;
93
+ }
94
+
95
+ /*************************************************************************************************/
96
+ /* Admin - Tabs */
97
+ /*************************************************************************************************/
98
+ #seopress_cpt .ui-tabs {
99
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
100
+ padding: .2em;
101
+ }
102
+ #seopress_cpt .ui-tabs .ui-tabs-nav li {
103
+ list-style: none;
104
+ float: left;
105
+ position: relative;
106
+ top: 0;
107
+ margin: 1px .2em 0 0;
108
+ border-bottom-width: 0;
109
+ padding: 0;
110
+ white-space: nowrap;
111
+ }
112
+ #seopress_cpt .ui-tabs .ui-tabs-nav li a {
113
+ float: left;
114
+ padding: 0.38em 1em;
115
+ text-decoration: none;
116
+ }
117
+ #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
118
+ margin-bottom: -1px;
119
+ padding-bottom: 1px;
120
+ }
121
+ #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,
122
+ #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,
123
+ #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
124
+ cursor: text;
125
+ }
126
+ #seopress_cpt .ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
127
+ #seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
128
+ cursor: pointer;
129
+ }
130
+ #seopress_cpt .ui-tabs-vertical { width: 55em; }
131
+ #seopress_cpt .ui-tabs-vertical .ui-tabs-nav { padding: .2em .1em .2em .2em; float: left; width: 12em; }
132
+ #seopress_cpt .ui-tabs-vertical .ui-tabs-nav li { clear: left; width: 100%; border-bottom-width: 1px !important; border-right-width: 0 !important; margin: 0 -1px .2em 0; }
133
+ #seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a { display:block; }
134
+ #seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active { padding-bottom: 0; padding-right: .1em; border-right-width: 1px; border-right-width: 1px; }
135
+ #seopress_cpt .ui-tabs-vertical .ui-tabs-panel { padding: 1em; float: right; width: 40em;}
136
+
137
+ /*************************************************************************************************/
138
+ /* Admin - Options panel */
139
+ /*************************************************************************************************/
140
+ #seopress-header {
141
+ margin: 0 10px 40px;
142
+ }
143
+ #seopress-header #seopress-admin h1 {
144
+ background: url("../img/logo-seopress.png") no-repeat scroll 0 0 / contain rgba(0, 0, 0, 0);
145
+ font-size: 20px;
146
+ font-weight: bold;
147
+ line-height: 80px;
148
+ margin: 30px 0;
149
+ height: 50px;
150
+ }
151
+ #seopress-header #seopress-admin h1 .seopress-info-version {
152
+ position: relative;
153
+ left: 270px;
154
+ top: -10px;
155
+ }
156
+ #seopress-header #seopress-admin .wpc-info-version {
157
+ font-size: 14px;
158
+ left: 310px;
159
+ position: absolute;
160
+ text-indent: 0;
161
+ top: 85px;
162
+ }
163
+ #seopress-header #seopress-admin #seopress-notice {
164
+ width: 63%;
165
+ }
166
+ #seopress-header #seopress-admin #seopress-notice p {
167
+ font-size: 16px;
168
+ }
169
+ #seopress-header #seopress-admin #seopress-notice .dashicons {
170
+ color: #444;
171
+ text-decoration: none;
172
+ }
173
+ #seopress-header #seopress-admin #seopress-notice p.small {
174
+ font-size: 13px;
175
+ display: inline;
176
+ }
177
+ #seopress-header #seopress-admin #seopress-notice .wporg-ratings {
178
+ display: inline;
179
+ }
180
+ .seopress-option .seopress-settings {
181
+ float: left;
182
+ max-width: 750px;
183
+ width: 100%;
184
+ }
185
+ .seopress-option #seopress-refresh,
186
+ .seopress-option #seopress-edd-license-btn {
187
+ float: left;
188
+ }
189
+ .wp-admin-ui_page_seopress-import-export .postbox {
190
+ margin-right: 20px;
191
+ }
192
+ .seopress-option #side-sortables .accordion-section-content {
193
+ padding: 0;
194
+ }
195
+ .seopress-option .seopress-settings label {
196
+ margin: 0 0 0 10px;
197
+ }
198
+ .seopress-tab {
199
+ display: none;
200
+ }
201
+ .seopress-tab.active {
202
+ display: block;
203
+ }
204
+ .seopress-option input[type="text"],
205
+ .seopress-option input[type="password"],
206
+ .seopress-option textarea {
207
+ min-width: 400px;
208
+ }
209
+ .seopress-option textarea {
210
+ min-height: 100px;
211
+ }
212
+ .seopress-option #side-sortables .highlight {
213
+ border: 1px dashed #ccc;
214
+ display: block;
215
+ width:382px;
216
+ height: 40px;
217
+ background: transparent;
218
+ }
219
+ .seopress-option #side-sortables .accordion-section {
220
+ margin-bottom: 9px;
221
+ width: 382px;
222
+ }
223
+ .seopress-option #side-sortables .accordion-section h3 {
224
+ cursor: move;
225
+ border: 1px solid #E5E5E5;
226
+ background: #FAFAFA;
227
+ }
228
+ .seopress-option #side-sortables .accordion-section .inside {
229
+ padding: 10px 10px 24px 10px;
230
+ border-width: 0 1px 1px;
231
+ border-style: solid;
232
+ box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.04);
233
+ border-color: rgb(229, 229, 229);
234
+ display: inline-block;
235
+ width: calc(100% - 22px);
236
+ height: 100%;
237
+ }
238
+ .seopress-option #side-sortables .accordion-section .inside ul {
239
+ padding-left: 10px;
240
+ margin-bottom: 0px;
241
+ padding-top: 2px;
242
+ padding-bottom: 2px;
243
+ }
244
+ .seopress-option #side-sortables .accordion-section .inside ul li {
245
+ border-left: 2px solid rgb(204, 204, 204);
246
+ padding-left: 10px;
247
+ margin-bottom: 10px;
248
+ }
249
+ .seopress-option #side-sortables .accordion-section .inside ul li:first-child {
250
+ border-bottom: 1px dotted #E5E5E5;
251
+ border-left: 0;
252
+ padding-bottom: 10px;
253
+ font-weight: bold;
254
+ margin-left:-15px;
255
+ margin-bottom: 10px;
256
+ }
257
+ .seopress-notice #message {
258
+ margin: 5px 10px 2px 0;
259
+ }
260
+ .seopress-page-list {
261
+ margin: 0 0 0 -16px;
262
+ }
263
+ .seopress-page-list .dashicons {
264
+ vertical-align: middle;
265
+ margin-right: 5px;
266
+ }
267
+ .seopress-page-list td {
268
+ vertical-align: top;
269
+ border: 1px solid #CCC;
270
+ box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25);
271
+ width: 25%;
272
+ max-width: 250px;
273
+ min-width: 200px;
274
+ }
275
+ .seopress-page-list td .img-tool {
276
+ height: 125px;
277
+ width: 100%;
278
+ background: #747474;
279
+ }
280
+ .seopress-page-list td .img-tool .dashicons {
281
+ color: #FFF;
282
+ font-size: 100px;
283
+ text-align: center;
284
+ vertical-align: middle;
285
+ width: 100%;
286
+ height: 130px;
287
+ line-height: 130px;
288
+ }
289
+ .seopress-page-list td .inner {
290
+ margin: 20px;
291
+ display: block;
292
+ }
293
+ .seopress-page-list td h4 {
294
+ margin: 0;
295
+ font-size: 16px;
296
+ font-weight: bold;
297
+ }
298
+ .seopress-page-list td h4 .dashicons {
299
+ font-size: 16px;
300
+ margin-left: 5px;
301
+ vertical-align: middle;
302
+ }
303
+ .seopress-page-list a {
304
+ color: #333;
305
+ text-decoration: none;
306
+ }
307
+ .seopress-page-list a:hover {
308
+ text-decoration: none;
309
+ color: #09C;
310
+ }
311
+ .seopress-option .seopress-table {
312
+ background: #FFF none repeat scroll 0% 0%;
313
+ border: 1px solid #ccc;
314
+ }
315
+ .seopress-option .seopress-table th {
316
+ padding: 15px 10px;
317
+ vertical-align: middle;
318
+ }
319
+ .wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th {
320
+ min-width: 200px;
321
+ }
322
+ .seopress-option .seopress-table .seopress-settings-section {
323
+ background: #f1f1f1;
324
+ }
325
+ .seopress-option .seopress-table .seopress-table-head td {
326
+ border-bottom: 1px solid #ccc;
327
+ font-weight: bold;
328
+ background: #f1f1f1;
329
+ }
330
+ #seopress-admin .wpalacarte-banner {
331
+ position: absolute;
332
+ right: 28px;
333
+ top: 10px;
334
+ height: 200px;
335
+ width: auto;
336
+ }
337
+ .seopress-option input[type="text"].seopress-admin-menu-input {
338
+ min-width: inherit;
339
+ width: 100%;
340
+ }
assets/img/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
assets/img/logo-seopress.png ADDED
Binary file
assets/img/wpalacarte-300x250-EN@2x.png ADDED
Binary file
assets/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
assets/js/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
assets/js/seopress-media-uploader.js ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function($){
2
+ var mediaUploader;
3
+
4
+ $('#seopress_social_fb_img_upload').click(function(e) {
5
+ e.preventDefault();
6
+ // If the uploader object has already been created, reopen the dialog
7
+ if (mediaUploader) {
8
+ mediaUploader.open();
9
+ return;
10
+ }
11
+ // Extend the wp.media object
12
+ mediaUploader = wp.media.frames.file_frame = wp.media({
13
+ title: 'Choose Image',
14
+ button: {
15
+ text: 'Choose Image'
16
+ }, multiple: false });
17
+
18
+ // When a file is selected, grab the URL and set it as the text field's value
19
+ mediaUploader.on('select', function() {
20
+ attachment = mediaUploader.state().get('selection').first().toJSON();
21
+ $('#seopress_social_fb_img_meta').val(attachment.url);
22
+ });
23
+
24
+ // Open the uploader dialog
25
+ mediaUploader.open();
26
+ });
27
+ });
28
+
29
+ jQuery(document).ready(function($){
30
+ var mediaUploader;
31
+ $('#seopress_social_twitter_img_upload').click(function(e) {
32
+ e.preventDefault();
33
+ // If the uploader object has already been created, reopen the dialog
34
+ if (mediaUploader) {
35
+ mediaUploader.open();
36
+ return;
37
+ }
38
+ // Extend the wp.media object
39
+ mediaUploader = wp.media.frames.file_frame = wp.media({
40
+ title: 'Choose Image',
41
+ button: {
42
+ text: 'Choose Image'
43
+ }, multiple: false });
44
+
45
+ // When a file is selected, grab the URL and set it as the text field's value
46
+ mediaUploader.on('select', function() {
47
+ attachment = mediaUploader.state().get('selection').first().toJSON();
48
+ $('#seopress_social_twitter_img_meta').val(attachment.url);
49
+ });
50
+ // Open the uploader dialog
51
+ mediaUploader.open();
52
+ });
53
+ });
54
+
55
+ jQuery(document).ready(function($){
56
+ var mediaUploader;
57
+ $('#seopress_social_knowledge_img_upload').click(function(e) {
58
+ e.preventDefault();
59
+ // If the uploader object has already been created, reopen the dialog
60
+ if (mediaUploader) {
61
+ mediaUploader.open();
62
+ return;
63
+ }
64
+ // Extend the wp.media object
65
+ mediaUploader = wp.media.frames.file_frame = wp.media({
66
+ title: 'Choose Image',
67
+ button: {
68
+ text: 'Choose Image'
69
+ }, multiple: false });
70
+
71
+ // When a file is selected, grab the URL and set it as the text field's value
72
+ mediaUploader.on('select', function() {
73
+ attachment = mediaUploader.state().get('selection').first().toJSON();
74
+ $('#seopress_social_knowledge_img_meta').val(attachment.url);
75
+ });
76
+ // Open the uploader dialog
77
+ mediaUploader.open();
78
+ });
79
+ });
assets/js/seopress-tabs.js ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function($) {
2
+ if(typeof sessionStorage!='undefined') {
3
+ var seopress_tab_session_storage = sessionStorage.getItem("seopress_titles_tab");
4
+ if (seopress_tab_session_storage) {
5
+ jQuery('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
6
+ jQuery('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
7
+
8
+ jQuery('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
9
+ jQuery('#'+seopress_tab_session_storage).addClass("active");
10
+ } else {
11
+ //Default TAB
12
+ jQuery('#tab_seopress_titles_home-tab').addClass("nav-tab-active");
13
+ jQuery('#tab_seopress_titles_home').addClass("active");
14
+ }
15
+ };
16
+ jQuery("#seopress-tabs").find("a.nav-tab").click(function(e){
17
+ e.preventDefault();
18
+ var hash = jQuery(this).attr('href').split('#tab=')[1];
19
+
20
+ jQuery('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
21
+ jQuery('#'+hash+'-tab').addClass("nav-tab-active");
22
+
23
+
24
+ sessionStorage.setItem("seopress_titles_tab", hash);
25
+
26
+ jQuery('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
27
+ jQuery('#'+hash).addClass("active");
28
+ });
29
+ });
assets/js/seopress-tabs2.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ jQuery(document).ready(function($) {
2
+ $("#seopress-tabs .hidden").removeClass('hidden');
3
+ $("#seopress-tabs").tabs();
4
+ });
assets/js/seopress-tabs3.js ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function($) {
2
+ if(typeof sessionStorage!='undefined') {
3
+ var seopress_tab_session_storage = sessionStorage.getItem("seopress_social_tab");
4
+ if (seopress_tab_session_storage) {
5
+ jQuery('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
6
+ jQuery('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
7
+
8
+ jQuery('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
9
+ jQuery('#'+seopress_tab_session_storage).addClass("active");
10
+ } else {
11
+ //Default TAB
12
+ jQuery('#tab_seopress_social_knowledge-tab').addClass("nav-tab-active");
13
+ jQuery('#tab_seopress_social_knowledge').addClass("active");
14
+ }
15
+ };
16
+ jQuery("#seopress-tabs").find("a.nav-tab").click(function(e){
17
+ e.preventDefault();
18
+ var hash = jQuery(this).attr('href').split('#tab=')[1];
19
+
20
+ jQuery('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
21
+ jQuery('#'+hash+'-tab').addClass("nav-tab-active");
22
+
23
+
24
+ sessionStorage.setItem("seopress_social_tab", hash);
25
+
26
+ jQuery('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
27
+ jQuery('#'+hash).addClass("active");
28
+ });
29
+ });
assets/js/seopress-tabs4.js ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function($) {
2
+ if(typeof sessionStorage!='undefined') {
3
+ var seopress_tab_session_storage = sessionStorage.getItem("seopress_xml_sitemap_tab");
4
+ if (seopress_tab_session_storage) {
5
+ jQuery('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
6
+ jQuery('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
7
+
8
+ jQuery('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
9
+ jQuery('#'+seopress_tab_session_storage).addClass("active");
10
+ } else {
11
+ //Default TAB
12
+ jQuery('#tab_seopress_xml_sitemap_general-tab').addClass("nav-tab-active");
13
+ jQuery('#tab_seopress_xml_sitemap_general').addClass("active");
14
+ }
15
+ };
16
+ jQuery("#seopress-tabs").find("a.nav-tab").click(function(e){
17
+ e.preventDefault();
18
+ var hash = jQuery(this).attr('href').split('#tab=')[1];
19
+
20
+ jQuery('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
21
+ jQuery('#'+hash+'-tab').addClass("nav-tab-active");
22
+
23
+
24
+ sessionStorage.setItem("seopress_xml_sitemap_tab", hash);
25
+
26
+ jQuery('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
27
+ jQuery('#'+hash).addClass("active");
28
+ });
29
+ });
contributors.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ Great people who contributed to this plugin :
2
+
3
+ Developers:
4
+ - Benjamin Denis: contact@seopress.org / @wpcloudy
inc/admin/admin-metaboxes.php ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
4
+
5
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
6
+ //Display metabox in Custom Post Type
7
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
8
+
9
+ add_action('add_meta_boxes','seopress_init_metabox');
10
+ function seopress_init_metabox(){
11
+ add_meta_box('seopress_cpt', __('SEOPress','seopress'), 'seopress_cpt', seopress_get_post_types(), 'advanced');
12
+ }
13
+
14
+ function seopress_cpt($post){
15
+ $seopress_titles_title = get_post_meta($post->ID,'_seopress_titles_title',true);
16
+ $seopress_titles_desc = get_post_meta($post->ID,'_seopress_titles_desc',true);
17
+ $seopress_robots_index = get_post_meta($post->ID,'_seopress_robots_index',true);
18
+ $seopress_robots_follow = get_post_meta($post->ID,'_seopress_robots_follow',true);
19
+ $seopress_robots_odp = get_post_meta($post->ID,'_seopress_robots_odp',true);
20
+ $seopress_robots_imageindex = get_post_meta($post->ID,'_seopress_robots_imageindex',true);
21
+ $seopress_robots_archive = get_post_meta($post->ID,'_seopress_robots_archive',true);
22
+ $seopress_robots_snippet = get_post_meta($post->ID,'_seopress_robots_snippet',true);
23
+ $seopress_robots_canonical = get_post_meta($post->ID,'_seopress_robots_canonical',true);
24
+ $seopress_social_fb_title = get_post_meta($post->ID,'_seopress_social_fb_title',true);
25
+ $seopress_social_fb_desc = get_post_meta($post->ID,'_seopress_social_fb_desc',true);
26
+ $seopress_social_fb_img = get_post_meta($post->ID,'_seopress_social_fb_img',true);
27
+ $seopress_social_twitter_title = get_post_meta($post->ID,'_seopress_social_twitter_title',true);
28
+ $seopress_social_twitter_desc = get_post_meta($post->ID,'_seopress_social_twitter_desc',true);
29
+ $seopress_social_twitter_img = get_post_meta($post->ID,'_seopress_social_twitter_img',true);
30
+
31
+ function seopress_titles_title($seopress_titles_title) {
32
+ if ($seopress_titles_title !='') {
33
+ return $seopress_titles_title;
34
+ } else {
35
+ return get_the_title();
36
+ }
37
+ }
38
+
39
+ function seopress_titles_desc($seopress_titles_desc) {
40
+ if ($seopress_titles_desc !='') {
41
+ return $seopress_titles_desc;
42
+ } else {
43
+ global $post;
44
+ return $post->post_content;
45
+ }
46
+ }
47
+
48
+ echo '<div id="seopress-tabs">
49
+ <ul>
50
+ <li><a href="#tabs-1"><span class="dashicons dashicons-editor-table"></span>'. __( 'Titles settings', 'seopress' ) .'</a></li>
51
+ <li><a href="#tabs-2"><span class="dashicons dashicons-admin-generic"></span>'. __( 'Advanced', 'seopress' ) .'</a></li>
52
+ <li><a href="#tabs-3"><span class="dashicons dashicons-share"></span>'. __( 'Social', 'seopress' ) .'</a></li>
53
+ </ul>
54
+
55
+ <div id="tabs-1">
56
+ <div class="box-left">
57
+ <p>
58
+ <label for="seopress_titles_title_meta">'. __( 'Title', 'seopress' ) .'</label>
59
+ <input id="seopress_titles_title_meta" type="text" name="seopress_titles_title" placeholder="'.__('Enter your title','seopress').'" value="'.$seopress_titles_title.'" />
60
+ </p>
61
+ <p>
62
+ <label for="seopress_titles_desc_meta">'. __( 'Meta description', 'seopress' ) .'</label>
63
+ <textarea id="seopress_titles_desc_meta" style="width:100%" name="seopress_titles_desc" placeholder="'.__('Enter your meta description','seopress').'" value="'.$seopress_titles_desc.'">'.$seopress_titles_desc.'</textarea>
64
+ </p>
65
+ </div>
66
+ <div class="box-right">
67
+ <div class="google-snippet-preview">
68
+ <h3>'.__('Google Snippet Preview','seopress').'</h3>
69
+ <p>'. __('This is what your page will look like in Google search results','seopress').'</p>
70
+ <div class="snippet-title">'.seopress_titles_title($seopress_titles_title).'</div>
71
+ <div class="snippet-permalink">'.get_permalink().'</div>
72
+ <div class="snippet-desc">'.seopress_titles_desc($seopress_titles_desc).'</div>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ <div id="tabs-2">
77
+ <p>
78
+ <label for="seopress_robots_index_meta">
79
+ <input type="checkbox" name="seopress_robots_index" id="seopress_robots_index_meta" value="yes" '. checked( $seopress_robots_index, 'yes', false ) .' />
80
+ '. __( 'noindex', 'seopress' ) .'
81
+ </label>
82
+ </p>
83
+ <p>
84
+ <label for="seopress_robots_follow_meta">
85
+ <input type="checkbox" name="seopress_robots_follow" id="seopress_robots_follow_meta" value="yes" '. checked( $seopress_robots_follow, 'yes', false ) .' />
86
+ '. __( 'nofollow', 'seopress' ) .'
87
+ </label>
88
+ </p>
89
+ <p>
90
+ <label for="seopress_robots_odp_meta">
91
+ <input type="checkbox" name="seopress_robots_odp" id="seopress_robots_odp_meta" value="yes" '. checked( $seopress_robots_odp, 'yes', false ) .' />
92
+ '. __( 'noodp', 'seopress' ) .'
93
+ </label>
94
+ </p>
95
+ <p>
96
+ <label for="seopress_robots_imageindex_meta">
97
+ <input type="checkbox" name="seopress_robots_imageindex" id="seopress_robots_imageindex_meta" value="yes" '. checked( $seopress_robots_imageindex, 'yes', false ) .' />
98
+ '. __( 'noimageindex', 'seopress' ) .'
99
+ </label>
100
+ </p>
101
+ <p>
102
+ <label for="seopress_robots_archive_meta">
103
+ <input type="checkbox" name="seopress_robots_archive" id="seopress_robots_archive_meta" value="yes" '. checked( $seopress_robots_archive, 'yes', false ) .' />
104
+ '. __( 'noarchive', 'seopress' ) .'
105
+ </label>
106
+ </p>
107
+ <p>
108
+ <label for="seopress_robots_snippet_meta">
109
+ <input type="checkbox" name="seopress_robots_snippet" id="seopress_robots_snippet_meta" value="yes" '. checked( $seopress_robots_snippet, 'yes', false ) .' />
110
+ '. __( 'nosnippet', 'seopress' ) .'
111
+ </label>
112
+ </p>
113
+ <p>
114
+ <label for="seopress_robots_canonical_meta">'. __( 'Canonical URL', 'seopress' ) .'</label>
115
+ <input id="seopress_robots_canonical_meta" type="text" name="seopress_robots_canonical" placeholder="'.__('Enter your Canonical URL','seopress').'" value="'.$seopress_robots_canonical.'" />
116
+ </p>
117
+ </div>
118
+ <div id="tabs-3">
119
+ <span class="dashicons dashicons-facebook-alt"></span>
120
+ <p>
121
+ <label for="seopress_social_fb_title_meta">'. __( 'Facebook Title', 'seopress' ) .'</label>
122
+ <input id="seopress_social_fb_title_meta" type="text" name="seopress_social_fb_title" placeholder="'.__('Enter your Facebook title','seopress').'" value="'.$seopress_social_fb_title.'" />
123
+ </p>
124
+ <p>
125
+ <label for="seopress_social_fb_desc_meta">'. __( 'Facebook description', 'seopress' ) .'</label>
126
+ <textarea id="seopress_social_fb_desc_meta" name="seopress_social_fb_desc" placeholder="'.__('Enter your Facebook description','seopress').'" value="'.$seopress_social_fb_desc.'">'.$seopress_social_fb_desc.'</textarea>
127
+ </p>
128
+ <p>
129
+ <label for="seopress_social_fb_img_meta">'. __( 'Facebook Thumbnail', 'seopress' ) .'</label>
130
+ <input id="seopress_social_fb_img_meta" type="text" name="seopress_social_fb_img" placeholder="'.__('Select your default thumbnail','seopress').'" value="'.$seopress_social_fb_img.'" />
131
+ <input id="seopress_social_fb_img_upload" class="button" type="button" value="'.__('Upload an Image','seopress').'" />
132
+ </p>
133
+ <br/>
134
+ <span class="dashicons dashicons-twitter"></span>
135
+ <p>
136
+ <label for="seopress_social_twitter_title_meta">'. __( 'Twitter Title', 'seopress' ) .'</label>
137
+ <input id="seopress_social_twitter_title_meta" type="text" name="seopress_social_twitter_title" placeholder="'.__('Enter your Twitter title','seopress').'" value="'.$seopress_social_twitter_title.'" />
138
+ </p>
139
+ <p>
140
+ <label for="seopress_social_twitter_desc_meta">'. __( 'Twitter description', 'seopress' ) .'</label>
141
+ <textarea id="seopress_social_twitter_desc_meta" name="seopress_social_twitter_desc" placeholder="'.__('Enter your Twitter description','seopress').'" value="'.$seopress_social_twitter_desc.'">'.$seopress_social_twitter_desc.'</textarea>
142
+ </p>
143
+ <p>
144
+ <label for="seopress_social_twitter_img_meta">'. __( 'Twitter Thumbnail', 'seopress' ) .'</label>
145
+ <input id="seopress_social_twitter_img_meta" type="text" name="seopress_social_twitter_img" placeholder="'.__('Select your default thumbnail','seopress').'" value="'.$seopress_social_twitter_img.'" />
146
+ <input id="seopress_social_twitter_img_upload" class="button" type="button" value="'.__('Upload an Image','seopress').'" />
147
+ </p>
148
+ </div>
149
+ </div>
150
+ ';
151
+ }
152
+
153
+ add_action('save_post','seopress_save_metabox');
154
+ function seopress_save_metabox($post_id){
155
+ if ( 'attachment' !== get_post_type($post_id)) {
156
+ if(isset($_POST['seopress_titles_title'])){
157
+ update_post_meta($post_id, '_seopress_titles_title', esc_html($_POST['seopress_titles_title']));
158
+ }
159
+ if(isset($_POST['seopress_titles_desc'])){
160
+ update_post_meta($post_id, '_seopress_titles_desc', esc_html($_POST['seopress_titles_desc']));
161
+ }
162
+ if( isset( $_POST[ 'seopress_robots_index' ] ) ) {
163
+ update_post_meta( $post_id, '_seopress_robots_index', 'yes' );
164
+ } else {
165
+ delete_post_meta( $post_id, '_seopress_robots_index', '' );
166
+ }
167
+ if( isset( $_POST[ 'seopress_robots_follow' ] ) ) {
168
+ update_post_meta( $post_id, '_seopress_robots_follow', 'yes' );
169
+ } else {
170
+ delete_post_meta( $post_id, '_seopress_robots_follow', '' );
171
+ }
172
+ if( isset( $_POST[ 'seopress_robots_odp' ] ) ) {
173
+ update_post_meta( $post_id, '_seopress_robots_odp', 'yes' );
174
+ } else {
175
+ delete_post_meta( $post_id, '_seopress_robots_odp', '' );
176
+ }
177
+ if( isset( $_POST[ 'seopress_robots_imageindex' ] ) ) {
178
+ update_post_meta( $post_id, '_seopress_robots_imageindex', 'yes' );
179
+ } else {
180
+ delete_post_meta( $post_id, '_seopress_robots_imageindex', '' );
181
+ }
182
+ if( isset( $_POST[ 'seopress_robots_archive' ] ) ) {
183
+ update_post_meta( $post_id, '_seopress_robots_archive', 'yes' );
184
+ } else {
185
+ delete_post_meta( $post_id, '_seopress_robots_archive', '' );
186
+ }
187
+ if( isset( $_POST[ 'seopress_robots_snippet' ] ) ) {
188
+ update_post_meta( $post_id, '_seopress_robots_snippet', 'yes' );
189
+ } else {
190
+ delete_post_meta( $post_id, '_seopress_robots_snippet', '' );
191
+ }
192
+ if(isset($_POST['seopress_robots_canonical'])){
193
+ update_post_meta($post_id, '_seopress_robots_canonical', esc_html($_POST['seopress_robots_canonical']));
194
+ }
195
+ if(isset($_POST['seopress_social_fb_title'])){
196
+ update_post_meta($post_id, '_seopress_social_fb_title', esc_html($_POST['seopress_social_fb_title']));
197
+ }
198
+ if(isset($_POST['seopress_social_fb_desc'])){
199
+ update_post_meta($post_id, '_seopress_social_fb_desc', esc_html($_POST['seopress_social_fb_desc']));
200
+ }
201
+ if(isset($_POST['seopress_social_fb_img'])){
202
+ update_post_meta($post_id, '_seopress_social_fb_img', esc_html($_POST['seopress_social_fb_img']));
203
+ }
204
+ if(isset($_POST['seopress_social_twitter_title'])){
205
+ update_post_meta($post_id, '_seopress_social_twitter_title', esc_html($_POST['seopress_social_twitter_title']));
206
+ }
207
+ if(isset($_POST['seopress_social_twitter_desc'])){
208
+ update_post_meta($post_id, '_seopress_social_twitter_desc', esc_html($_POST['seopress_social_twitter_desc']));
209
+ }
210
+ if(isset($_POST['seopress_social_twitter_img'])){
211
+ update_post_meta($post_id, '_seopress_social_twitter_img', esc_html($_POST['seopress_social_twitter_img']));
212
+ }
213
+ }
214
+ }
215
+ ?>
inc/admin/admin.php ADDED
@@ -0,0 +1,1754 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
4
+
5
+ class seopress_options
6
+ {
7
+ /**
8
+ * Holds the values to be used in the fields callbacks
9
+ */
10
+ private $options;
11
+
12
+ /**
13
+ * Start up
14
+ */
15
+ public function __construct() {
16
+ add_action( 'admin_menu', array( $this, 'add_plugin_page' ), 10 );
17
+ add_action( 'admin_init', array( $this, 'page_init' ) );
18
+ }
19
+
20
+ public function activate() {
21
+ update_option($this->seopress_options, $this->data);
22
+ }
23
+
24
+ public function deactivate() {
25
+ delete_option($this->seopress_options);
26
+ }
27
+
28
+ /**
29
+ * Add options page
30
+ */
31
+ public function add_plugin_page()
32
+ {
33
+ add_menu_page('SEOPress Option Page', 'SEOPress', 'manage_options', 'seopress-option', array( $this, 'create_admin_page' ), 'dashicons-admin-generic', 90);
34
+ add_submenu_page('seopress-option', __('Titles & Metas','seopress'), __('Titles & Metas','seopress'), 'manage_options', 'seopress-titles', array( $this, 'seopress_titles_page' ));
35
+ add_submenu_page('seopress-option', __('XML Sitemap','seopress'), __('XML Sitemap','seopress'), 'manage_options', 'seopress-xml-sitemap', array( $this, 'seopress_xml_sitemap_page' ));
36
+ add_submenu_page('seopress-option', __('Social','seopress'), __('Social','seopress'), 'manage_options', 'seopress-social', array( $this, 'seopress_social_page' ));
37
+ add_submenu_page('seopress-option', __('Import / Export / Reset settings','seopress'), __('Import / Export / Reset','seopress'), 'manage_options', 'seopress-import-export', array( $this,'seopress_import_export_page'));
38
+ }
39
+
40
+ function seopress_titles_page(){
41
+ $this->options = get_option( 'seopress_titles_option_name' );
42
+ ?>
43
+ <form method="post" action="options.php" class="seopress-option">
44
+ <?php
45
+ if (get_option('blog_public') =='0') {
46
+ echo '<div class="error notice is-dismissable">';
47
+ echo '<p>'. __('Discourage search engines from indexing this site is <strong>ON!</strong> None of the following settings will be applied.','seopress');
48
+ echo ' <a href="'.admin_url("options-reading.php").'">'.__('Change this settings','seopress').'</a></p>';
49
+ echo '</div>';
50
+ }
51
+ global $wp_version, $title;
52
+ $current_tab = '';
53
+ $tag = version_compare( $wp_version, '4.4' ) >= 0 ? 'h1' : 'h2';
54
+ echo '<'.$tag.'>'.$title.'</'.$tag.'>';
55
+ settings_fields( 'seopress_titles_option_group' );
56
+ ?>
57
+
58
+ <div id="seopress-tabs" class="wrap">
59
+ <?php
60
+
61
+ $plugin_settings_tabs = array(
62
+ 'tab_seopress_titles_home' => __( "Home", "seopress" ),
63
+ 'tab_seopress_titles_single' => __( "Single Post Types", "seopress" ),
64
+ 'tab_seopress_titles_tax' => __( "Taxonomies", "seopress" ),
65
+ 'tab_seopress_titles_archives' => __( "Archives", "seopress" ),
66
+ 'tab_seopress_titles_advanced' => __( "Advanced", "seopress" ),
67
+ );
68
+
69
+ echo '<h2 class="nav-tab-wrapper">';
70
+ foreach ( $plugin_settings_tabs as $tab_key => $tab_caption ) {
71
+ echo '<a id="'. $tab_key .'-tab" class="nav-tab" href="?page=seopress-titles#tab=' . $tab_key . '">' . $tab_caption . '</a>';
72
+ }
73
+ echo '</h2>';
74
+ ?>
75
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_titles_home') { echo 'active'; } ?>" id="tab_seopress_titles_home"><?php do_settings_sections( 'seopress-settings-admin-titles-home' ); ?></div>
76
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_titles_single') { echo 'active'; } ?>" id="tab_seopress_titles_single"><?php do_settings_sections( 'seopress-settings-admin-titles-single' ); ?></div>
77
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_titles_tax') { echo 'active'; } ?>" id="tab_seopress_titles_tax"><?php do_settings_sections( 'seopress-settings-admin-titles-tax' ); ?></div>
78
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_titles_archives') { echo 'active'; } ?>" id="tab_seopress_titles_archives"><?php do_settings_sections( 'seopress-settings-admin-titles-archives' ); ?></div>
79
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_titles_advanced') { echo 'active'; } ?>" id="tab_seopress_titles_advanced"><?php do_settings_sections( 'seopress-settings-admin-titles-advanced' ); ?></div>
80
+ </div>
81
+
82
+ <?php submit_button(); ?>
83
+ </form>
84
+ <?php
85
+ }
86
+
87
+ function seopress_xml_sitemap_page(){
88
+ $this->options = get_option( 'seopress_xml_sitemap_option_name' );
89
+ ?>
90
+ <form method="post" action="options.php" class="seopress-option">
91
+ <?php
92
+ global $wp_version, $title;
93
+ $current_tab = '';
94
+ $tag = version_compare( $wp_version, '4.4' ) >= 0 ? 'h1' : 'h2';
95
+ echo '<'.$tag.'>'.$title.'</'.$tag.'>';
96
+ settings_fields( 'seopress_xml_sitemap_option_group' );
97
+ ?>
98
+
99
+ <div id="seopress-tabs" class="wrap">
100
+ <?php
101
+
102
+ $plugin_settings_tabs = array(
103
+ 'tab_seopress_xml_sitemap_general' => __( "General", "seopress" ),
104
+ 'tab_seopress_xml_sitemap_post_types' => __( "Post Types", "seopress" ),
105
+ 'tab_seopress_xml_sitemap_taxonomies' => __( "Taxonomies", "seopress" ),
106
+ );
107
+
108
+ echo '<h2 class="nav-tab-wrapper">';
109
+ foreach ( $plugin_settings_tabs as $tab_key => $tab_caption ) {
110
+ echo '<a id="'. $tab_key .'-tab" class="nav-tab" href="?page=seopress-xml-sitemap#tab=' . $tab_key . '">' . $tab_caption . '</a>';
111
+ }
112
+ echo '</h2>';
113
+ ?>
114
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_xml_sitemap_general') { echo 'active'; } ?>" id="tab_seopress_xml_sitemap_general"><?php do_settings_sections( 'seopress-settings-admin-xml-sitemap-general' ); ?></div>
115
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_xml_sitemap_post_types') { echo 'active'; } ?>" id="tab_seopress_xml_sitemap_post_types"><?php do_settings_sections( 'seopress-settings-admin-xml-sitemap-post-types' ); ?></div>
116
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_xml_sitemap_taxonomies') { echo 'active'; } ?>" id="tab_seopress_xml_sitemap_taxonomies"><?php do_settings_sections( 'seopress-settings-admin-xml-sitemap-taxonomies' ); ?></div>
117
+ </div>
118
+
119
+ <?php submit_button(); ?>
120
+ </form>
121
+ <?php
122
+ }
123
+
124
+ function seopress_social_page(){
125
+ $this->options = get_option( 'seopress_social_option_name' );
126
+ ?>
127
+ <form method="post" action="options.php" class="seopress-option">
128
+ <?php
129
+ global $wp_version, $title;
130
+ $current_tab = '';
131
+ $tag = version_compare( $wp_version, '4.4' ) >= 0 ? 'h1' : 'h2';
132
+ echo '<'.$tag.'>'.$title.'</'.$tag.'>';
133
+ settings_fields( 'seopress_social_option_group' );
134
+ ?>
135
+
136
+ <div id="seopress-tabs" class="wrap">
137
+ <?php
138
+
139
+ $plugin_settings_tabs = array(
140
+ 'tab_seopress_social_knowledge' => __( "Knowledge Graph", "seopress" ),
141
+ 'tab_seopress_social_accounts' => __( "Your social accounts", "seopress" ),
142
+ 'tab_seopress_social_facebook' => __( "Facebook", "seopress" ),
143
+ 'tab_seopress_social_twitter' => __( "Twitter", "seopress" ),
144
+ );
145
+
146
+ echo '<h2 class="nav-tab-wrapper">';
147
+ foreach ( $plugin_settings_tabs as $tab_key => $tab_caption ) {
148
+ echo '<a id="'. $tab_key .'-tab" class="nav-tab" href="?page=seopress-social#tab=' . $tab_key . '">' . $tab_caption . '</a>';
149
+ }
150
+ echo '</h2>';
151
+ ?>
152
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_social_knowledge') { echo 'active'; } ?>" id="tab_seopress_social_knowledge"><?php do_settings_sections( 'seopress-settings-admin-social-knowledge' ); ?></div>
153
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_social_accounts') { echo 'active'; } ?>" id="tab_seopress_social_accounts"><?php do_settings_sections( 'seopress-settings-admin-social-accounts' ); ?></div>
154
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_social_facebook') { echo 'active'; } ?>" id="tab_seopress_social_facebook"><?php do_settings_sections( 'seopress-settings-admin-social-facebook' ); ?></div>
155
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_social_twitter') { echo 'active'; } ?>" id="tab_seopress_social_twitter"><?php do_settings_sections( 'seopress-settings-admin-social-twitter' ); ?></div>
156
+ </div>
157
+
158
+ <?php submit_button(); ?>
159
+ </form>
160
+ <?php
161
+ }
162
+
163
+ function seopress_import_export_page(){
164
+ $this->options = get_option( 'seopress_import_export_option_name' );
165
+ ?>
166
+ <?php global $wp_version, $title;
167
+ $tag = version_compare( $wp_version, '4.4' ) >= 0 ? 'h1' : 'h2';
168
+ echo '<'.$tag.'>'.$title.'</'.$tag.'>';
169
+ ?>
170
+ <h3><span><?php _e( 'Import / Export Settings', 'seopress' ); ?></span></h3>
171
+ <?php print __('Import / Export SEOPress settings from site to site', 'seopress'); ?>
172
+ <div class="metabox-holder">
173
+ <div class="postbox">
174
+ <h3><span><?php _e( 'Export Settings', 'seopress' ); ?></span></h3>
175
+ <div class="inside">
176
+ <p><?php _e( 'Export the plugin settings for this site as a .json file. This allows you to easily import the configuration into another site.', 'seopress' ); ?></p>
177
+ <form method="post">
178
+ <p><input type="hidden" name="seopress_action" value="export_settings" /></p>
179
+ <p>
180
+ <?php wp_nonce_field( 'seopress_export_nonce', 'seopress_export_nonce' ); ?>
181
+ <?php submit_button( __( 'Export', 'seopress' ), 'secondary', 'submit', false ); ?>
182
+ </p>
183
+ </form>
184
+ </div><!-- .inside -->
185
+ </div><!-- .postbox -->
186
+
187
+ <div class="postbox">
188
+ <h3><span><?php _e( 'Import Settings', 'seopress' ); ?></span></h3>
189
+ <div class="inside">
190
+ <p><?php _e( 'Import the plugin settings from a .json file. This file can be obtained by exporting the settings on another site using the form above.', 'seopress' ); ?></p>
191
+ <form method="post" enctype="multipart/form-data">
192
+ <p>
193
+ <input type="file" name="import_file"/>
194
+ </p>
195
+ <p>
196
+ <input type="hidden" name="seopress_action" value="import_settings" />
197
+ <?php wp_nonce_field( 'seopress_import_nonce', 'seopress_import_nonce' ); ?>
198
+ <?php submit_button( __( 'Import', 'seopress' ), 'secondary', 'submit', false ); ?>
199
+ </p>
200
+ </form>
201
+ </div><!-- .inside -->
202
+ </div><!-- .postbox -->
203
+
204
+ <div class="postbox">
205
+ <h3><span><?php _e( 'Reset All Settings', 'seopress' ); ?></span></h3>
206
+ <div class="inside">
207
+ <p style="color:red"><?php _e( '<strong>WARNING:</strong> Delete all options related to SEOPress in your database.', 'seopress' ); ?></p>
208
+ <form method="post" enctype="multipart/form-data">
209
+ <p>
210
+ <input type="hidden" name="seopress_action" value="reset_settings" />
211
+ <?php wp_nonce_field( 'seopress_reset_nonce', 'seopress_reset_nonce' ); ?>
212
+ <?php submit_button( __( 'Reset settings', 'seopress' ), 'secondary', 'submit', false ); ?>
213
+ </p>
214
+ </form>
215
+ </div><!-- .inside -->
216
+ </div><!-- .postbox -->
217
+ </div><!-- .metabox-holder -->
218
+ <?php
219
+ }
220
+
221
+ /**
222
+ * Options page callback
223
+ */
224
+ public function create_admin_page()
225
+ {
226
+
227
+ // Set class property
228
+ $this->options = get_option( 'seopress_option_name' );
229
+ ?>
230
+ <div id="seopress-header">
231
+ <div id="seopress-admin">
232
+ <h1>
233
+ <span class="screen-reader-text"><?php _e( 'SEOPress', 'seopress' ); ?></span>
234
+ <?php if ( is_plugin_active( 'seopress-pro/seopress-pro.php' ) ) { ?>
235
+ <span class="seopress-info-version">
236
+ <strong>
237
+ <?php _e('PRO', 'seopress'); ?>
238
+ <?php echo SEOPRESSPRO_VERSION; ?>
239
+ </strong>
240
+ </span>
241
+ <?php } else { ?>
242
+ <span class="seopress-info-version"><?php echo SEOPRESS_VERSION; ?></span>
243
+ <?php } ?>
244
+ </h1>
245
+ <div id="seopress-notice">
246
+ <a href="http://wp-alacarte.com/" target="_blank"><img class="wpalacarte-banner" width="300" height="250" src="<?php echo plugins_url('assets/img/wpalacarte-300x250-EN@2x.png', dirname(dirname(__FILE__))); ?>" /></a>
247
+ <h2><?php _e( 'The ultimate plugin to optimize your SEO!', 'seopress' ); ?></h2>
248
+ <p class="small">
249
+ <span class="dashicons dashicons-wordpress"></span>
250
+ <?php _e( 'You like SEOPress? Don\'t forget to rate it 5 stars!', 'seopress' ); ?>
251
+
252
+ <div class="wporg-ratings rating-stars">
253
+ <a href="//wordpress.org/support/view/plugin-reviews/seopress?rate=1#postform" data-rating="1" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#e6b800 !important;"></span></a>
254
+ <a href="//wordpress.org/support/view/plugin-reviews/seopress?rate=2#postform" data-rating="2" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#e6b800 !important;"></span></a>
255
+ <a href="//wordpress.org/support/view/plugin-reviews/seopress?rate=3#postform" data-rating="3" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#e6b800 !important;"></span></a>
256
+ <a href="//wordpress.org/support/view/plugin-reviews/seopress?rate=4#postform" data-rating="4" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#e6b800 !important;"></span></a>
257
+ <a href="//wordpress.org/support/view/plugin-reviews/seopress?rate=5#postform" data-rating="5" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#e6b800 !important;"></span></a>
258
+ </div>
259
+ <script>
260
+ jQuery(document).ready( function($) {
261
+ $('.rating-stars').find('a').hover(
262
+ function() {
263
+ $(this).nextAll('a').children('span').removeClass('dashicons-star-filled').addClass('dashicons-star-empty');
264
+ $(this).prevAll('a').children('span').removeClass('dashicons-star-empty').addClass('dashicons-star-filled');
265
+ $(this).children('span').removeClass('dashicons-star-empty').addClass('dashicons-star-filled');
266
+ }, function() {
267
+ var rating = $('input#rating').val();
268
+ if (rating) {
269
+ var list = $('.rating-stars a');
270
+ list.children('span').removeClass('dashicons-star-filled').addClass('dashicons-star-empty');
271
+ list.slice(0, rating).children('span').removeClass('dashicons-star-empty').addClass('dashicons-star-filled');
272
+ }
273
+ }
274
+ );
275
+ });
276
+ </script>
277
+ </p>
278
+ <p class="small">
279
+ <a href="http://twitter.com/wpcloudy" target="_blank"><div class="dashicons dashicons-twitter"></div><?php _e( 'Follow us on Twitter!', 'seopress' ); ?></a>
280
+ &nbsp;
281
+ <a href="http://www.seopress.org/" target="_blank"><div class="dashicons dashicons-info"></div><?php _e( 'Our website', 'seopress' ); ?></a>
282
+ &nbsp;
283
+ <a href="http://www.seopress.org/support" target="_blank"><div class="dashicons dashicons-sos"></div><?php _e( 'Knowledge base', 'seopress' ); ?></a>
284
+ </p>
285
+ </div>
286
+ <table class="seopress-page-list" cellspacing="16">
287
+ <tbody>
288
+ <tr>
289
+ <td>
290
+ <div class="img-tool">
291
+ <span class="dashicons dashicons-editor-table"></span>
292
+ </div>
293
+ <span class="inner">
294
+ <h4><?php _e('Titles & metas','seopress'); ?></h4>
295
+ <p><?php _e('Manage all your titles & metas','seopress'); ?></p>
296
+ <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-titles' ); ?>"><?php _e('Manage','seopress'); ?></a>
297
+ </span>
298
+ </td>
299
+ <td>
300
+ <div class="img-tool">
301
+ <span class="dashicons dashicons-media-spreadsheet"></span>
302
+ </div>
303
+ <span class="inner">
304
+ <h4><?php _e('XML Sitemap','seopress'); ?></h4>
305
+ <p><?php _e('Manage your XML Sitemap','seopress'); ?></p>
306
+ <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-xml-sitemap' ); ?>"><?php _e('Manage','seopress'); ?></a>
307
+ </span>
308
+ </td>
309
+ <td>
310
+ <div class="img-tool">
311
+ <span class="dashicons dashicons-share"></span>
312
+ </div>
313
+ <span class="inner">
314
+ <h4><?php _e('Social','seopress'); ?></h4>
315
+ <p><?php _e('Open Graph, Twitter Card, Google Knowledge Graph and more...','seopress'); ?></p>
316
+ <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-social' ); ?>"><?php _e('Manage','seopress'); ?></a>
317
+ </span>
318
+ </td>
319
+ <td>
320
+ <div class="img-tool">
321
+ <span class="dashicons dashicons-admin-settings"></span>
322
+ </div>
323
+ <span class="inner">
324
+ <h4><?php _e('Import / Export / Reset','seopress'); ?></h4>
325
+ <p><?php _e('Import / export SEOPress settings from site to site.','seopress'); ?></p>
326
+ <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-import-export' ); ?>"><?php _e('Manage','seopress'); ?></a>
327
+ </span>
328
+ </td>
329
+ </tr>
330
+ </tbody>
331
+ </table>
332
+ </div>
333
+ </div>
334
+ <?php
335
+ }
336
+
337
+ /**
338
+ * Register and add settings
339
+ */
340
+ public function page_init()
341
+ {
342
+ register_setting(
343
+ 'seopress_option_group', // Option group
344
+ 'seopress_option_name', // Option name
345
+ array( $this, 'sanitize' ) // Sanitize
346
+ );
347
+
348
+ register_setting(
349
+ 'seopress_titles_option_group', // Option group
350
+ 'seopress_titles_option_name', // Option name
351
+ array( $this, 'sanitize' ) // Sanitize
352
+ );
353
+
354
+ register_setting(
355
+ 'seopress_xml_sitemap_option_group', // Option group
356
+ 'seopress_xml_sitemap_option_name', // Option name
357
+ array( $this, 'sanitize' ) // Sanitize
358
+ );
359
+
360
+ register_setting(
361
+ 'seopress_social_option_group', // Option group
362
+ 'seopress_social_option_name', // Option name
363
+ array( $this, 'sanitize' ) // Sanitize
364
+ );
365
+
366
+ register_setting(
367
+ 'seopress_import_export_option_group', // Option group
368
+ 'seopress_import_export_option_name', // Option name
369
+ array( $this, 'sanitize' ) // Sanitize
370
+ );
371
+
372
+ //Titles & metas SECTION===================================================================
373
+ add_settings_section(
374
+ 'seopress_setting_section_titles_home', // ID
375
+ '',
376
+ //__("Home","seopress"), // Title
377
+ array( $this, 'print_section_info_titles' ), // Callback
378
+ 'seopress-settings-admin-titles-home' // Page
379
+ );
380
+
381
+ add_settings_field(
382
+ 'seopress_titles_home_site_title', // ID
383
+ __("Site title","seopress"), // Title
384
+ array( $this, 'seopress_titles_home_site_title_callback' ), // Callback
385
+ 'seopress-settings-admin-titles-home', // Page
386
+ 'seopress_setting_section_titles_home' // Section
387
+ );
388
+
389
+ add_settings_field(
390
+ 'seopress_titles_home_site_desc', // ID
391
+ __("Meta description","seopress"), // Title
392
+ array( $this, 'seopress_titles_home_site_desc_callback' ), // Callback
393
+ 'seopress-settings-admin-titles-home', // Page
394
+ 'seopress_setting_section_titles_home' // Section
395
+ );
396
+
397
+ //Single Post Types SECTION================================================================
398
+ add_settings_section(
399
+ 'seopress_setting_section_titles_single', // ID
400
+ '',
401
+ //__("Single Post Types","seopress"), // Title
402
+ array( $this, 'print_section_info_single' ), // Callback
403
+ 'seopress-settings-admin-titles-single' // Page
404
+ );
405
+
406
+ add_settings_field(
407
+ 'seopress_titles_single_titles', // ID
408
+ '',
409
+ array( $this, 'seopress_titles_single_titles_callback' ), // Callback
410
+ 'seopress-settings-admin-titles-single', // Page
411
+ 'seopress_setting_section_titles_single' // Section
412
+ );
413
+
414
+ //Taxonomies SECTION=======================================================================
415
+ add_settings_section(
416
+ 'seopress_setting_section_titles_tax', // ID
417
+ '',
418
+ //__("Taxonomies","seopress"), // Title
419
+ array( $this, 'print_section_info_tax' ), // Callback
420
+ 'seopress-settings-admin-titles-tax' // Page
421
+ );
422
+
423
+ add_settings_field(
424
+ 'seopress_titles_tax_titles', // ID
425
+ '',
426
+ array( $this, 'seopress_titles_tax_titles_callback' ), // Callback
427
+ 'seopress-settings-admin-titles-tax', // Page
428
+ 'seopress_setting_section_titles_tax' // Section
429
+ );
430
+
431
+ //Archives SECTION=========================================================================
432
+ add_settings_section(
433
+ 'seopress_setting_section_titles_archives', // ID
434
+ '',
435
+ //__("Archives","seopress"), // Title
436
+ array( $this, 'print_section_info_archives' ), // Callback
437
+ 'seopress-settings-admin-titles-archives' // Page
438
+ );
439
+
440
+ add_settings_field(
441
+ 'seopress_titles_archives_author_title', // ID
442
+ '',
443
+ //__('Title template','seopress'),
444
+ array( $this, 'seopress_titles_archives_author_title_callback' ), // Callback
445
+ 'seopress-settings-admin-titles-archives', // Page
446
+ 'seopress_setting_section_titles_archives' // Section
447
+ );
448
+
449
+ add_settings_field(
450
+ 'seopress_titles_archives_author_desc', // ID
451
+ '',
452
+ //__('Meta description template','seopress'),
453
+ array( $this, 'seopress_titles_archives_author_desc_callback' ), // Callback
454
+ 'seopress-settings-admin-titles-archives', // Page
455
+ 'seopress_setting_section_titles_archives' // Section
456
+ );
457
+
458
+ add_settings_field(
459
+ 'seopress_titles_archives_date_title', // ID
460
+ '',
461
+ //__('Title template','seopress'),
462
+ array( $this, 'seopress_titles_archives_date_title_callback' ), // Callback
463
+ 'seopress-settings-admin-titles-archives', // Page
464
+ 'seopress_setting_section_titles_archives' // Section
465
+ );
466
+
467
+ add_settings_field(
468
+ 'seopress_titles_archives_date_desc', // ID
469
+ '',
470
+ //__('Meta description template','seopress'),
471
+ array( $this, 'seopress_titles_archives_date_desc_callback' ), // Callback
472
+ 'seopress-settings-admin-titles-archives', // Page
473
+ 'seopress_setting_section_titles_archives' // Section
474
+ );
475
+
476
+ add_settings_field(
477
+ 'seopress_titles_archives_search_title', // ID
478
+ '',
479
+ //__('Title template','seopress'),
480
+ array( $this, 'seopress_titles_archives_search_title_callback' ), // Callback
481
+ 'seopress-settings-admin-titles-archives', // Page
482
+ 'seopress_setting_section_titles_archives' // Section
483
+ );
484
+
485
+ add_settings_field(
486
+ 'seopress_titles_archives_search_desc', // ID
487
+ '',
488
+ //__('Meta description template','seopress'),
489
+ array( $this, 'seopress_titles_archives_search_desc_callback' ), // Callback
490
+ 'seopress-settings-admin-titles-archives', // Page
491
+ 'seopress_setting_section_titles_archives' // Section
492
+ );
493
+
494
+ add_settings_field(
495
+ 'seopress_titles_archives_404_title', // ID
496
+ '',
497
+ //__('Title template','seopress'),
498
+ array( $this, 'seopress_titles_archives_404_title_callback' ), // Callback
499
+ 'seopress-settings-admin-titles-archives', // Page
500
+ 'seopress_setting_section_titles_archives' // Section
501
+ );
502
+
503
+ add_settings_field(
504
+ 'seopress_titles_archives_404_desc', // ID
505
+ '',
506
+ //__('Meta description template','seopress'),
507
+ array( $this, 'seopress_titles_archives_404_desc_callback' ), // Callback
508
+ 'seopress-settings-admin-titles-archives', // Page
509
+ 'seopress_setting_section_titles_archives' // Section
510
+ );
511
+
512
+ add_settings_field(
513
+ 'seopress_titles_archives_paged_title', // ID
514
+ '',
515
+ //__('Title template','seopress'),
516
+ array( $this, 'seopress_titles_archives_paged_title_callback' ), // Callback
517
+ 'seopress-settings-admin-titles-archives', // Page
518
+ 'seopress_setting_section_titles_archives' // Section
519
+ );
520
+
521
+ add_settings_field(
522
+ 'seopress_titles_archives_paged_desc', // ID
523
+ '',
524
+ //__('Meta description template','seopress'),
525
+ array( $this, 'seopress_titles_archives_paged_desc_callback' ), // Callback
526
+ 'seopress-settings-admin-titles-archives', // Page
527
+ 'seopress_setting_section_titles_archives' // Section
528
+ );
529
+
530
+ //Advanced SECTION=========================================================================
531
+ add_settings_section(
532
+ 'seopress_setting_section_titles_advanced', // ID
533
+ '',
534
+ //__("Advanced","seopress"), // Title
535
+ array( $this, 'print_section_info_advanced' ), // Callback
536
+ 'seopress-settings-admin-titles-advanced' // Page
537
+ );
538
+
539
+ add_settings_field(
540
+ 'seopress_titles_noindex', // ID
541
+ __("noindex","seopress"), // Title
542
+ array( $this, 'seopress_titles_noindex_callback' ), // Callback
543
+ 'seopress-settings-admin-titles-advanced', // Page
544
+ 'seopress_setting_section_titles_advanced' // Section
545
+ );
546
+
547
+ add_settings_field(
548
+ 'seopress_titles_nofollow', // ID
549
+ __("nofollow","seopress"), // Title
550
+ array( $this, 'seopress_titles_nofollow_callback' ), // Callback
551
+ 'seopress-settings-admin-titles-advanced', // Page
552
+ 'seopress_setting_section_titles_advanced' // Section
553
+ );
554
+
555
+ add_settings_field(
556
+ 'seopress_titles_noodp', // ID
557
+ __("noodp","seopress"), // Title
558
+ array( $this, 'seopress_titles_noodp_callback' ), // Callback
559
+ 'seopress-settings-admin-titles-advanced', // Page
560
+ 'seopress_setting_section_titles_advanced' // Section
561
+ );
562
+
563
+ add_settings_field(
564
+ 'seopress_titles_noimageindex', // ID
565
+ __("noimageindex","seopress"), // Title
566
+ array( $this, 'seopress_titles_noimageindex_callback' ), // Callback
567
+ 'seopress-settings-admin-titles-advanced', // Page
568
+ 'seopress_setting_section_titles_advanced' // Section
569
+ );
570
+
571
+ add_settings_field(
572
+ 'seopress_titles_noarchive', // ID
573
+ __("noarchive","seopress"), // Title
574
+ array( $this, 'seopress_titles_noarchive_callback' ), // Callback
575
+ 'seopress-settings-admin-titles-advanced', // Page
576
+ 'seopress_setting_section_titles_advanced' // Section
577
+ );
578
+
579
+ add_settings_field(
580
+ 'seopress_titles_nosnippet', // ID
581
+ __("nosnippet","seopress"), // Title
582
+ array( $this, 'seopress_titles_nosnippet_callback' ), // Callback
583
+ 'seopress-settings-admin-titles-advanced', // Page
584
+ 'seopress_setting_section_titles_advanced' // Section
585
+ );
586
+
587
+ //XML Sitemap SECTION======================================================================
588
+ add_settings_section(
589
+ 'seopress_setting_section_xml_sitemap_general', // ID
590
+ '',
591
+ //__("General","seopress"), // Title
592
+ array( $this, 'print_section_info_xml_sitemap_general' ), // Callback
593
+ 'seopress-settings-admin-xml-sitemap-general' // Page
594
+ );
595
+
596
+ add_settings_field(
597
+ 'seopress_xml_sitemap_general_enable', // ID
598
+ __("Enable XML Sitemap","seopress"), // Title
599
+ array( $this, 'seopress_xml_sitemap_general_enable_callback' ), // Callback
600
+ 'seopress-settings-admin-xml-sitemap-general', // Page
601
+ 'seopress_setting_section_xml_sitemap_general' // Section
602
+ );
603
+
604
+ add_settings_section(
605
+ 'seopress_setting_section_xml_sitemap_post_types', // ID
606
+ '',
607
+ //__("Post Types","seopress"), // Title
608
+ array( $this, 'print_section_info_xml_sitemap_post_types' ), // Callback
609
+ 'seopress-settings-admin-xml-sitemap-post-types' // Page
610
+ );
611
+
612
+ add_settings_field(
613
+ 'seopress_xml_sitemap_post_types_list', // ID
614
+ __("Check to INCLUDE Post Types","seopress"), // Title
615
+ array( $this, 'seopress_xml_sitemap_post_types_list_callback' ), // Callback
616
+ 'seopress-settings-admin-xml-sitemap-post-types', // Page
617
+ 'seopress_setting_section_xml_sitemap_post_types' // Section
618
+ );
619
+
620
+ add_settings_section(
621
+ 'seopress_setting_section_xml_sitemap_taxonomies', // ID
622
+ '',
623
+ //__("Taxonomies","seopress"), // Title
624
+ array( $this, 'print_section_info_xml_sitemap_taxonomies' ), // Callback
625
+ 'seopress-settings-admin-xml-sitemap-taxonomies' // Page
626
+ );
627
+
628
+ add_settings_field(
629
+ 'seopress_xml_sitemap_taxonomies_list', // ID
630
+ __("Check to INCLUDE Taxonomies","seopress"), // Title
631
+ array( $this, 'seopress_xml_sitemap_taxonomies_list_callback' ), // Callback
632
+ 'seopress-settings-admin-xml-sitemap-taxonomies', // Page
633
+ 'seopress_setting_section_xml_sitemap_taxonomies' // Section
634
+ );
635
+
636
+ //Knowledge graph SECTION======================================================================
637
+ add_settings_section(
638
+ 'seopress_setting_section_social_knowledge', // ID
639
+ '',
640
+ //__("Knowledge graph","seopress"), // Title
641
+ array( $this, 'print_section_info_social_knowledge' ), // Callback
642
+ 'seopress-settings-admin-social-knowledge' // Page
643
+ );
644
+
645
+ add_settings_field(
646
+ 'seopress_social_knowledge_type', // ID
647
+ __("Person or organization","seopress"), // Title
648
+ array( $this, 'seopress_social_knowledge_type_callback' ), // Callback
649
+ 'seopress-settings-admin-social-knowledge', // Page
650
+ 'seopress_setting_section_social_knowledge' // Section
651
+ );
652
+
653
+ add_settings_field(
654
+ 'seopress_social_knowledge_name', // ID
655
+ __("Your name/organization","seopress"), // Title
656
+ array( $this, 'seopress_social_knowledge_name_callback' ), // Callback
657
+ 'seopress-settings-admin-social-knowledge', // Page
658
+ 'seopress_setting_section_social_knowledge' // Section
659
+ );
660
+
661
+ add_settings_field(
662
+ 'seopress_social_knowledge_img', // ID
663
+ __("Your photo / organization logo","seopress"), // Title
664
+ array( $this, 'seopress_social_knowledge_img_callback' ), // Callback
665
+ 'seopress-settings-admin-social-knowledge', // Page
666
+ 'seopress_setting_section_social_knowledge' // Section
667
+ );
668
+
669
+ //Social SECTION=====================================================================================
670
+ add_settings_section(
671
+ 'seopress_setting_section_social_accounts', // ID
672
+ '',
673
+ //__("Social","seopress"), // Title
674
+ array( $this, 'print_section_info_social_accounts' ), // Callback
675
+ 'seopress-settings-admin-social-accounts' // Page
676
+ );
677
+
678
+ add_settings_field(
679
+ 'seopress_social_accounts_facebook', // ID
680
+ __("Facebook Page URL","seopress"), // Title
681
+ array( $this, 'seopress_social_accounts_facebook_callback' ), // Callback
682
+ 'seopress-settings-admin-social-accounts', // Page
683
+ 'seopress_setting_section_social_accounts' // Section
684
+ );
685
+
686
+ add_settings_field(
687
+ 'seopress_social_accounts_twitter', // ID
688
+ __("Twitter Username","seopress"), // Title
689
+ array( $this, 'seopress_social_accounts_twitter_callback' ), // Callback
690
+ 'seopress-settings-admin-social-accounts', // Page
691
+ 'seopress_setting_section_social_accounts' // Section
692
+ );
693
+
694
+ add_settings_field(
695
+ 'seopress_social_accounts_google', // ID
696
+ __("Google + URL","seopress"), // Title
697
+ array( $this, 'seopress_social_accounts_google_callback' ), // Callback
698
+ 'seopress-settings-admin-social-accounts', // Page
699
+ 'seopress_setting_section_social_accounts' // Section
700
+ );
701
+
702
+ add_settings_field(
703
+ 'seopress_social_accounts_pinterest', // ID
704
+ __("Pinterest URL","seopress"), // Title
705
+ array( $this, 'seopress_social_accounts_pinterest_callback' ), // Callback
706
+ 'seopress-settings-admin-social-accounts', // Page
707
+ 'seopress_setting_section_social_accounts' // Section
708
+ );
709
+
710
+ add_settings_field(
711
+ 'seopress_social_accounts_instagram', // ID
712
+ __("Instagram URL","seopress"), // Title
713
+ array( $this, 'seopress_social_accounts_instagram_callback' ), // Callback
714
+ 'seopress-settings-admin-social-accounts', // Page
715
+ 'seopress_setting_section_social_accounts' // Section
716
+ );
717
+
718
+ add_settings_field(
719
+ 'seopress_social_accounts_youtube', // ID
720
+ __("YouTube URL","seopress"), // Title
721
+ array( $this, 'seopress_social_accounts_youtube_callback' ), // Callback
722
+ 'seopress-settings-admin-social-accounts', // Page
723
+ 'seopress_setting_section_social_accounts' // Section
724
+ );
725
+
726
+ add_settings_field(
727
+ 'seopress_social_accounts_linkedin', // ID
728
+ __("LinkedIn URL","seopress"), // Title
729
+ array( $this, 'seopress_social_accounts_linkedin_callback' ), // Callback
730
+ 'seopress-settings-admin-social-accounts', // Page
731
+ 'seopress_setting_section_social_accounts' // Section
732
+ );
733
+
734
+ add_settings_field(
735
+ 'seopress_social_accounts_myspace', // ID
736
+ __("MySpace URL","seopress"), // Title
737
+ array( $this, 'seopress_social_accounts_myspace_callback' ), // Callback
738
+ 'seopress-settings-admin-social-accounts', // Page
739
+ 'seopress_setting_section_social_accounts' // Section
740
+ );
741
+
742
+ add_settings_field(
743
+ 'seopress_social_accounts_soundcloud', // ID
744
+ __("Soundcloud URL","seopress"), // Title
745
+ array( $this, 'seopress_social_accounts_soundcloud_callback' ), // Callback
746
+ 'seopress-settings-admin-social-accounts', // Page
747
+ 'seopress_setting_section_social_accounts' // Section
748
+ );
749
+
750
+ add_settings_field(
751
+ 'seopress_social_accounts_tumblr', // ID
752
+ __("Tumblr URL","seopress"), // Title
753
+ array( $this, 'seopress_social_accounts_tumblr_callback' ), // Callback
754
+ 'seopress-settings-admin-social-accounts', // Page
755
+ 'seopress_setting_section_social_accounts' // Section
756
+ );
757
+
758
+ //Facebook SECTION=========================================================================
759
+ add_settings_section(
760
+ 'seopress_setting_section_social_facebook', // ID
761
+ '',
762
+ //__("Facebook","seopress"), // Title
763
+ array( $this, 'print_section_info_social_facebook' ), // Callback
764
+ 'seopress-settings-admin-social-facebook' // Page
765
+ );
766
+
767
+ add_settings_field(
768
+ 'seopress_social_facebook_og', // ID
769
+ __("Enable Open Graph Data","seopress"), // Title
770
+ array( $this, 'seopress_social_facebook_og_callback' ), // Callback
771
+ 'seopress-settings-admin-social-facebook', // Page
772
+ 'seopress_setting_section_social_facebook' // Section
773
+ );
774
+
775
+ add_settings_field(
776
+ 'seopress_social_facebook_img', // ID
777
+ __("Select a default image","seopress"), // Title
778
+ array( $this, 'seopress_social_facebook_img_callback' ), // Callback
779
+ 'seopress-settings-admin-social-facebook', // Page
780
+ 'seopress_setting_section_social_facebook' // Section
781
+ );
782
+
783
+ add_settings_field(
784
+ 'seopress_social_facebook_admin_id', // ID
785
+ __("Facebook Admin ID","seopress"), // Title
786
+ array( $this, 'seopress_social_facebook_admin_id_callback' ), // Callback
787
+ 'seopress-settings-admin-social-facebook', // Page
788
+ 'seopress_setting_section_social_facebook' // Section
789
+ );
790
+
791
+ add_settings_field(
792
+ 'seopress_social_facebook_app_id', // ID
793
+ __("Facebook App ID","seopress"), // Title
794
+ array( $this, 'seopress_social_facebook_app_id_callback' ), // Callback
795
+ 'seopress-settings-admin-social-facebook', // Page
796
+ 'seopress_setting_section_social_facebook' // Section
797
+ );
798
+
799
+ //Twitter SECTION==========================================================================
800
+ add_settings_section(
801
+ 'seopress_setting_section_social_twitter', // ID
802
+ '',
803
+ //__("Twitter","seopress"), // Title
804
+ array( $this, 'print_section_info_social_twitter' ), // Callback
805
+ 'seopress-settings-admin-social-twitter' // Page
806
+ );
807
+
808
+ add_settings_field(
809
+ 'seopress_social_twitter_card', // ID
810
+ __("Enable Twitter Card","seopress"), // Title
811
+ array( $this, 'seopress_social_twitter_card_callback' ), // Callback
812
+ 'seopress-settings-admin-social-twitter', // Page
813
+ 'seopress_setting_section_social_twitter' // Section
814
+ );
815
+
816
+ add_settings_field(
817
+ 'seopress_social_twitter_card_img', // ID
818
+ __("Default Twitter Image","seopress"), // Title
819
+ array( $this, 'seopress_social_twitter_card_img_callback' ), // Callback
820
+ 'seopress-settings-admin-social-twitter', // Page
821
+ 'seopress_setting_section_social_twitter' // Section
822
+ );
823
+
824
+ add_settings_field(
825
+ 'seopress_social_twitter_card_img_size', // ID
826
+ __("Image size for Twitter Summary card","seopress"), // Title
827
+ array( $this, 'seopress_social_twitter_card_img_size_callback' ), // Callback
828
+ 'seopress-settings-admin-social-twitter', // Page
829
+ 'seopress_setting_section_social_twitter' // Section
830
+ );
831
+ }
832
+
833
+ /**
834
+ * Sanitize each setting field as needed
835
+ *
836
+ * @param array $input Contains all settings fields as array keys
837
+ */
838
+ public function sanitize( $input )
839
+ {
840
+ if( !empty( $input['seopress_titles_home_site_title'] ) )
841
+ $input['seopress_titles_home_site_title'] = sanitize_text_field( $input['seopress_titles_home_site_title'] );
842
+
843
+ if( !empty( $input['seopress_titles_home_site_desc'] ) )
844
+ $input['seopress_titles_home_site_desc'] = sanitize_text_field( $input['seopress_titles_home_site_desc'] );
845
+
846
+ if( !empty( $input['seopress_titles_archives_author_title'] ) )
847
+ $input['seopress_titles_archives_author_title'] = sanitize_text_field( $input['seopress_titles_archives_author_title'] );
848
+
849
+ if( !empty( $input['seopress_titles_archives_author_desc'] ) )
850
+ $input['seopress_titles_archives_author_desc'] = sanitize_text_field( $input['seopress_titles_archives_author_desc'] );
851
+
852
+ if( !empty( $input['seopress_titles_archives_date_title'] ) )
853
+ $input['seopress_titles_archives_date_title'] = sanitize_text_field( $input['seopress_titles_archives_date_title'] );
854
+
855
+ if( !empty( $input['seopress_titles_archives_date_desc'] ) )
856
+ $input['seopress_titles_archives_date_desc'] = sanitize_text_field( $input['seopress_titles_archives_date_desc'] );
857
+
858
+ if( !empty( $input['seopress_titles_archives_search_title'] ) )
859
+ $input['seopress_titles_archives_search_title'] = sanitize_text_field( $input['seopress_titles_archives_search_title'] );
860
+
861
+ if( !empty( $input['seopress_titles_archives_search_desc'] ) )
862
+ $input['seopress_titles_archives_search_desc'] = sanitize_text_field( $input['seopress_titles_archives_search_desc'] );
863
+
864
+ if( !empty( $input['seopress_titles_archives_404_title'] ) )
865
+ $input['seopress_titles_archives_404_title'] = sanitize_text_field( $input['seopress_titles_archives_404_title'] );
866
+
867
+ if( !empty( $input['seopress_titles_archives_404_desc'] ) )
868
+ $input['seopress_titles_archives_404_desc'] = sanitize_text_field( $input['seopress_titles_archives_404_desc'] );
869
+
870
+ if( !empty( $input['seopress_titles_archives_paged_title'] ) )
871
+ $input['seopress_titles_archives_paged_title'] = sanitize_text_field( $input['seopress_titles_archives_paged_title'] );
872
+
873
+ if( !empty( $input['seopress_titles_archives_paged_desc'] ) )
874
+ $input['seopress_titles_archives_paged_desc'] = sanitize_text_field( $input['seopress_titles_archives_paged_desc'] );
875
+
876
+ if( !empty( $input['seopress_social_knowledge_name'] ) )
877
+ $input['seopress_social_knowledge_name'] = sanitize_text_field( $input['seopress_social_knowledge_name'] );
878
+
879
+ if( !empty( $input['seopress_social_knowledge_img'] ) )
880
+ $input['seopress_social_knowledge_img'] = sanitize_text_field( $input['seopress_social_knowledge_img'] );
881
+
882
+ if( !empty( $input['seopress_social_accounts_facebook'] ) )
883
+ $input['seopress_social_accounts_facebook'] = sanitize_text_field( $input['seopress_social_accounts_facebook'] );
884
+
885
+ if( !empty( $input['seopress_social_accounts_twitter'] ) )
886
+ $input['seopress_social_accounts_twitter'] = sanitize_text_field( $input['seopress_social_accounts_twitter'] );
887
+
888
+ if( !empty( $input['seopress_social_accounts_google'] ) )
889
+ $input['seopress_social_accounts_google'] = sanitize_text_field( $input['seopress_social_accounts_google'] );
890
+
891
+ if( !empty( $input['seopress_social_accounts_pinterest'] ) )
892
+ $input['seopress_social_accounts_pinterest'] = sanitize_text_field( $input['seopress_social_accounts_pinterest'] );
893
+
894
+ if( !empty( $input['seopress_social_accounts_instagram'] ) )
895
+ $input['seopress_social_accounts_instagram'] = sanitize_text_field( $input['seopress_social_accounts_instagram'] );
896
+
897
+ if( !empty( $input['seopress_social_accounts_youtube'] ) )
898
+ $input['seopress_social_accounts_youtube'] = sanitize_text_field( $input['seopress_social_accounts_youtube'] );
899
+
900
+ if( !empty( $input['seopress_social_accounts_linkedin'] ) )
901
+ $input['seopress_social_accounts_linkedin'] = sanitize_text_field( $input['seopress_social_accounts_linkedin'] );
902
+
903
+ if( !empty( $input['seopress_social_accounts_myspace'] ) )
904
+ $input['seopress_social_accounts_myspace'] = sanitize_text_field( $input['seopress_social_accounts_myspace'] );
905
+
906
+ if( !empty( $input['seopress_social_accounts_soundcloud'] ) )
907
+ $input['seopress_social_accounts_soundcloud'] = sanitize_text_field( $input['seopress_social_accounts_soundcloud'] );
908
+
909
+ if( !empty( $input['seopress_social_accounts_tumblr'] ) )
910
+ $input['seopress_social_accounts_tumblr'] = sanitize_text_field( $input['seopress_social_accounts_tumblr'] );
911
+
912
+ if( !empty( $input['seopress_social_facebook_admin_id'] ) )
913
+ $input['seopress_social_facebook_admin_id'] = sanitize_text_field( $input['seopress_social_facebook_admin_id'] );
914
+
915
+ if( !empty( $input['seopress_social_facebook_app_id'] ) )
916
+ $input['seopress_social_facebook_app_id'] = sanitize_text_field( $input['seopress_social_facebook_app_id'] );
917
+
918
+ return $input;
919
+ }
920
+
921
+ /**
922
+ * Print the Section text
923
+ */
924
+
925
+ public function print_section_info_titles()
926
+ {
927
+ print __('<p>Customize your titles & metas for homepage</p>', 'seopress');
928
+ }
929
+
930
+ public function print_section_info_single()
931
+ {
932
+ print __('<p>Customize your titles & metas for Single Custom Post Types</p>', 'seopress');
933
+ }
934
+
935
+ public function print_section_info_advanced()
936
+ {
937
+ print __('<p>Customize your metas for all pages</p>', 'seopress');
938
+ }
939
+
940
+ public function print_section_info_tax()
941
+ {
942
+ print __('<p>Customize your metas for all taxonomies archives</p>', 'seopress');
943
+ }
944
+
945
+ public function print_section_info_archives()
946
+ {
947
+ print __('<p>Customize your metas for all archives</p>', 'seopress');
948
+ }
949
+
950
+ public function print_section_info_xml_sitemap_general()
951
+ {
952
+ print __('<p>Enable your Sitemap</p>', 'seopress');
953
+ echo __('To view your sitemap, enable permalinks (not default one), and save settings to flush them.', 'seopress');
954
+ echo '<br>';
955
+ echo '<br>';
956
+ echo '<a href="'.home_url().'/sitemaps/" target="_blank" class="button">'.__('View your sitemap','seopress').'</a>';
957
+ }
958
+
959
+ public function print_section_info_xml_sitemap_post_types()
960
+ {
961
+ print __('<p>Include / Exclude Post Types</p>', 'seopress');
962
+ }
963
+
964
+ public function print_section_info_xml_sitemap_taxonomies()
965
+ {
966
+ print __('<p>Include / Exclude Taxonomies</p>', 'seopress');
967
+ }
968
+
969
+ public function print_section_info_social_knowledge()
970
+ {
971
+ print __('<p>Configure Google Knowledge Graph</p>', 'seopress');
972
+ }
973
+
974
+ public function print_section_info_social_accounts()
975
+ {
976
+ print __('<p>Link your site with your social accounts</p>', 'seopress');
977
+ }
978
+
979
+ public function print_section_info_social_facebook()
980
+ {
981
+ print __('<p>Manage Open Graph datas</p>', 'seopress');
982
+ }
983
+
984
+ public function print_section_info_social_twitter()
985
+ {
986
+ print __('<p>Manage your Twitter card</p>', 'seopress');
987
+ }
988
+
989
+ /**
990
+ * Get the settings option array and print one of its values
991
+ */
992
+
993
+ //Titles & metas
994
+ public function seopress_titles_home_site_title_callback()
995
+ {
996
+ printf(
997
+ '<input type="text" name="seopress_titles_option_name[seopress_titles_home_site_title]" value="%s"/>',
998
+ esc_html( $this->options['seopress_titles_home_site_title'])
999
+
1000
+ );
1001
+
1002
+ }
1003
+
1004
+ public function seopress_titles_home_site_desc_callback()
1005
+ {
1006
+ printf(
1007
+ '<textarea name="seopress_titles_option_name[seopress_titles_home_site_desc]">%s</textarea>',
1008
+ esc_html( $this->options['seopress_titles_home_site_desc'])
1009
+
1010
+ );
1011
+
1012
+ }
1013
+
1014
+ //Single CPT
1015
+ public function seopress_titles_single_titles_callback()
1016
+ {
1017
+ foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
1018
+
1019
+ echo '<h2>'.$seopress_cpt_value.'</h2>';
1020
+
1021
+ //Single Title CPT
1022
+ echo '<div class="seopress_wrap_single_cpt">';
1023
+
1024
+ _e('Title template','seopress');
1025
+ echo "<br/>";
1026
+
1027
+ printf(
1028
+ '<input type="text" name="seopress_titles_option_name[seopress_titles_single_titles]['.$seopress_cpt_value.'][title]" value="%s"/>',
1029
+ esc_html( $this->options['seopress_titles_single_titles'][$seopress_cpt_value]['title'])
1030
+ );
1031
+
1032
+ echo '</div>';
1033
+
1034
+ //Single Meta Description CPT
1035
+ echo '<div class="seopress_wrap_single_cpt">';
1036
+
1037
+ _e('Meta description template','seopress');
1038
+ echo "<br/>";
1039
+
1040
+ printf(
1041
+ '<textarea name="seopress_titles_option_name[seopress_titles_single_titles]['.$seopress_cpt_value.'][description]">%s</textarea>',
1042
+ esc_html( $this->options['seopress_titles_single_titles'][$seopress_cpt_value]['description'])
1043
+ );
1044
+
1045
+ echo '</div>';
1046
+
1047
+ //Single No-Index CPT
1048
+ echo '<div class="seopress_wrap_single_cpt">';
1049
+
1050
+ $options = get_option( 'seopress_titles_option_name' );
1051
+
1052
+ $check = isset($options['seopress_titles_single_titles'][$seopress_cpt_value]['noindex']);
1053
+
1054
+ echo '<input id="seopress_titles_single_cpt_noindex['.$seopress_cpt_value.']" name="seopress_titles_option_name[seopress_titles_single_titles]['.$seopress_cpt_value.'][noindex]" type="checkbox"';
1055
+ if ('1' == $check) echo 'checked="yes"';
1056
+ echo ' value="1"/>';
1057
+
1058
+ echo '<label for="seopress_titles_single_cpt_noindex['.$seopress_cpt_value.']">'. __( 'noindex', 'seopress' ) .'</label>';
1059
+
1060
+ if (isset($this->options['seopress_titles_single_titles'][$seopress_cpt_value]['noindex'])) {
1061
+ esc_attr( $this->options['seopress_titles_single_titles'][$seopress_cpt_value]['noindex']);
1062
+ }
1063
+
1064
+ echo '</div>';
1065
+
1066
+ //Single No-Follow CPT
1067
+ echo '<div class="seopress_wrap_single_cpt">';
1068
+
1069
+ $options = get_option( 'seopress_titles_option_name' );
1070
+
1071
+ $check = isset($options['seopress_titles_single_titles'][$seopress_cpt_value]['nofollow']);
1072
+
1073
+ echo '<input id="seopress_titles_single_cpt_nofollow['.$seopress_cpt_value.']" name="seopress_titles_option_name[seopress_titles_single_titles]['.$seopress_cpt_value.'][nofollow]" type="checkbox"';
1074
+ if ('1' == $check) echo 'checked="yes"';
1075
+ echo ' value="1"/>';
1076
+
1077
+ echo '<label for="seopress_titles_single_cpt_nofollow['.$seopress_cpt_value.']">'. __( 'nofollow', 'seopress' ) .'</label>';
1078
+
1079
+ if (isset($this->options['seopress_titles_single_titles'][$seopress_cpt_value]['nofollow'])) {
1080
+ esc_attr( $this->options['seopress_titles_single_titles'][$seopress_cpt_value]['nofollow']);
1081
+ }
1082
+
1083
+ echo '</div>';
1084
+ }
1085
+ }
1086
+
1087
+ //Taxonomies
1088
+ public function seopress_titles_tax_titles_callback()
1089
+ {
1090
+ foreach (seopress_get_taxonomies() as $seopress_tax_key => $seopress_tax_value) {
1091
+
1092
+ echo '<h2>'.$seopress_tax_value.'</h2>';
1093
+
1094
+ //Tax Title
1095
+ echo '<div class="seopress_wrap_tax">';
1096
+
1097
+ _e('Title template','seopress');
1098
+ echo "<br/>";
1099
+
1100
+ printf(
1101
+ '<input type="text" name="seopress_titles_option_name[seopress_titles_tax_titles]['.$seopress_tax_value.'][title]" value="%s"/>',
1102
+ esc_html( $this->options['seopress_titles_tax_titles'][$seopress_tax_value]['title'])
1103
+ );
1104
+
1105
+ echo '</div>';
1106
+
1107
+ //Tax Meta Description
1108
+ echo '<div class="seopress_wrap_tax">';
1109
+
1110
+ _e('Meta description template','seopress');
1111
+ echo "<br/>";
1112
+
1113
+ printf(
1114
+ '<textarea name="seopress_titles_option_name[seopress_titles_tax_titles]['.$seopress_tax_value.'][description]">%s</textarea>',
1115
+ esc_html( $this->options['seopress_titles_tax_titles'][$seopress_tax_value]['description'])
1116
+ );
1117
+
1118
+ echo '</div>';
1119
+
1120
+ //Tax No-Index
1121
+ echo '<div class="seopress_wrap_tax">';
1122
+
1123
+ $options = get_option( 'seopress_titles_option_name' );
1124
+
1125
+ $check = isset($options['seopress_titles_tax_titles'][$seopress_tax_value]['noindex']);
1126
+
1127
+ echo '<input id="seopress_titles_tax_noindex['.$seopress_tax_value.']" name="seopress_titles_option_name[seopress_titles_tax_titles]['.$seopress_tax_value.'][noindex]" type="checkbox"';
1128
+ if ('1' == $check) echo 'checked="yes"';
1129
+ echo ' value="1"/>';
1130
+
1131
+ echo '<label for="seopress_titles_tax_noindex['.$seopress_tax_value.']">'. __( 'noindex', 'seopress' ) .'</label>';
1132
+
1133
+ if (isset($this->options['seopress_titles_tax_titles'][$seopress_tax_value]['noindex'])) {
1134
+ esc_attr( $this->options['seopress_titles_tax_titles'][$seopress_tax_value]['noindex']);
1135
+ }
1136
+
1137
+ echo '</div>';
1138
+
1139
+ //Tax No-Follow
1140
+ echo '<div class="seopress_wrap_tax">';
1141
+
1142
+ $options = get_option( 'seopress_titles_option_name' );
1143
+
1144
+ $check = isset($options['seopress_titles_tax_titles'][$seopress_tax_value]['nofollow']);
1145
+
1146
+ echo '<input id="seopress_titles_tax_nofollow['.$seopress_tax_value.']" name="seopress_titles_option_name[seopress_titles_tax_titles]['.$seopress_tax_value.'][nofollow]" type="checkbox"';
1147
+ if ('1' == $check) echo 'checked="yes"';
1148
+ echo ' value="1"/>';
1149
+
1150
+ echo '<label for="seopress_titles_tax_nofollow['.$seopress_tax_value.']">'. __( 'nofollow', 'seopress' ) .'</label>';
1151
+
1152
+ if (isset($this->options['seopress_titles_tax_titles'][$seopress_tax_value]['nofollow'])) {
1153
+ esc_attr( $this->options['seopress_titles_tax_titles'][$seopress_tax_value]['nofollow']);
1154
+ }
1155
+
1156
+ echo '</div>';
1157
+ }
1158
+ }
1159
+
1160
+ //Archives
1161
+ public function seopress_titles_archives_author_title_callback()
1162
+ {
1163
+ echo '<h2>'.__('Author archives','seopress').'</h2>';
1164
+
1165
+ _e('Title template','seopress');
1166
+ echo "<br/>";
1167
+
1168
+ printf(
1169
+ '<input type="text" name="seopress_titles_option_name[seopress_titles_archives_author_title]" value="%s"/>',
1170
+ esc_html( $this->options['seopress_titles_archives_author_title'])
1171
+
1172
+ );
1173
+
1174
+ }
1175
+
1176
+ public function seopress_titles_archives_author_desc_callback()
1177
+ {
1178
+ _e('Meta description template','seopress');
1179
+ echo "<br/>";
1180
+
1181
+ printf(
1182
+ '<textarea name="seopress_titles_option_name[seopress_titles_archives_author_desc]">%s</textarea>',
1183
+ esc_html( $this->options['seopress_titles_archives_author_desc'])
1184
+
1185
+ );
1186
+
1187
+ }
1188
+
1189
+ public function seopress_titles_archives_date_title_callback()
1190
+ {
1191
+ echo '<h2>'.__('Date archives','seopress').'</h2>';
1192
+
1193
+ _e('Title template','seopress');
1194
+ echo "<br/>";
1195
+
1196
+ printf(
1197
+ '<input type="text" name="seopress_titles_option_name[seopress_titles_archives_date_title]" value="%s"/>',
1198
+ esc_html( $this->options['seopress_titles_archives_date_title'])
1199
+
1200
+ );
1201
+
1202
+ }
1203
+
1204
+ public function seopress_titles_archives_date_desc_callback()
1205
+ {
1206
+ _e('Meta description template','seopress');
1207
+ echo "<br/>";
1208
+
1209
+ printf(
1210
+ '<textarea name="seopress_titles_option_name[seopress_titles_archives_date_desc]">%s</textarea>',
1211
+ esc_html( $this->options['seopress_titles_archives_date_desc'])
1212
+
1213
+ );
1214
+
1215
+ }
1216
+
1217
+ public function seopress_titles_archives_search_title_callback()
1218
+ {
1219
+ echo '<h2>'.__('Search archives','seopress').'</h2>';
1220
+
1221
+ _e('Title template','seopress');
1222
+ echo "<br/>";
1223
+
1224
+ printf(
1225
+ '<input type="text" name="seopress_titles_option_name[seopress_titles_archives_search_title]" value="%s"/>',
1226
+ esc_html( $this->options['seopress_titles_archives_search_title'])
1227
+
1228
+ );
1229
+
1230
+ }
1231
+
1232
+ public function seopress_titles_archives_search_desc_callback()
1233
+ {
1234
+ _e('Meta description template','seopress');
1235
+ echo "<br/>";
1236
+
1237
+ printf(
1238
+ '<textarea name="seopress_titles_option_name[seopress_titles_archives_search_desc]">%s</textarea>',
1239
+ esc_html( $this->options['seopress_titles_archives_search_desc'])
1240
+
1241
+ );
1242
+
1243
+ }
1244
+
1245
+ public function seopress_titles_archives_404_title_callback()
1246
+ {
1247
+ echo '<h2>'.__('404 archives','seopress').'</h2>';
1248
+
1249
+ _e('Title template','seopress');
1250
+ echo "<br/>";
1251
+
1252
+ printf(
1253
+ '<input type="text" name="seopress_titles_option_name[seopress_titles_archives_404_title]" value="%s"/>',
1254
+ esc_html( $this->options['seopress_titles_archives_404_title'])
1255
+
1256
+ );
1257
+
1258
+ }
1259
+
1260
+ public function seopress_titles_archives_404_desc_callback()
1261
+ {
1262
+ _e('Meta description template','seopress');
1263
+ echo "<br/>";
1264
+
1265
+ printf(
1266
+ '<textarea name="seopress_titles_option_name[seopress_titles_archives_404_desc]">%s</textarea>',
1267
+ esc_html( $this->options['seopress_titles_archives_404_desc'])
1268
+
1269
+ );
1270
+
1271
+ }
1272
+
1273
+ public function seopress_titles_archives_paged_title_callback()
1274
+ {
1275
+ echo '<h2>'.__('Paged archives','seopress').'</h2>';
1276
+
1277
+ _e('Title template','seopress');
1278
+ echo "<br/>";
1279
+
1280
+ printf(
1281
+ '<input type="text" name="seopress_titles_option_name[seopress_titles_archives_paged_title]" value="%s"/>',
1282
+ esc_html( $this->options['seopress_titles_archives_paged_title'])
1283
+
1284
+ );
1285
+
1286
+ }
1287
+
1288
+ public function seopress_titles_archives_paged_desc_callback()
1289
+ {
1290
+ _e('Meta description template','seopress');
1291
+ echo "<br/>";
1292
+
1293
+ printf(
1294
+ '<textarea name="seopress_titles_option_name[seopress_titles_archives_paged_desc]">%s</textarea>',
1295
+ esc_html( $this->options['seopress_titles_archives_paged_desc'])
1296
+
1297
+ );
1298
+
1299
+ }
1300
+
1301
+ //Advanced
1302
+ public function seopress_titles_noindex_callback()
1303
+ {
1304
+ $options = get_option( 'seopress_titles_option_name' );
1305
+
1306
+ $check = isset($options['seopress_titles_noindex']);
1307
+
1308
+ echo '<input id="seopress_titles_noindex" name="seopress_titles_option_name[seopress_titles_noindex]" type="checkbox"';
1309
+ if ('1' == $check) echo 'checked="yes"';
1310
+ echo ' value="1"/>';
1311
+
1312
+ echo '<label for="seopress_titles_noindex">'. __( 'noindex', 'seopress' ) .'</label>';
1313
+
1314
+ if (isset($this->options['seopress_titles_noindex'])) {
1315
+ esc_attr( $this->options['seopress_titles_noindex']);
1316
+ }
1317
+ }
1318
+
1319
+ public function seopress_titles_nofollow_callback()
1320
+ {
1321
+ $options = get_option( 'seopress_titles_option_name' );
1322
+
1323
+ $check = isset($options['seopress_titles_nofollow']);
1324
+
1325
+ echo '<input id="seopress_titles_nofollow" name="seopress_titles_option_name[seopress_titles_nofollow]" type="checkbox"';
1326
+ if ('1' == $check) echo 'checked="yes"';
1327
+ echo ' value="1"/>';
1328
+
1329
+ echo '<label for="seopress_titles_nofollow">'. __( 'nofollow', 'seopress' ) .'</label>';
1330
+
1331
+ if (isset($this->options['seopress_titles_nofollow'])) {
1332
+ esc_attr( $this->options['seopress_titles_nofollow']);
1333
+ }
1334
+ }
1335
+
1336
+ public function seopress_titles_noodp_callback()
1337
+ {
1338
+ $options = get_option( 'seopress_titles_option_name' );
1339
+
1340
+ $check = isset($options['seopress_titles_noodp']);
1341
+
1342
+ echo '<input id="seopress_titles_noodp" name="seopress_titles_option_name[seopress_titles_noodp]" type="checkbox"';
1343
+ if ('1' == $check) echo 'checked="yes"';
1344
+ echo ' value="1"/>';
1345
+
1346
+ echo '<label for="seopress_titles_noodp">'. __( 'noodp', 'seopress' ) .'</label>';
1347
+
1348
+ if (isset($this->options['seopress_titles_noodp'])) {
1349
+ esc_attr( $this->options['seopress_titles_noodp']);
1350
+ }
1351
+ }
1352
+
1353
+ public function seopress_titles_noimageindex_callback()
1354
+ {
1355
+ $options = get_option( 'seopress_titles_option_name' );
1356
+
1357
+ $check = isset($options['seopress_titles_noimageindex']);
1358
+
1359
+ echo '<input id="seopress_titles_noimageindex" name="seopress_titles_option_name[seopress_titles_noimageindex]" type="checkbox"';
1360
+ if ('1' == $check) echo 'checked="yes"';
1361
+ echo ' value="1"/>';
1362
+
1363
+ echo '<label for="seopress_titles_noimageindex">'. __( 'noimageindex', 'seopress' ) .'</label>';
1364
+
1365
+ if (isset($this->options['seopress_titles_noimageindex'])) {
1366
+ esc_attr( $this->options['seopress_titles_noimageindex']);
1367
+ }
1368
+ }
1369
+
1370
+ public function seopress_titles_noarchive_callback()
1371
+ {
1372
+ $options = get_option( 'seopress_titles_option_name' );
1373
+
1374
+ $check = isset($options['seopress_titles_noarchive']);
1375
+
1376
+ echo '<input id="seopress_titles_noarchive" name="seopress_titles_option_name[seopress_titles_noarchive]" type="checkbox"';
1377
+ if ('1' == $check) echo 'checked="yes"';
1378
+ echo ' value="1"/>';
1379
+
1380
+ echo '<label for="seopress_titles_noarchive">'. __( 'noarchive', 'seopress' ) .'</label>';
1381
+
1382
+ if (isset($this->options['seopress_titles_noarchive'])) {
1383
+ esc_attr( $this->options['seopress_titles_noarchive']);
1384
+ }
1385
+ }
1386
+
1387
+ public function seopress_titles_nosnippet_callback()
1388
+ {
1389
+ $options = get_option( 'seopress_titles_option_name' );
1390
+
1391
+ $check = isset($options['seopress_titles_nosnippet']);
1392
+
1393
+ echo '<input id="seopress_titles_nosnippet" name="seopress_titles_option_name[seopress_titles_nosnippet]" type="checkbox"';
1394
+ if ('1' == $check) echo 'checked="yes"';
1395
+ echo ' value="1"/>';
1396
+
1397
+ echo '<label for="seopress_titles_nosnippet">'. __( 'nosnippet', 'seopress' ) .'</label>';
1398
+
1399
+ if (isset($this->options['seopress_titles_nosnippet'])) {
1400
+ esc_attr( $this->options['seopress_titles_nosnippet']);
1401
+ }
1402
+ }
1403
+
1404
+ public function seopress_xml_sitemap_general_enable_callback()
1405
+ {
1406
+ $options = get_option( 'seopress_xml_sitemap_option_name' );
1407
+
1408
+ $check = isset($options['seopress_xml_sitemap_general_enable']);
1409
+
1410
+ echo '<input id="seopress_xml_sitemap_general_enable" name="seopress_xml_sitemap_option_name[seopress_xml_sitemap_general_enable]" type="checkbox"';
1411
+ if ('1' == $check) echo 'checked="yes"';
1412
+ echo ' value="1"/>';
1413
+
1414
+ echo '<label for="seopress_xml_sitemap_general_enable">'. __( 'Enable XML Sitemap', 'seopress' ) .'</label>';
1415
+
1416
+ if (isset($this->options['seopress_xml_sitemap_general_enable'])) {
1417
+ esc_attr( $this->options['seopress_xml_sitemap_general_enable']);
1418
+ }
1419
+ }
1420
+
1421
+ public function seopress_xml_sitemap_post_types_list_callback()
1422
+ {
1423
+ $options = get_option( 'seopress_xml_sitemap_option_name' );
1424
+
1425
+ $check = isset($options['seopress_xml_sitemap_post_types_list']);
1426
+
1427
+ global $wp_post_types;
1428
+
1429
+ $args = array(
1430
+ 'show_ui' => true,
1431
+ );
1432
+
1433
+ $output = 'names'; // names or objects, note names is the default
1434
+ $operator = 'and'; // 'and' or 'or'
1435
+
1436
+ $post_types = get_post_types( $args, $output, $operator );
1437
+
1438
+ foreach ($post_types as $seopress_cpt_key => $seopress_cpt_value) {
1439
+
1440
+ echo '<h2>'.$seopress_cpt_value.'</h2>';
1441
+
1442
+ //List all post types
1443
+ echo '<div class="seopress_wrap_single_cpt">';
1444
+
1445
+ $options = get_option( 'seopress_xml_sitemap_option_name' );
1446
+
1447
+ $check = isset($options['seopress_xml_sitemap_post_types_list'][$seopress_cpt_value]['include']);
1448
+
1449
+ echo '<input id="seopress_xml_sitemap_post_types_list_include['.$seopress_cpt_value.']" name="seopress_xml_sitemap_option_name[seopress_xml_sitemap_post_types_list]['.$seopress_cpt_value.'][include]" type="checkbox"';
1450
+ if ('1' == $check) echo 'checked="yes"';
1451
+ echo ' value="1"/>';
1452
+
1453
+ echo '<label for="seopress_xml_sitemap_post_types_list_include['.$seopress_cpt_value.']">'. __( 'Include', 'seopress' ) .'</label>';
1454
+
1455
+ if (isset($this->options['seopress_xml_sitemap_post_types_list'][$seopress_cpt_value]['include'])) {
1456
+ esc_attr( $this->options['seopress_xml_sitemap_post_types_list'][$seopress_cpt_value]['include']);
1457
+ }
1458
+
1459
+ echo '</div>';
1460
+ }
1461
+ }
1462
+
1463
+ public function seopress_xml_sitemap_taxonomies_list_callback()
1464
+ {
1465
+ $options = get_option( 'seopress_xml_sitemap_option_name' );
1466
+
1467
+ $check = isset($options['seopress_xml_sitemap_taxonomies_list']);
1468
+
1469
+ $args = array(
1470
+ 'show_ui' => true,
1471
+ 'public' => true,
1472
+
1473
+ );
1474
+ $output = 'names'; // or objects
1475
+ $operator = 'and'; // 'and' or 'or'
1476
+ $taxonomies = get_taxonomies( $args, $output, $operator );
1477
+
1478
+ foreach ($taxonomies as $seopress_tax_key => $seopress_tax_value) {
1479
+
1480
+ echo '<h2>'.$seopress_tax_value.'</h2>';
1481
+
1482
+ //List all taxonomies
1483
+ echo '<div class="seopress_wrap_single_tax">';
1484
+
1485
+ $options = get_option( 'seopress_xml_sitemap_option_name' );
1486
+
1487
+ $check = isset($options['seopress_xml_sitemap_taxonomies_list'][$seopress_tax_value]['include']);
1488
+
1489
+ echo '<input id="seopress_xml_sitemap_taxonomies_list_include['.$seopress_tax_value.']" name="seopress_xml_sitemap_option_name[seopress_xml_sitemap_taxonomies_list]['.$seopress_tax_value.'][include]" type="checkbox"';
1490
+ if ('1' == $check) echo 'checked="yes"';
1491
+ echo ' value="1"/>';
1492
+
1493
+ echo '<label for="seopress_xml_sitemap_taxonomies_list_include['.$seopress_tax_value.']">'. __( 'Include', 'seopress' ) .'</label>';
1494
+
1495
+ if (isset($this->options['seopress_xml_sitemap_taxonomies_list'][$seopress_tax_value]['include'])) {
1496
+ esc_attr( $this->options['seopress_xml_sitemap_taxonomies_list'][$seopress_tax_value]['include']);
1497
+ }
1498
+
1499
+ echo '</div>';
1500
+ }
1501
+ }
1502
+
1503
+ public function seopress_social_knowledge_type_callback()
1504
+ {
1505
+ $options = get_option( 'seopress_social_option_name' );
1506
+
1507
+ $selected = $options['seopress_social_knowledge_type'];
1508
+
1509
+ echo '<select id="seopress_social_knowledge_type" name="seopress_social_option_name[seopress_social_knowledge_type]">';
1510
+ echo ' <option ';
1511
+ if ('person' == $selected) echo 'selected="selected"';
1512
+ echo ' value="person">'. __("Person","seopress") .'</option>';
1513
+ echo '<option ';
1514
+ if ('organization' == $selected) echo 'selected="selected"';
1515
+ echo ' value="organization">'. __("Organization","seopress") .'</option>';
1516
+ echo '</select>';
1517
+
1518
+ if (isset($this->options['seopress_social_knowledge_type'])) {
1519
+ esc_attr( $this->options['seopress_social_knowledge_type']);
1520
+ }
1521
+ }
1522
+
1523
+ public function seopress_social_knowledge_name_callback()
1524
+ {
1525
+ printf(
1526
+ '<input type="text" name="seopress_social_option_name[seopress_social_knowledge_name]" value="%s"/>',
1527
+ esc_html( $this->options['seopress_social_knowledge_name'])
1528
+ );
1529
+
1530
+ }
1531
+
1532
+ public function seopress_social_knowledge_img_callback() {
1533
+ $options = get_option( 'seopress_social_option_name' );
1534
+
1535
+ $check = isset($options['seopress_social_knowledge_img']);
1536
+
1537
+ echo '<input id="seopress_social_knowledge_img_meta" type="text" value="'.$options['seopress_social_knowledge_img'].'" name="seopress_social_option_name[seopress_social_knowledge_img]" placeholder="'.__('Select your logo','seopress').'" />
1538
+
1539
+ <input id="seopress_social_knowledge_img_upload" class="button" type="button" value="'.__('Upload an Image','seopress').'" />';
1540
+
1541
+ if (isset($this->options['seopress_social_knowledge_img'])) {
1542
+ esc_attr( $this->options['seopress_social_knowledge_img']);
1543
+ }
1544
+ }
1545
+
1546
+ public function seopress_social_accounts_facebook_callback()
1547
+ {
1548
+ printf(
1549
+ '<input type="text" name="seopress_social_option_name[seopress_social_accounts_facebook]" value="%s"/>',
1550
+ esc_html( $this->options['seopress_social_accounts_facebook'])
1551
+
1552
+ );
1553
+
1554
+ }
1555
+
1556
+ public function seopress_social_accounts_twitter_callback()
1557
+ {
1558
+ printf(
1559
+ '<input type="text" name="seopress_social_option_name[seopress_social_accounts_twitter]" value="%s"/>',
1560
+ esc_html( $this->options['seopress_social_accounts_twitter'])
1561
+
1562
+ );
1563
+
1564
+ }
1565
+
1566
+ public function seopress_social_accounts_google_callback()
1567
+ {
1568
+ printf(
1569
+ '<input type="text" name="seopress_social_option_name[seopress_social_accounts_google]" value="%s"/>',
1570
+ esc_html( $this->options['seopress_social_accounts_google'])
1571
+
1572
+ );
1573
+
1574
+ }
1575
+
1576
+ public function seopress_social_accounts_pinterest_callback()
1577
+ {
1578
+ printf(
1579
+ '<input type="text" name="seopress_social_option_name[seopress_social_accounts_pinterest]" value="%s"/>',
1580
+ esc_html( $this->options['seopress_social_accounts_pinterest'])
1581
+
1582
+ );
1583
+
1584
+ }
1585
+
1586
+ public function seopress_social_accounts_instagram_callback()
1587
+ {
1588
+ printf(
1589
+ '<input type="text" name="seopress_social_option_name[seopress_social_accounts_instagram]" value="%s"/>',
1590
+ esc_html( $this->options['seopress_social_accounts_instagram'])
1591
+
1592
+ );
1593
+
1594
+ }
1595
+
1596
+ public function seopress_social_accounts_youtube_callback()
1597
+ {
1598
+ printf(
1599
+ '<input type="text" name="seopress_social_option_name[seopress_social_accounts_youtube]" value="%s"/>',
1600
+ esc_html( $this->options['seopress_social_accounts_youtube'])
1601
+
1602
+ );
1603
+
1604
+ }
1605
+
1606
+ public function seopress_social_accounts_linkedin_callback()
1607
+ {
1608
+ printf(
1609
+ '<input type="text" name="seopress_social_option_name[seopress_social_accounts_linkedin]" value="%s"/>',
1610
+ esc_html( $this->options['seopress_social_accounts_linkedin'])
1611
+
1612
+ );
1613
+
1614
+ }
1615
+
1616
+ public function seopress_social_accounts_myspace_callback()
1617
+ {
1618
+ printf(
1619
+ '<input type="text" name="seopress_social_option_name[seopress_social_accounts_myspace]" value="%s"/>',
1620
+ esc_html( $this->options['seopress_social_accounts_myspace'])
1621
+
1622
+ );
1623
+
1624
+ }
1625
+
1626
+ public function seopress_social_accounts_soundcloud_callback()
1627
+ {
1628
+ printf(
1629
+ '<input type="text" name="seopress_social_option_name[seopress_social_accounts_soundcloud]" value="%s"/>',
1630
+ esc_html( $this->options['seopress_social_accounts_soundcloud'])
1631
+
1632
+ );
1633
+
1634
+ }
1635
+
1636
+ public function seopress_social_accounts_tumblr_callback()
1637
+ {
1638
+ printf(
1639
+ '<input type="text" name="seopress_social_option_name[seopress_social_accounts_tumblr]" value="%s"/>',
1640
+ esc_html( $this->options['seopress_social_accounts_tumblr'])
1641
+
1642
+ );
1643
+
1644
+ }
1645
+
1646
+ public function seopress_social_facebook_og_callback()
1647
+ {
1648
+ $options = get_option( 'seopress_social_option_name' );
1649
+
1650
+ $check = isset($options['seopress_social_facebook_og']);
1651
+
1652
+ echo '<input id="seopress_social_facebook_og" name="seopress_social_option_name[seopress_social_facebook_og]" type="checkbox"';
1653
+ if ('1' == $check) echo 'checked="yes"';
1654
+ echo ' value="1"/>';
1655
+
1656
+ echo '<label for="seopress_social_facebook_og">'. __( 'Enable OG data', 'seopress' ) .'</label>';
1657
+
1658
+ if (isset($this->options['seopress_social_facebook_og'])) {
1659
+ esc_attr( $this->options['seopress_social_facebook_og']);
1660
+ }
1661
+ }
1662
+
1663
+ public function seopress_social_facebook_img_callback()
1664
+ {
1665
+ $options = get_option( 'seopress_social_option_name' );
1666
+
1667
+ $check = isset($options['seopress_social_facebook_img']);
1668
+
1669
+ echo '<input id="seopress_social_fb_img_meta" type="text" value="'.$options['seopress_social_facebook_img'].'" name="seopress_social_option_name[seopress_social_facebook_img]" placeholder="'.__('Select your default thumbnail','seopress').'" />
1670
+
1671
+ <input id="seopress_social_fb_img_upload" class="button" type="button" value="'.__('Upload an Image','seopress').'" />';
1672
+
1673
+ if (isset($this->options['seopress_social_facebook_img'])) {
1674
+ esc_attr( $this->options['seopress_social_facebook_img']);
1675
+ }
1676
+ }
1677
+
1678
+ public function seopress_social_facebook_admin_id_callback()
1679
+ {
1680
+ printf(
1681
+ '<input type="text" name="seopress_social_option_name[seopress_social_facebook_admin_id]" value="%s"/>',
1682
+ esc_html( $this->options['seopress_social_facebook_admin_id'])
1683
+
1684
+ );
1685
+
1686
+ }
1687
+
1688
+ public function seopress_social_facebook_app_id_callback()
1689
+ {
1690
+ printf(
1691
+ '<input type="text" name="seopress_social_option_name[seopress_social_facebook_app_id]" value="%s"/>',
1692
+ esc_html( $this->options['seopress_social_facebook_app_id'])
1693
+
1694
+ );
1695
+
1696
+ }
1697
+
1698
+ public function seopress_social_twitter_card_callback()
1699
+ {
1700
+ $options = get_option( 'seopress_social_option_name' );
1701
+
1702
+ $check = isset($options['seopress_social_twitter_card']);
1703
+
1704
+ echo '<input id="seopress_social_twitter_card" name="seopress_social_option_name[seopress_social_twitter_card]" type="checkbox"';
1705
+ if ('1' == $check) echo 'checked="yes"';
1706
+ echo ' value="1"/>';
1707
+
1708
+ echo '<label for="seopress_social_twitter_card">'. __( 'Enable Twitter card', 'seopress' ) .'</label>';
1709
+
1710
+ if (isset($this->options['seopress_social_twitter_card'])) {
1711
+ esc_attr( $this->options['seopress_social_twitter_card']);
1712
+ }
1713
+ }
1714
+
1715
+ public function seopress_social_twitter_card_img_callback()
1716
+ {
1717
+ $options = get_option( 'seopress_social_option_name' );
1718
+
1719
+ $check = isset($options['seopress_social_twitter_card_img']);
1720
+
1721
+ echo '<input id="seopress_social_twitter_img_meta" type="text" value="'.$options['seopress_social_twitter_card_img'].'" name="seopress_social_option_name[seopress_social_twitter_card_img]" placeholder="'.__('Select your default thumbnail','seopress').'" />
1722
+
1723
+ <input id="seopress_social_twitter_img_upload" class="button" type="button" value="'.__('Upload an Image','seopress').'" />';
1724
+
1725
+ if (isset($this->options['seopress_social_twitter_card_img'])) {
1726
+ esc_attr( $this->options['seopress_social_twitter_card_img']);
1727
+ }
1728
+ }
1729
+
1730
+ public function seopress_social_twitter_card_img_size_callback()
1731
+ {
1732
+ $options = get_option( 'seopress_social_option_name' );
1733
+
1734
+ $selected = $options['seopress_social_twitter_card_img_size'];
1735
+
1736
+ echo '<select id="seopress_social_twitter_card_img_size" name="seopress_social_option_name[seopress_social_twitter_card_img_size]">';
1737
+ echo ' <option ';
1738
+ if ('default' == $selected) echo 'selected="selected"';
1739
+ echo ' value="default">'. __("Default","seopress") .'</option>';
1740
+ echo '<option ';
1741
+ if ('large' == $selected) echo 'selected="selected"';
1742
+ echo ' value="large">'. __("Large","seopress") .'</option>';
1743
+ echo '</select>';
1744
+
1745
+ if (isset($this->options['seopress_social_twitter_card_img_size'])) {
1746
+ esc_attr( $this->options['seopress_social_twitter_card_img_size']);
1747
+ }
1748
+ }
1749
+ }
1750
+
1751
+ if( is_admin() )
1752
+ $my_settings_page = new seopress_options();
1753
+
1754
+ ?>
inc/admin/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
inc/functions/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
inc/functions/options-import-export.php ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
+
4
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
5
+ //Import / Exports settings page
6
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
7
+
8
+ //Export WP Admin UI Settings in JSON
9
+ function seopress_export_settings() {
10
+ if( empty( $_POST['seopress_action'] ) || 'export_settings' != $_POST['seopress_action'] )
11
+ return;
12
+ if( ! wp_verify_nonce( $_POST['seopress_export_nonce'], 'seopress_export_nonce' ) )
13
+ return;
14
+ if( ! current_user_can( 'manage_options' ) )
15
+ return;
16
+
17
+ $settings["seopress_activated"] = get_option( 'seopress_activated' );
18
+ $settings["seopress_titles_option_name"] = get_option( 'seopress_titles_option_name' );
19
+ $settings["seopress_social_option_name"] = get_option( 'seopress_social_option_name' );
20
+ $settings["seopress_xml_sitemap_option_name"] = get_option( 'seopress_xml_sitemap_option_name' );
21
+
22
+ ignore_user_abort( true );
23
+ nocache_headers();
24
+ header( 'Content-Type: application/json; charset=utf-8' );
25
+ header( 'Content-Disposition: attachment; filename=seopress-settings-export-' . date( 'm-d-Y' ) . '.json' );
26
+ header( "Expires: 0" );
27
+ echo json_encode( $settings );
28
+ exit;
29
+ }
30
+ add_action( 'admin_init', 'seopress_export_settings' );
31
+
32
+ //Import WP Admin UI Settings from JSON
33
+ function seopress_import_settings() {
34
+ if( empty( $_POST['seopress_action'] ) || 'import_settings' != $_POST['seopress_action'] )
35
+ return;
36
+ if( ! wp_verify_nonce( $_POST['seopress_import_nonce'], 'seopress_import_nonce' ) )
37
+ return;
38
+ if( ! current_user_can( 'manage_options' ) )
39
+ return;
40
+ $extension = end( explode( '.', $_FILES['import_file']['name'] ) );
41
+ if( $extension != 'json' ) {
42
+ wp_die( __( 'Please upload a valid .json file' ) );
43
+ }
44
+ $import_file = $_FILES['import_file']['tmp_name'];
45
+ if( empty( $import_file ) ) {
46
+ wp_die( __( 'Please upload a file to import' ) );
47
+ }
48
+
49
+ $settings = (array) json_decode( file_get_contents( $import_file ), true );
50
+
51
+ update_option( 'seopress_activated', $settings["seopress_activated"] );
52
+ update_option( 'seopress_titles_option_name', $settings["seopress_titles_option_name"] );
53
+ update_option( 'seopress_social_option_name', $settings["seopress_social_option_name"] );
54
+ update_option( 'seopress_xml_sitemap_option_name', $settings["seopress_xml_sitemap_option_name"] );
55
+
56
+ wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) ); exit;
57
+ }
58
+ add_action( 'admin_init', 'seopress_import_settings' );
59
+
60
+ //Reset WP Admin UI Settings
61
+ function seopress_reset_settings() {
62
+ if( empty( $_POST['seopress_action'] ) || 'reset_settings' != $_POST['seopress_action'] )
63
+ return;
64
+ if( ! wp_verify_nonce( $_POST['seopress_reset_nonce'], 'seopress_reset_nonce' ) )
65
+ return;
66
+ if( ! current_user_can( 'manage_options' ) )
67
+ return;
68
+
69
+ global $wpdb;
70
+
71
+ $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_%' ");
72
+
73
+ wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) ); exit;
74
+ }
75
+ add_action( 'admin_init', 'seopress_reset_settings' );
inc/functions/options-sitemap.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
+
4
+ //XML Sitemap
5
+ //=================================================================================================
inc/functions/options-social.php ADDED
@@ -0,0 +1,462 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
+
4
+ //Social
5
+ //=================================================================================================
6
+ //Knowledge Graph
7
+ //Type
8
+ function seopress_social_knowledge_type_option() {
9
+ $seopress_social_knowledge_type_option = get_option("seopress_social_option_name");
10
+ if ( ! empty ( $seopress_social_knowledge_type_option ) ) {
11
+ foreach ($seopress_social_knowledge_type_option as $key => $seopress_social_knowledge_type_value)
12
+ $options[$key] = $seopress_social_knowledge_type_value;
13
+ if (isset($seopress_social_knowledge_type_option['seopress_social_knowledge_type'])) {
14
+ return $seopress_social_knowledge_type_option['seopress_social_knowledge_type'];
15
+ }
16
+ }
17
+ };
18
+
19
+ //Person name
20
+ function seopress_social_knowledge_name_option() {
21
+ $seopress_social_knowledge_name_option = get_option("seopress_social_option_name");
22
+ if ( ! empty ( $seopress_social_knowledge_name_option ) ) {
23
+ foreach ($seopress_social_knowledge_name_option as $key => $seopress_social_knowledge_name_value)
24
+ $options[$key] = $seopress_social_knowledge_name_value;
25
+ if (isset($seopress_social_knowledge_name_option['seopress_social_knowledge_name'])) {
26
+ return $seopress_social_knowledge_name_option['seopress_social_knowledge_name'];
27
+ }
28
+ }
29
+ };
30
+
31
+ //Logo
32
+ function seopress_social_knowledge_img_option() {
33
+ $seopress_social_knowledge_img_option = get_option("seopress_social_option_name");
34
+ if ( ! empty ( $seopress_social_knowledge_img_option ) ) {
35
+ foreach ($seopress_social_knowledge_img_option as $key => $seopress_social_knowledge_img_value)
36
+ $options[$key] = $seopress_social_knowledge_img_value;
37
+ if (isset($seopress_social_knowledge_img_option['seopress_social_knowledge_img'])) {
38
+ return $seopress_social_knowledge_img_option['seopress_social_knowledge_img'];
39
+ }
40
+ }
41
+ };
42
+
43
+ //Accounts
44
+ //Facebook
45
+ function seopress_social_accounts_facebook_option() {
46
+ $seopress_social_accounts_facebook_option = get_option("seopress_social_option_name");
47
+ if ( ! empty ( $seopress_social_accounts_facebook_option ) ) {
48
+ foreach ($seopress_social_accounts_facebook_option as $key => $seopress_social_accounts_facebook_value)
49
+ $options[$key] = $seopress_social_accounts_facebook_value;
50
+ if (isset($seopress_social_accounts_facebook_option['seopress_social_accounts_facebook'])) {
51
+ return $seopress_social_accounts_facebook_option['seopress_social_accounts_facebook'];
52
+ }
53
+ }
54
+ };
55
+
56
+ //Twitter
57
+ function seopress_social_accounts_twitter_option() {
58
+ $seopress_social_accounts_twitter_option = get_option("seopress_social_option_name");
59
+ if ( ! empty ( $seopress_social_accounts_twitter_option ) ) {
60
+ foreach ($seopress_social_accounts_twitter_option as $key => $seopress_social_accounts_twitter_value)
61
+ $options[$key] = $seopress_social_accounts_twitter_value;
62
+ if (isset($seopress_social_accounts_twitter_option['seopress_social_accounts_twitter'])) {
63
+ return $seopress_social_accounts_twitter_option['seopress_social_accounts_twitter'];
64
+ }
65
+ }
66
+ };
67
+
68
+ //Google +
69
+ function seopress_social_accounts_google_option() {
70
+ $seopress_social_accounts_google_option = get_option("seopress_social_option_name");
71
+ if ( ! empty ( $seopress_social_accounts_google_option ) ) {
72
+ foreach ($seopress_social_accounts_google_option as $key => $seopress_social_accounts_google_value)
73
+ $options[$key] = $seopress_social_accounts_google_value;
74
+ if (isset($seopress_social_accounts_google_option['seopress_social_accounts_google'])) {
75
+ return $seopress_social_accounts_google_option['seopress_social_accounts_google'];
76
+ }
77
+ }
78
+ };
79
+
80
+ //Pinterest
81
+ function seopress_social_accounts_pinterest_option() {
82
+ $seopress_social_accounts_pinterest_option = get_option("seopress_social_option_name");
83
+ if ( ! empty ( $seopress_social_accounts_pinterest_option ) ) {
84
+ foreach ($seopress_social_accounts_pinterest_option as $key => $seopress_social_accounts_pinterest_value)
85
+ $options[$key] = $seopress_social_accounts_pinterest_value;
86
+ if (isset($seopress_social_accounts_pinterest_option['seopress_social_accounts_pinterest'])) {
87
+ return $seopress_social_accounts_pinterest_option['seopress_social_accounts_pinterest'];
88
+ }
89
+ }
90
+ };
91
+
92
+ //Instagram
93
+ function seopress_social_accounts_instagram_option() {
94
+ $seopress_social_accounts_instagram_option = get_option("seopress_social_option_name");
95
+ if ( ! empty ( $seopress_social_accounts_instagram_option ) ) {
96
+ foreach ($seopress_social_accounts_instagram_option as $key => $seopress_social_accounts_instagram_value)
97
+ $options[$key] = $seopress_social_accounts_instagram_value;
98
+ if (isset($seopress_social_accounts_instagram_option['seopress_social_accounts_instagram'])) {
99
+ return $seopress_social_accounts_instagram_option['seopress_social_accounts_instagram'];
100
+ }
101
+ }
102
+ };
103
+
104
+ //YouTube
105
+ function seopress_social_accounts_youtube_option() {
106
+ $seopress_social_accounts_youtube_option = get_option("seopress_social_option_name");
107
+ if ( ! empty ( $seopress_social_accounts_youtube_option ) ) {
108
+ foreach ($seopress_social_accounts_youtube_option as $key => $seopress_social_accounts_youtube_value)
109
+ $options[$key] = $seopress_social_accounts_youtube_value;
110
+ if (isset($seopress_social_accounts_youtube_option['seopress_social_accounts_youtube'])) {
111
+ return $seopress_social_accounts_youtube_option['seopress_social_accounts_youtube'];
112
+ }
113
+ }
114
+ };
115
+
116
+ //LinkedIn
117
+ function seopress_social_accounts_linkedin_option() {
118
+ $seopress_social_accounts_linkedin_option = get_option("seopress_social_option_name");
119
+ if ( ! empty ( $seopress_social_accounts_linkedin_option ) ) {
120
+ foreach ($seopress_social_accounts_linkedin_option as $key => $seopress_social_accounts_linkedin_value)
121
+ $options[$key] = $seopress_social_accounts_linkedin_value;
122
+ if (isset($seopress_social_accounts_linkedin_option['seopress_social_accounts_linkedin'])) {
123
+ return $seopress_social_accounts_linkedin_option['seopress_social_accounts_linkedin'];
124
+ }
125
+ }
126
+ };
127
+
128
+ //MySpace
129
+ function seopress_social_accounts_myspace_option() {
130
+ $seopress_social_accounts_myspace_option = get_option("seopress_social_option_name");
131
+ if ( ! empty ( $seopress_social_accounts_myspace_option ) ) {
132
+ foreach ($seopress_social_accounts_myspace_option as $key => $seopress_social_accounts_myspace_value)
133
+ $options[$key] = $seopress_social_accounts_myspace_value;
134
+ if (isset($seopress_social_accounts_myspace_option['seopress_social_accounts_myspace'])) {
135
+ return $seopress_social_accounts_myspace_option['seopress_social_accounts_myspace'];
136
+ }
137
+ }
138
+ };
139
+
140
+ //Soundcloud
141
+ function seopress_social_accounts_soundcloud_option() {
142
+ $seopress_social_accounts_soundcloud_option = get_option("seopress_social_option_name");
143
+ if ( ! empty ( $seopress_social_accounts_soundcloud_option ) ) {
144
+ foreach ($seopress_social_accounts_soundcloud_option as $key => $seopress_social_accounts_soundcloud_value)
145
+ $options[$key] = $seopress_social_accounts_soundcloud_value;
146
+ if (isset($seopress_social_accounts_soundcloud_option['seopress_social_accounts_soundcloud'])) {
147
+ return $seopress_social_accounts_soundcloud_option['seopress_social_accounts_soundcloud'];
148
+ }
149
+ }
150
+ };
151
+
152
+ //Tumblr
153
+ function seopress_social_accounts_tumblr_option() {
154
+ $seopress_social_accounts_tumblr_option = get_option("seopress_social_option_name");
155
+ if ( ! empty ( $seopress_social_accounts_tumblr_option ) ) {
156
+ foreach ($seopress_social_accounts_tumblr_option as $key => $seopress_social_accounts_tumblr_value)
157
+ $options[$key] = $seopress_social_accounts_tumblr_value;
158
+ if (isset($seopress_social_accounts_tumblr_option['seopress_social_accounts_tumblr'])) {
159
+ return $seopress_social_accounts_tumblr_option['seopress_social_accounts_tumblr'];
160
+ }
161
+ }
162
+ };
163
+
164
+ function seopress_social_accounts_jsonld_hook() {
165
+
166
+ $seopress_comma_array = array();
167
+
168
+ if (seopress_social_accounts_facebook_option() !='') {
169
+ $seopress_social_accounts_facebook_option = json_encode(seopress_social_accounts_facebook_option());
170
+ array_push($seopress_comma_array, $seopress_social_accounts_facebook_option);
171
+ }
172
+ if (seopress_social_accounts_twitter_option() !='') {
173
+ $seopress_social_accounts_twitter_option = json_encode('https://twitter.com/'.seopress_social_accounts_twitter_option());
174
+ array_push($seopress_comma_array, $seopress_social_accounts_twitter_option);
175
+ }
176
+ if (seopress_social_accounts_google_option() !='') {
177
+ $seopress_social_accounts_google_option = json_encode(seopress_social_accounts_google_option());
178
+ array_push($seopress_comma_array, $seopress_social_accounts_google_option);
179
+ }
180
+ if (seopress_social_accounts_pinterest_option() !='') {
181
+ $seopress_social_accounts_pinterest_option = json_encode(seopress_social_accounts_pinterest_option());
182
+ array_push($seopress_comma_array, $seopress_social_accounts_pinterest_option);
183
+ }
184
+ if (seopress_social_accounts_instagram_option() !='') {
185
+ $seopress_social_accounts_instagram_option = json_encode(seopress_social_accounts_instagram_option());
186
+ array_push($seopress_comma_array, $seopress_social_accounts_instagram_option);
187
+ }
188
+ if (seopress_social_accounts_youtube_option() !='') {
189
+ $seopress_social_accounts_youtube_option = json_encode(seopress_social_accounts_youtube_option());
190
+ array_push($seopress_comma_array, $seopress_social_accounts_youtube_option);
191
+ }
192
+ if (seopress_social_accounts_linkedin_option() !='') {
193
+ $seopress_social_accounts_linkedin_option = json_encode(seopress_social_accounts_linkedin_option());
194
+ array_push($seopress_comma_array, $seopress_social_accounts_linkedin_option);
195
+ }
196
+ if (seopress_social_accounts_myspace_option() !='') {
197
+ $seopress_social_accounts_myspace_option = json_encode(seopress_social_accounts_myspace_option());
198
+ array_push($seopress_comma_array, $seopress_social_accounts_myspace_option);
199
+ }
200
+ if (seopress_social_accounts_soundcloud_option() !='') {
201
+ $seopress_social_accounts_soundcloud_option = json_encode(seopress_social_accounts_soundcloud_option());
202
+ array_push($seopress_comma_array, $seopress_social_accounts_soundcloud_option);
203
+ }
204
+ if (seopress_social_accounts_tumblr_option() !='') {
205
+ $seopress_social_accounts_tumblr_option = json_encode(seopress_social_accounts_tumblr_option());
206
+ array_push($seopress_comma_array, $seopress_social_accounts_tumblr_option);
207
+ }
208
+ if (seopress_social_knowledge_type_option() !='') {
209
+ $seopress_social_knowledge_type_option = json_encode(seopress_social_knowledge_type_option());
210
+ } else {
211
+ $seopress_social_knowledge_type_option = 'organization';
212
+ }
213
+ if (seopress_social_knowledge_name_option() !='') {
214
+ $seopress_social_knowledge_name_option = json_encode(seopress_social_knowledge_name_option());
215
+ } else {
216
+ $seopress_social_knowledge_name_option = json_encode(get_bloginfo('name'));
217
+ }
218
+ if (seopress_social_knowledge_img_option() !='') {
219
+ $seopress_social_knowledge_img_option = json_encode(seopress_social_knowledge_img_option());
220
+ }
221
+
222
+ echo '<script type="application/ld+json">';
223
+ echo '{"@context" : "http://schema.org","@type" : '.$seopress_social_knowledge_type_option.',';
224
+ if ($seopress_social_knowledge_img_option) {
225
+ echo '"image": '.$seopress_social_knowledge_img_option.',';
226
+ }
227
+ echo '"name" : '.$seopress_social_knowledge_name_option.',"url" : '.json_encode(get_site_url()).'';
228
+ if ($seopress_social_accounts_facebook_option || $seopress_social_accounts_twitter_option || $seopress_social_accounts_google_option || $seopress_social_accounts_pinterest_option || $seopress_social_accounts_instagram_option || seopress_social_accounts_youtube_option || seopress_social_accounts_linkedin_option || seopress_social_accounts_myspace_option || seopress_social_accounts_soundcloud_option || seopress_social_accounts_tumblr_option ) {
229
+ echo ',"sameAs" : [';
230
+ $seopress_comma_count = count($seopress_comma_array);
231
+ for ($i = 0; $i < $seopress_comma_count; $i++) {
232
+ echo $seopress_comma_array[$i];
233
+ if ($i < ($seopress_comma_count - 1)) {
234
+ echo ', ';
235
+ }
236
+ }
237
+ echo ']';
238
+ }
239
+ echo '}';
240
+ echo '</script>';
241
+ echo "\n";
242
+ };
243
+ add_action( 'wp_head', 'seopress_social_accounts_jsonld_hook', 1 );
244
+
245
+ //Website Schema.org in JSON-LD
246
+ function seopress_social_website_option() {
247
+ $target = get_site_url().'/?s={search_term_string}';
248
+ echo '<script type="application/ld+json">';
249
+ echo '{
250
+ "@context": "http://schema.org",
251
+ "@type": "WebSite",
252
+ "url" : '.json_encode(get_site_url()).',
253
+ "potentialAction": {
254
+ "@type": "SearchAction",
255
+ "target": '.json_encode($target).',
256
+ "query-input": "required name=search_term_string"
257
+ }
258
+ }';
259
+ echo '</script>';
260
+ echo "\n";
261
+ }
262
+ add_action( 'wp_head', 'seopress_social_website_option', 1 );
263
+
264
+ //Facebook
265
+ //OG Enabled
266
+ function seopress_social_facebook_og_option() {
267
+ $seopress_social_facebook_og_option = get_option("seopress_social_option_name");
268
+ if ( ! empty ( $seopress_social_facebook_og_option ) ) {
269
+ foreach ($seopress_social_facebook_og_option as $key => $seopress_social_facebook_og_value)
270
+ $options[$key] = $seopress_social_facebook_og_value;
271
+ if (isset($seopress_social_facebook_og_option['seopress_social_facebook_og'])) {
272
+ return $seopress_social_facebook_og_option['seopress_social_facebook_og'];
273
+ }
274
+ }
275
+ };
276
+
277
+ //Facebook Title
278
+ function seopress_social_fb_title_post_option() {
279
+ $_seopress_social_fb_title = get_post_meta(get_the_ID(),'_seopress_social_fb_title',true);
280
+ if ($_seopress_social_fb_title != '') {
281
+ return $_seopress_social_fb_title;
282
+ }
283
+ };
284
+
285
+ function seopress_social_fb_title_hook() {
286
+ if (seopress_social_facebook_og_option() =='1' && seopress_social_fb_title_post_option() !='') {
287
+ echo '<meta property="og:title" content="'.seopress_social_fb_title_post_option().'" />';
288
+ echo "\n";
289
+ } elseif (seopress_social_facebook_og_option() =='1' && get_the_title() !='') {
290
+ echo '<meta property="og:title" content="'.get_the_title().'" />';
291
+ echo "\n";
292
+ }
293
+ };
294
+ add_action( 'wp_head', 'seopress_social_fb_title_hook', 1 );
295
+
296
+ //Facebook Desc
297
+ function seopress_social_fb_desc_post_option() {
298
+ $_seopress_social_fb_desc = get_post_meta(get_the_ID(),'_seopress_social_fb_desc',true);
299
+ if ($_seopress_social_fb_desc != '') {
300
+ return $_seopress_social_fb_desc;
301
+ }
302
+ };
303
+
304
+ function seopress_social_fb_desc_hook() {
305
+ setup_postdata( $post );
306
+ if (seopress_social_facebook_og_option() =='1' && seopress_social_fb_desc_post_option() !='') {
307
+ echo '<meta property="og:description" content="'.seopress_social_fb_desc_post_option().'" />';
308
+ echo "\n";
309
+ } elseif (seopress_social_facebook_og_option() && get_the_excerpt() !='') {
310
+ echo '<meta property="og:description" content="'.wp_trim_words(esc_html(get_the_excerpt()), 30).'" />';
311
+ echo "\n";
312
+ }
313
+ };
314
+ add_action( 'wp_head', 'seopress_social_fb_desc_hook', 1 );
315
+
316
+ //Facebook Thumbnail
317
+ function seopress_social_fb_img_post_option() {
318
+ $_seopress_social_fb_img = get_post_meta(get_the_ID(),'_seopress_social_fb_img',true);
319
+ if ($_seopress_social_fb_img != '') {
320
+ return $_seopress_social_fb_img;
321
+ }
322
+ };
323
+
324
+ function seopress_social_facebook_img_option() {
325
+ $seopress_social_facebook_img_option = get_option("seopress_social_option_name");
326
+ if ( ! empty ( $seopress_social_facebook_img_option ) ) {
327
+ foreach ($seopress_social_facebook_img_option as $key => $seopress_social_facebook_img_value)
328
+ $options[$key] = $seopress_social_facebook_img_value;
329
+ if (isset($seopress_social_facebook_img_option['seopress_social_facebook_img'])) {
330
+ return $seopress_social_facebook_img_option['seopress_social_facebook_img'];
331
+ }
332
+ }
333
+ };
334
+
335
+ function seopress_social_fb_img_hook() {
336
+ if (seopress_social_facebook_og_option() =='1' && seopress_social_fb_img_post_option() !='') {
337
+ echo '<meta property="og:image" content="'.seopress_social_fb_img_post_option().'" />';
338
+ echo "\n";
339
+ } elseif (seopress_social_facebook_og_option() =='1' && has_post_thumbnail() ) {
340
+ echo '<meta property="og:image" content="'.get_the_post_thumbnail_url().'" />';
341
+ echo "\n";
342
+ } elseif (seopress_social_facebook_og_option() =='1' && seopress_social_facebook_img_option() !='') {
343
+ echo '<meta property="og:image" content="'.seopress_social_facebook_img_option().'" />';
344
+ echo "\n";
345
+ }
346
+ };
347
+ add_action( 'wp_head', 'seopress_social_fb_img_hook', 1 );
348
+
349
+ //Twitter
350
+ //Twitter Card Enabled
351
+ function seopress_social_twitter_card_option() {
352
+ $seopress_social_twitter_card_option = get_option("seopress_social_option_name");
353
+ if ( ! empty ( $seopress_social_twitter_card_option ) ) {
354
+ foreach ($seopress_social_twitter_card_option as $key => $seopress_social_twitter_card_value)
355
+ $options[$key] = $seopress_social_twitter_card_value;
356
+ if (isset($seopress_social_twitter_card_option['seopress_social_twitter_card'])) {
357
+ return $seopress_social_twitter_card_option['seopress_social_twitter_card'];
358
+ }
359
+ }
360
+ };
361
+
362
+ //Twitter Title
363
+ function seopress_social_twitter_title_post_option() {
364
+ $_seopress_social_twitter_title = get_post_meta(get_the_ID(),'_seopress_social_twitter_title',true);
365
+ if ($_seopress_social_twitter_title != '') {
366
+ return $_seopress_social_twitter_title;
367
+ }
368
+ };
369
+
370
+ function seopress_social_twitter_title_hook() {
371
+ if (seopress_social_twitter_card_option() =='1' && seopress_social_twitter_title_post_option() !='') {
372
+ echo '<meta name="twitter:title" content="'.seopress_social_twitter_title_post_option().'" />';
373
+ echo "\n";
374
+ } elseif (seopress_social_twitter_card_option() =='1' && get_the_title() !='') {
375
+ echo '<meta name="twitter:title" content="'.get_the_title().'" />';
376
+ echo "\n";
377
+ }
378
+ };
379
+ add_action( 'wp_head', 'seopress_social_twitter_title_hook', 1 );
380
+
381
+ //Twitter Desc
382
+ function seopress_social_twitter_desc_post_option() {
383
+ $_seopress_social_twitter_desc = get_post_meta(get_the_ID(),'_seopress_social_twitter_desc',true);
384
+ if ($_seopress_social_twitter_desc != '') {
385
+ return $_seopress_social_twitter_desc;
386
+ }
387
+ };
388
+
389
+ function seopress_social_twitter_desc_hook() {
390
+ if (seopress_social_twitter_card_option() =='1' && seopress_social_twitter_desc_post_option() !='') {
391
+ echo '<meta name="twitter:description" content="'.seopress_social_twitter_desc_post_option().'" />';
392
+ echo "\n";
393
+ } elseif (seopress_social_twitter_card_option() =='1' && get_the_excerpt() !='') {
394
+ setup_postdata( $post );
395
+ echo '<meta name="twitter:description" content="'.wp_trim_words(esc_html(get_the_excerpt()), 30).'" />';
396
+ echo "\n";
397
+ }
398
+ };
399
+ add_action( 'wp_head', 'seopress_social_twitter_desc_hook', 1 );
400
+
401
+ //Twitter Thumbnail
402
+ function seopress_social_twitter_img_post_option() {
403
+ $_seopress_social_twitter_img = get_post_meta(get_the_ID(),'_seopress_social_twitter_img',true);
404
+ if ($_seopress_social_twitter_img != '') {
405
+ return $_seopress_social_twitter_img;
406
+ }
407
+ };
408
+
409
+ function seopress_social_twitter_img_option() {
410
+ $seopress_social_twitter_img_option = get_option("seopress_social_option_name");
411
+ if ( ! empty ( $seopress_social_twitter_img_option ) ) {
412
+ foreach ($seopress_social_twitter_img_option as $key => $seopress_social_twitter_img_value)
413
+ $options[$key] = $seopress_social_twitter_img_value;
414
+ if (isset($seopress_social_twitter_img_option['seopress_social_twitter_card_img'])) {
415
+ return $seopress_social_twitter_img_option['seopress_social_twitter_card_img'];
416
+ }
417
+ }
418
+ };
419
+
420
+ function seopress_social_twitter_img_size_option() {
421
+ $seopress_social_twitter_img_size_option = get_option("seopress_social_option_name");
422
+ if ( ! empty ( $seopress_social_twitter_img_size_option ) ) {
423
+ foreach ($seopress_social_twitter_img_size_option as $key => $seopress_social_twitter_img_size_value)
424
+ $options[$key] = $seopress_social_twitter_img_size_value;
425
+ if (isset($seopress_social_twitter_img_size_option['seopress_social_twitter_card_img_size'])) {
426
+ return $seopress_social_twitter_img_size_option['seopress_social_twitter_card_img_size'];
427
+ }
428
+ }
429
+ };
430
+
431
+ function seopress_social_twitter_img_hook() {
432
+ if (seopress_social_twitter_card_option() =='1') {
433
+ if (seopress_social_twitter_img_post_option() !='') {
434
+ if (seopress_social_twitter_img_size_option() =='large') {
435
+ echo '<meta name="twitter:image:src" content="'.seopress_social_twitter_img_post_option().'" />';
436
+ echo "\n";
437
+ } else {
438
+ echo '<meta name="twitter:image" content="'.seopress_social_twitter_img_post_option().'" />';
439
+ echo "\n";
440
+ }
441
+ } elseif (has_post_thumbnail()) {
442
+ if (seopress_social_twitter_img_size_option() =='large') {
443
+ echo '<meta name="twitter:image:src" content="'.get_the_post_thumbnail_url().'" />';
444
+ echo "\n";
445
+ } else {
446
+ echo '<meta name="twitter:image" content="'.get_the_post_thumbnail_url().'" />';
447
+ echo "\n";
448
+ }
449
+ } elseif (seopress_social_twitter_img_option() !='') {
450
+ if (seopress_social_twitter_img_size_option() =='large') {
451
+ echo '<meta name="twitter:image:src" content="'.seopress_social_twitter_img_option().'" />';
452
+ echo "\n";
453
+ } else {
454
+ echo '<meta name="twitter:image" content="'.seopress_social_twitter_img_option().'" />';
455
+ echo "\n";
456
+ }
457
+ }
458
+ }
459
+ };
460
+ add_action( 'wp_head', 'seopress_social_twitter_img_hook', 1 );
461
+
462
+
inc/functions/options-titles-metas.php ADDED
@@ -0,0 +1,613 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
+
4
+ //Titles & metas
5
+ //=================================================================================================
6
+ //Titles
7
+ //IF WP Site is public
8
+ if (get_option('blog_public') =='1') {
9
+ //Titles & Metas
10
+
11
+ //Homepage Title
12
+ function seopress_titles_home_site_title_option() {
13
+ $seopress_titles_home_site_title_option = get_option("seopress_titles_option_name");
14
+ if ( ! empty ( $seopress_titles_home_site_title_option ) ) {
15
+ foreach ($seopress_titles_home_site_title_option as $key => $seopress_titles_home_site_title_value)
16
+ $options[$key] = $seopress_titles_home_site_title_value;
17
+ if (isset($seopress_titles_home_site_title_option['seopress_titles_home_site_title'])) {
18
+ return $seopress_titles_home_site_title_option['seopress_titles_home_site_title'];
19
+ }
20
+ }
21
+ };
22
+
23
+ //Single CPT Titles
24
+ function seopress_titles_single_titles_option() {
25
+ global $post;
26
+ $seopress_get_current_cpt = get_post_type($post);
27
+
28
+ $seopress_titles_single_titles_option = get_option("seopress_titles_option_name");
29
+ if ( ! empty ( $seopress_titles_single_titles_option ) ) {
30
+ foreach ($seopress_titles_single_titles_option as $key => $seopress_titles_single_titles_value)
31
+ $options[$key] = $seopress_titles_single_titles_value;
32
+ if (isset($seopress_titles_single_titles_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['title'])) {
33
+ return $seopress_titles_single_titles_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['title'];
34
+ }
35
+ }
36
+ };
37
+
38
+ //Tax archives Titles
39
+ function seopress_titles_tax_titles_option() {
40
+ $queried_object = get_queried_object();
41
+ $seopress_get_current_tax = $queried_object->taxonomy;
42
+
43
+ $seopress_titles_tax_titles_option = get_option("seopress_titles_option_name");
44
+ if ( ! empty ( $seopress_titles_tax_titles_option ) ) {
45
+ foreach ($seopress_titles_tax_titles_option as $key => $seopress_titles_tax_titles_value)
46
+ $options[$key] = $seopress_titles_tax_titles_value;
47
+ if (isset($seopress_titles_tax_titles_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['title'])) {
48
+ return $seopress_titles_tax_titles_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['title'];
49
+ }
50
+ }
51
+ };
52
+
53
+ //Author archive Titles
54
+ function seopress_titles_archives_author_title_option() {
55
+ $seopress_titles_archives_author_title_option = get_option("seopress_titles_option_name");
56
+ if ( ! empty ( $seopress_titles_archives_author_title_option ) ) {
57
+ foreach ($seopress_titles_archives_author_title_option as $key => $seopress_titles_archives_author_title_value)
58
+ $options[$key] = $seopress_titles_archives_author_title_value;
59
+ if (isset($seopress_titles_archives_author_title_option['seopress_titles_archives_author_title'])) {
60
+ return $seopress_titles_archives_author_title_option['seopress_titles_archives_author_title'];
61
+ }
62
+ }
63
+ };
64
+
65
+ //Date archive Titles
66
+ function seopress_titles_archives_date_title_option() {
67
+ $seopress_titles_archives_date_title_option = get_option("seopress_titles_option_name");
68
+ if ( ! empty ( $seopress_titles_archives_date_title_option ) ) {
69
+ foreach ($seopress_titles_archives_date_title_option as $key => $seopress_titles_archives_date_title_value)
70
+ $options[$key] = $seopress_titles_archives_date_title_value;
71
+ if (isset($seopress_titles_archives_date_title_option['seopress_titles_archives_date_title'])) {
72
+ return $seopress_titles_archives_date_title_option['seopress_titles_archives_date_title'];
73
+ }
74
+ }
75
+ };
76
+
77
+ //Search archive Titles
78
+ function seopress_titles_archives_search_title_option() {
79
+ $seopress_titles_archives_search_title_option = get_option("seopress_titles_option_name");
80
+ if ( ! empty ( $seopress_titles_archives_search_title_option ) ) {
81
+ foreach ($seopress_titles_archives_search_title_option as $key => $seopress_titles_archives_search_title_value)
82
+ $options[$key] = $seopress_titles_archives_search_title_value;
83
+ if (isset($seopress_titles_archives_search_title_option['seopress_titles_archives_search_title'])) {
84
+ return $seopress_titles_archives_search_title_option['seopress_titles_archives_search_title'];
85
+ }
86
+ }
87
+ };
88
+
89
+ //404 archive Titles
90
+ function seopress_titles_archives_404_title_option() {
91
+ $seopress_titles_archives_404_title_option = get_option("seopress_titles_option_name");
92
+ if ( ! empty ( $seopress_titles_archives_404_title_option ) ) {
93
+ foreach ($seopress_titles_archives_404_title_option as $key => $seopress_titles_archives_404_title_value)
94
+ $options[$key] = $seopress_titles_archives_404_title_value;
95
+ if (isset($seopress_titles_archives_404_title_option['seopress_titles_archives_404_title'])) {
96
+ return $seopress_titles_archives_404_title_option['seopress_titles_archives_404_title'];
97
+ }
98
+ }
99
+ };
100
+
101
+ //Paged archive Titles
102
+ function seopress_titles_archives_paged_title_option() {
103
+ $seopress_titles_archives_paged_title_option = get_option("seopress_titles_option_name");
104
+ if ( ! empty ( $seopress_titles_archives_paged_title_option ) ) {
105
+ foreach ($seopress_titles_archives_paged_title_option as $key => $seopress_titles_archives_paged_title_value)
106
+ $options[$key] = $seopress_titles_archives_paged_title_value;
107
+ if (isset($seopress_titles_archives_paged_title_option['seopress_titles_archives_paged_title'])) {
108
+ return $seopress_titles_archives_paged_title_option['seopress_titles_archives_paged_title'];
109
+ }
110
+ }
111
+ };
112
+
113
+ //Homepage Description
114
+ function seopress_titles_home_site_desc_option() {
115
+ $seopress_titles_home_site_desc_option = get_option("seopress_titles_option_name");
116
+ if ( ! empty ( $seopress_titles_home_site_desc_option ) ) {
117
+ foreach ($seopress_titles_home_site_desc_option as $key => $seopress_titles_home_site_desc_value)
118
+ $options[$key] = $seopress_titles_home_site_desc_value;
119
+ if (isset($seopress_titles_home_site_desc_option['seopress_titles_home_site_desc'])) {
120
+ return $seopress_titles_home_site_desc_option['seopress_titles_home_site_desc'];
121
+ }
122
+ }
123
+ };
124
+
125
+ //Single CPT Description
126
+ function seopress_titles_single_desc_option() {
127
+ global $post;
128
+ $seopress_get_current_cpt = get_post_type($post);
129
+
130
+ $seopress_titles_single_desc_option = get_option("seopress_titles_option_name");
131
+ if ( ! empty ( $seopress_titles_single_desc_option ) ) {
132
+ foreach ($seopress_titles_single_desc_option as $key => $seopress_titles_single_desc_value)
133
+ $options[$key] = $seopress_titles_single_desc_value;
134
+ if (isset($seopress_titles_single_desc_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['description'])) {
135
+ return $seopress_titles_single_desc_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['description'];
136
+ }
137
+ }
138
+ };
139
+
140
+ //Tax archives Desc
141
+ function seopress_titles_tax_desc_option() {
142
+ $queried_object = get_queried_object();
143
+ $seopress_get_current_tax = $queried_object->taxonomy;
144
+
145
+ $seopress_titles_tax_desc_option = get_option("seopress_titles_option_name");
146
+ if ( ! empty ( $seopress_titles_tax_desc_option ) ) {
147
+ foreach ($seopress_titles_tax_desc_option as $key => $seopress_titles_tax_desc_value)
148
+ $options[$key] = $seopress_titles_tax_desc_value;
149
+ if (isset($seopress_titles_tax_desc_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['description'])) {
150
+ return $seopress_titles_tax_desc_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['description'];
151
+ }
152
+ }
153
+ };
154
+
155
+ //Author archives Desc
156
+ function seopress_titles_archives_author_desc_option() {
157
+ $seopress_titles_archives_author_desc_option = get_option("seopress_titles_option_name");
158
+ if ( ! empty ( $seopress_titles_archives_author_desc_option ) ) {
159
+ foreach ($seopress_titles_archives_author_desc_option as $key => $seopress_titles_archives_author_desc_value)
160
+ $options[$key] = $seopress_titles_archives_author_desc_value;
161
+ if (isset($seopress_titles_archives_author_desc_option['seopress_titles_archives_author_desc'])) {
162
+ return $seopress_titles_archives_author_desc_option['seopress_titles_archives_author_desc'];
163
+ }
164
+ }
165
+ };
166
+
167
+ //Date archives Desc
168
+ function seopress_titles_archives_date_desc_option() {
169
+ $seopress_titles_archives_date_desc_option = get_option("seopress_titles_option_name");
170
+ if ( ! empty ( $seopress_titles_archives_date_desc_option ) ) {
171
+ foreach ($seopress_titles_archives_date_desc_option as $key => $seopress_titles_archives_date_desc_value)
172
+ $options[$key] = $seopress_titles_archives_date_desc_value;
173
+ if (isset($seopress_titles_archives_date_desc_option['seopress_titles_archives_date_desc'])) {
174
+ return $seopress_titles_archives_date_desc_option['seopress_titles_archives_date_desc'];
175
+ }
176
+ }
177
+ };
178
+
179
+ //Search archives Desc
180
+ function seopress_titles_archives_search_desc_option() {
181
+ $seopress_titles_archives_search_desc_option = get_option("seopress_titles_option_name");
182
+ if ( ! empty ( $seopress_titles_archives_search_desc_option ) ) {
183
+ foreach ($seopress_titles_archives_search_desc_option as $key => $seopress_titles_archives_search_desc_value)
184
+ $options[$key] = $seopress_titles_archives_search_desc_value;
185
+ if (isset($seopress_titles_archives_search_desc_option['seopress_titles_archives_search_desc'])) {
186
+ return $seopress_titles_archives_search_desc_option['seopress_titles_archives_search_desc'];
187
+ }
188
+ }
189
+ };
190
+
191
+ //404 archives Desc
192
+ function seopress_titles_archives_404_desc_option() {
193
+ $seopress_titles_archives_404_desc_option = get_option("seopress_titles_option_name");
194
+ if ( ! empty ( $seopress_titles_archives_404_desc_option ) ) {
195
+ foreach ($seopress_titles_archives_404_desc_option as $key => $seopress_titles_archives_404_desc_value)
196
+ $options[$key] = $seopress_titles_archives_404_desc_value;
197
+ if (isset($seopress_titles_archives_404_desc_option['seopress_titles_archives_404_desc'])) {
198
+ return $seopress_titles_archives_404_desc_option['seopress_titles_archives_404_desc'];
199
+ }
200
+ }
201
+ };
202
+
203
+ //Paged archives Desc
204
+ function seopress_titles_archives_paged_desc_option() {
205
+ $seopress_titles_archives_paged_desc_option = get_option("seopress_titles_option_name");
206
+ if ( ! empty ( $seopress_titles_archives_paged_desc_option ) ) {
207
+ foreach ($seopress_titles_archives_paged_desc_option as $key => $seopress_titles_archives_paged_desc_value)
208
+ $options[$key] = $seopress_titles_archives_paged_desc_value;
209
+ if (isset($seopress_titles_archives_paged_desc_option['seopress_titles_archives_paged_desc'])) {
210
+ return $seopress_titles_archives_paged_desc_option['seopress_titles_archives_paged_desc'];
211
+ }
212
+ }
213
+ };
214
+
215
+ //THE Title Tag
216
+ function seopress_titles_the_title() {
217
+ global $post;
218
+ if (is_singular()) { //IS SINGULAR
219
+ if (get_post_meta($post->ID,'_seopress_titles_title',true)) { //IS METABOXE
220
+ $seopress_titles_the_title = get_post_meta($post->ID,'_seopress_titles_title',true);
221
+ return $seopress_titles_the_title;
222
+ }
223
+ else { //DEFAULT GLOBAL
224
+ return seopress_titles_single_titles_option();
225
+ }
226
+ } elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_tax_titles_option()) { //IS TAX
227
+ return seopress_titles_tax_titles_option();
228
+ } elseif (is_author() && seopress_titles_archives_author_title_option()) { //IS AUTHOR
229
+ return seopress_titles_archives_author_title_option();
230
+ } elseif (is_date() && seopress_titles_archives_date_title_option()) { //IS DATE
231
+ return seopress_titles_archives_date_title_option();
232
+ } elseif (is_search() && seopress_titles_archives_search_title_option()) { //IS SEARCH
233
+ return seopress_titles_archives_search_title_option();
234
+ } elseif (is_404() && seopress_titles_archives_404_title_option()) { //IS 404
235
+ return seopress_titles_archives_404_title_option();
236
+ } elseif (is_paged() && seopress_titles_archives_paged_title_option()) { //IS PAGED
237
+ return seopress_titles_archives_paged_title_option();
238
+ } elseif (is_home() || is_front_page()) { //HOMEPAGE
239
+ if (seopress_titles_home_site_title_option() !='') {
240
+ $seopress_titles_the_title = seopress_titles_home_site_title_option();
241
+ return $seopress_titles_the_title;
242
+ }
243
+ }
244
+ }
245
+ add_filter( 'pre_get_document_title', 'seopress_titles_the_title', 10 );
246
+
247
+ //THE Meta Description
248
+ function seopress_titles_the_description() {
249
+ global $post;
250
+ if (is_singular()) { //IS SINGLE
251
+ if (get_post_meta($post->ID,'_seopress_titles_desc',true)) { //IS METABOXE
252
+ $seopress_titles_the_description_meta = get_post_meta($post->ID,'_seopress_titles_desc',true);
253
+ $seopress_titles_the_description .= '<meta name="description" content="'.$seopress_titles_the_description_meta.'" />';
254
+ $seopress_titles_the_description .= "\n";
255
+ echo $seopress_titles_the_description;
256
+ } elseif (seopress_titles_single_desc_option() !='') { //IS GLOBAL
257
+ $seopress_titles_the_description .= '<meta name="description" content="'.seopress_titles_single_desc_option().'" />';
258
+ $seopress_titles_the_description .= "\n";
259
+ echo $seopress_titles_the_description;
260
+ } else { //DEFAULT EXCERPT OR THE CONTENT
261
+ setup_postdata( $post );
262
+ $seopress_titles_the_description .= '<meta name="description" content="'.wp_trim_words(esc_html(get_the_excerpt()), 30).'" />';
263
+ $seopress_titles_the_description .= "\n";
264
+ echo $seopress_titles_the_description;
265
+ }
266
+ } elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_tax_desc_option()) { //IS TAX
267
+ $seopress_titles_the_description .= '<meta name="description" content="'.seopress_titles_tax_desc_option().'" />';
268
+ $seopress_titles_the_description .= "\n";
269
+ echo $seopress_titles_the_description;
270
+ } elseif (is_author() && seopress_titles_archives_author_desc_option()) { //IS AUTHOR
271
+ $seopress_titles_the_description .= '<meta name="description" content="'.seopress_titles_archives_author_desc_option().'" />';
272
+ $seopress_titles_the_description .= "\n";
273
+ echo $seopress_titles_the_description;
274
+ } elseif (is_date() && seopress_titles_archives_date_desc_option()) { //IS DATE
275
+ $seopress_titles_the_description .= '<meta name="description" content="'.seopress_titles_archives_date_desc_option().'" />';
276
+ $seopress_titles_the_description .= "\n";
277
+ echo $seopress_titles_the_description;
278
+ } elseif (is_search() && seopress_titles_archives_search_desc_option()) { //IS SEARCH
279
+ $seopress_titles_the_description .= '<meta name="description" content="'.seopress_titles_archives_search_desc_option().'" />';
280
+ $seopress_titles_the_description .= "\n";
281
+ echo $seopress_titles_the_description;
282
+ } elseif (is_404() && seopress_titles_archives_404_desc_option()) { //IS 404
283
+ $seopress_titles_the_description .= '<meta name="description" content="'.seopress_titles_archives_404_desc_option().'" />';
284
+ $seopress_titles_the_description .= "\n";
285
+ echo $seopress_titles_the_description;
286
+ } elseif (is_paged() && seopress_titles_archives_paged_desc_option()) { //IS PAGED
287
+ $seopress_titles_the_description .= '<meta name="description" content="'.seopress_titles_archives_paged_desc_option().'" />';
288
+ $seopress_titles_the_description .= "\n";
289
+ echo $seopress_titles_the_description;
290
+ } elseif (is_home() || is_front_page()) { //HOMEPAGE
291
+ if (seopress_titles_home_site_desc_option() !='') { //IS GLOBAL
292
+ $seopress_titles_the_description .= '<meta name="description" content="'.seopress_titles_home_site_desc_option().'" />';
293
+ $seopress_titles_the_description .= "\n";
294
+ echo $seopress_titles_the_description;
295
+ }
296
+ }
297
+ }
298
+ add_action( 'wp_head', 'seopress_titles_the_description', 1 );
299
+
300
+ //Advanced
301
+ //noindex
302
+ //Single CPT noindex
303
+ function seopress_titles_single_cpt_noindex_option() {
304
+ global $post;
305
+ $seopress_get_current_cpt = get_post_type($post);
306
+
307
+ $seopress_titles_single_cpt_noindex_option = get_option("seopress_titles_option_name");
308
+ if ( ! empty ( $seopress_titles_single_cpt_noindex_option ) ) {
309
+ foreach ($seopress_titles_single_cpt_noindex_option as $key => $seopress_titles_single_cpt_noindex_value)
310
+ $options[$key] = $seopress_titles_single_cpt_noindex_value;
311
+ if (isset($seopress_titles_single_cpt_noindex_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['noindex'])) {
312
+ return $seopress_titles_single_cpt_noindex_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['noindex'];
313
+ }
314
+ }
315
+ };
316
+
317
+ //Tax archive noindex
318
+ function seopress_titles_tax_noindex_option() {
319
+ $queried_object = get_queried_object();
320
+ $seopress_get_current_tax = $queried_object->taxonomy;
321
+
322
+ $seopress_titles_tax_noindex_option = get_option("seopress_titles_option_name");
323
+ if ( ! empty ( $seopress_titles_tax_noindex_option ) ) {
324
+ foreach ($seopress_titles_tax_noindex_option as $key => $seopress_titles_tax_noindex_value)
325
+ $options[$key] = $seopress_titles_tax_noindex_value;
326
+ if (isset($seopress_titles_tax_noindex_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['noindex'])) {
327
+ return $seopress_titles_tax_noindex_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['noindex'];
328
+ }
329
+ }
330
+ };
331
+
332
+ //noindex Global Advanced tab
333
+ function seopress_titles_noindex_option() {
334
+ $seopress_titles_noindex_option = get_option("seopress_titles_option_name");
335
+ if ( ! empty ( $seopress_titles_noindex_option ) ) {
336
+ foreach ($seopress_titles_noindex_option as $key => $seopress_titles_noindex_value)
337
+ $options[$key] = $seopress_titles_noindex_value;
338
+ if (isset($seopress_titles_noindex_option['seopress_titles_noindex'])) {
339
+ return $seopress_titles_noindex_option['seopress_titles_noindex'];
340
+ }
341
+ }
342
+ };
343
+
344
+ function seopress_titles_noindex_post_option() {
345
+ $_seopress_robots_index = get_post_meta(get_the_ID(),'_seopress_robots_index',true);
346
+ if ($_seopress_robots_index == 'yes') {
347
+ return $_seopress_robots_index;
348
+ }
349
+ };
350
+
351
+ function seopress_titles_noindex_bypass() {
352
+ if (seopress_titles_noindex_option()) { //Single CPT Global Advanced tab
353
+ return seopress_titles_noindex_option();
354
+ } elseif (is_singular() && seopress_titles_single_cpt_noindex_option()) { //Single CPT Global
355
+ return seopress_titles_single_cpt_noindex_option();
356
+ } elseif (is_singular() && seopress_titles_noindex_post_option() ) { //Single CPT Metaboxe
357
+ return seopress_titles_noindex_post_option();
358
+ } elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_tax_noindex_option()) { //IS TAX
359
+ return seopress_titles_tax_noindex_option();
360
+ }
361
+ };
362
+
363
+ //nofollow
364
+ //Single CPT nofollow
365
+ function seopress_titles_single_cpt_nofollow_option() {
366
+ global $post;
367
+ $seopress_get_current_cpt = get_post_type($post);
368
+
369
+ $seopress_titles_single_cpt_nofollow_option = get_option("seopress_titles_option_name");
370
+ if ( ! empty ( $seopress_titles_single_cpt_nofollow_option ) ) {
371
+ foreach ($seopress_titles_single_cpt_nofollow_option as $key => $seopress_titles_single_cpt_nofollow_value)
372
+ $options[$key] = $seopress_titles_single_cpt_nofollow_value;
373
+ if (isset($seopress_titles_single_cpt_nofollow_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['nofollow'])) {
374
+ return $seopress_titles_single_cpt_nofollow_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['nofollow'];
375
+ }
376
+ }
377
+ };
378
+
379
+ //Tax archive nofollow
380
+ function seopress_titles_tax_nofollow_option() {
381
+ $queried_object = get_queried_object();
382
+ $seopress_get_current_tax = $queried_object->taxonomy;
383
+
384
+ $seopress_titles_tax_nofollow_option = get_option("seopress_titles_option_name");
385
+ if ( ! empty ( $seopress_titles_tax_nofollow_option ) ) {
386
+ foreach ($seopress_titles_tax_nofollow_option as $key => $seopress_titles_tax_nofollow_value)
387
+ $options[$key] = $seopress_titles_tax_nofollow_value;
388
+ if (isset($seopress_titles_tax_nofollow_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['nofollow'])) {
389
+ return $seopress_titles_tax_nofollow_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['nofollow'];
390
+ }
391
+ }
392
+ };
393
+
394
+ function seopress_titles_nofollow_option() {
395
+ $seopress_titles_nofollow_option = get_option("seopress_titles_option_name");
396
+ if ( ! empty ( $seopress_titles_nofollow_option ) ) {
397
+ foreach ($seopress_titles_nofollow_option as $key => $seopress_titles_nofollow_value)
398
+ $options[$key] = $seopress_titles_nofollow_value;
399
+ if (isset($seopress_titles_nofollow_option['seopress_titles_nofollow'])) {
400
+ return $seopress_titles_nofollow_option['seopress_titles_nofollow'];
401
+ }
402
+ }
403
+ };
404
+
405
+ function seopress_titles_nofollow_post_option() {
406
+ $_seopress_robots_follow = get_post_meta(get_the_ID(),'_seopress_robots_follow',true);
407
+ if ($_seopress_robots_follow == 'yes') {
408
+ return $_seopress_robots_follow;
409
+ }
410
+ };
411
+
412
+ function seopress_titles_nofollow_bypass() {
413
+ if (seopress_titles_nofollow_option()) { //Single CPT Global Advanced tab
414
+ return seopress_titles_nofollow_option();
415
+ } elseif (is_singular() && seopress_titles_single_cpt_nofollow_option()) { //Single CPT Global
416
+ return seopress_titles_single_cpt_nofollow_option();
417
+ } elseif (is_singular() && seopress_titles_nofollow_post_option() ) { //Single CPT Metaboxe
418
+ return seopress_titles_nofollow_post_option();
419
+ } elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_tax_nofollow_option()) { //IS TAX
420
+ return seopress_titles_tax_nofollow_option();
421
+ }
422
+ };
423
+
424
+ //noodp
425
+ function seopress_titles_noodp_option() {
426
+ $seopress_titles_noodp_option = get_option("seopress_titles_option_name");
427
+ if ( ! empty ( $seopress_titles_noodp_option ) ) {
428
+ foreach ($seopress_titles_noodp_option as $key => $seopress_titles_noodp_value)
429
+ $options[$key] = $seopress_titles_noodp_value;
430
+ if (isset($seopress_titles_noodp_option['seopress_titles_noodp'])) {
431
+ return $seopress_titles_noodp_option['seopress_titles_noodp'];
432
+ }
433
+ }
434
+ };
435
+
436
+ function seopress_titles_noodp_post_option() {
437
+ $_seopress_robots_odp = get_post_meta(get_the_ID(),'_seopress_robots_odp',true);
438
+ if ($_seopress_robots_odp == 'yes') {
439
+ return $_seopress_robots_odp;
440
+ }
441
+ };
442
+
443
+ function seopress_titles_noodp_bypass() {
444
+ if (seopress_titles_noodp_option()) {
445
+ return seopress_titles_noodp_option();
446
+ }
447
+ elseif (is_singular() && seopress_titles_noodp_post_option()) {
448
+ return seopress_titles_noodp_post_option();
449
+ }
450
+ };
451
+
452
+ //noarchive
453
+ function seopress_titles_noarchive_option() {
454
+ $seopress_titles_noarchive_option = get_option("seopress_titles_option_name");
455
+ if ( ! empty ( $seopress_titles_noarchive_option ) ) {
456
+ foreach ($seopress_titles_noarchive_option as $key => $seopress_titles_noarchive_value)
457
+ $options[$key] = $seopress_titles_noarchive_value;
458
+ if (isset($seopress_titles_noarchive_option['seopress_titles_noarchive'])) {
459
+ return $seopress_titles_noarchive_option['seopress_titles_noarchive'];
460
+ }
461
+ }
462
+ };
463
+
464
+ function seopress_titles_noarchive_post_option() {
465
+ $_seopress_robots_archive = get_post_meta(get_the_ID(),'_seopress_robots_archive',true);
466
+ if ($_seopress_robots_archive == 'yes') {
467
+ return $_seopress_robots_archive;
468
+ }
469
+ };
470
+
471
+ function seopress_titles_noarchive_bypass() {
472
+ if (seopress_titles_noarchive_option()) {
473
+ return seopress_titles_noarchive_option();
474
+ }
475
+ elseif (is_singular() && seopress_titles_noarchive_post_option()) {
476
+ return seopress_titles_noarchive_post_option();
477
+ }
478
+ };
479
+
480
+ //nosnippet
481
+ function seopress_titles_nosnippet_option() {
482
+ $seopress_titles_nosnippet_option = get_option("seopress_titles_option_name");
483
+ if ( ! empty ( $seopress_titles_nosnippet_option ) ) {
484
+ foreach ($seopress_titles_nosnippet_option as $key => $seopress_titles_nosnippet_value)
485
+ $options[$key] = $seopress_titles_nosnippet_value;
486
+ if (isset($seopress_titles_nosnippet_option['seopress_titles_nosnippet'])) {
487
+ return $seopress_titles_nosnippet_option['seopress_titles_nosnippet'];
488
+ }
489
+ }
490
+ };
491
+
492
+ function seopress_titles_nosnippet_post_option() {
493
+ $_seopress_robots_snippet = get_post_meta(get_the_ID(),'_seopress_robots_snippet',true);
494
+ if ($_seopress_robots_snippet == 'yes') {
495
+ return $_seopress_robots_snippet;
496
+ }
497
+ };
498
+
499
+ function seopress_titles_nosnippet_bypass() {
500
+ if (seopress_titles_nosnippet_option()) {
501
+ return seopress_titles_nosnippet_option();
502
+ }
503
+ elseif (is_singular() && seopress_titles_nosnippet_post_option()) {
504
+ return seopress_titles_nosnippet_post_option();
505
+ }
506
+ };
507
+
508
+ if (seopress_titles_noindex_bypass() || seopress_titles_nofollow_bypass() || seopress_titles_noodp_bypass() || seopress_titles_noarchive_bypass() || seopress_titles_nosnippet_bypass() ) {
509
+ function seopress_titles_advanced_robots_hook() {
510
+
511
+ $seopress_comma_array = array();
512
+
513
+ if (seopress_titles_noindex_bypass() !='') {
514
+ $seopress_titles_noindex = 'noindex';
515
+ array_push($seopress_comma_array, $seopress_titles_noindex);
516
+ }
517
+ if (seopress_titles_nofollow_bypass() !='') {
518
+ $seopress_titles_nofollow = 'nofollow';
519
+ array_push($seopress_comma_array, $seopress_titles_nofollow);
520
+ }
521
+ if (seopress_titles_noodp_bypass() !='') {
522
+ $seopress_titles_noodp = 'noodp';
523
+ array_push($seopress_comma_array, $seopress_titles_noodp);
524
+ }
525
+ if (seopress_titles_noarchive_bypass() !='') {
526
+ $seopress_titles_noarchive = 'noarchive';
527
+ array_push($seopress_comma_array, $seopress_titles_noarchive);
528
+ }
529
+ if (seopress_titles_nosnippet_bypass() !='') {
530
+ $seopress_titles_nosnippet = 'nosnippet';
531
+ array_push($seopress_comma_array, $seopress_titles_nosnippet);
532
+ }
533
+
534
+ echo '<meta name="robots" content="';
535
+
536
+ $seopress_comma_count = count($seopress_comma_array);
537
+ for ($i = 0; $i < $seopress_comma_count; $i++) {
538
+ echo $seopress_comma_array[$i];
539
+ if ($i < ($seopress_comma_count - 1)) {
540
+ echo ', ';
541
+ }
542
+ }
543
+
544
+ echo '" />';
545
+ echo "\n";
546
+ }
547
+ add_action( 'wp_head', 'seopress_titles_advanced_robots_hook', 1 );
548
+ };
549
+
550
+ //noimageindex
551
+ function seopress_titles_noimageindex_option() {
552
+ $seopress_titles_noimageindex_option = get_option("seopress_titles_option_name");
553
+ if ( ! empty ( $seopress_titles_noimageindex_option ) ) {
554
+ foreach ($seopress_titles_noimageindex_option as $key => $seopress_titles_noimageindex_value)
555
+ $options[$key] = $seopress_titles_noimageindex_value;
556
+ if (isset($seopress_titles_noimageindex_option['seopress_titles_noimageindex'])) {
557
+ return $seopress_titles_noimageindex_option['seopress_titles_noimageindex'];
558
+ }
559
+ }
560
+ };
561
+
562
+ function seopress_titles_noimageindex_post_option() {
563
+ $_seopress_robots_imageindex = get_post_meta(get_the_ID(),'_seopress_robots_imageindex',true);
564
+ if ($_seopress_robots_imageindex == 'yes') {
565
+ return $_seopress_robots_imageindex;
566
+ }
567
+ };
568
+
569
+ function seopress_titles_noimageindex_bypass() {
570
+ if (seopress_titles_noimageindex_option()) {
571
+ return seopress_titles_noimageindex_option();
572
+ }
573
+ else {
574
+ return seopress_titles_noimageindex_post_option();
575
+ }
576
+ };
577
+
578
+ if (seopress_titles_noimageindex_bypass()) {
579
+ function seopress_titles_advanced_google_hook() {
580
+ $seopress_titles_noimageindex = '<meta name="google" content="noimageindex" />';
581
+ echo $seopress_titles_noimageindex."\n";
582
+ }
583
+ add_action( 'wp_head', 'seopress_titles_advanced_google_hook', 1 );
584
+ };
585
+ } //END blog_public
586
+
587
+ //canonical
588
+ function seopress_titles_canonical_post_option() {
589
+ $_seopress_robots_canonical = get_post_meta(get_the_ID(),'_seopress_robots_canonical',true);
590
+ if ($_seopress_robots_canonical != '') {
591
+ return $_seopress_robots_canonical;
592
+ }
593
+ };
594
+
595
+ if (seopress_titles_canonical_post_option()) {
596
+ function seopress_titles_canonical_post_hook() {
597
+ $seopress_titles_canonical = '<meta name="canonical" href="'.seopress_titles_canonical_post_option().'" />';
598
+ echo $seopress_titles_canonical."\n";
599
+ }
600
+ add_action( 'wp_head', 'seopress_titles_canonical_post_hook', 1 );
601
+ } else {
602
+ function seopress_titles_canonical_hook() {
603
+ global $wp;
604
+ $current_url = home_url(add_query_arg(array(), $wp->request));
605
+ if (is_search()) {
606
+ $seopress_titles_canonical = '<meta name="canonical" href="'.get_site_url().'/search/'.get_search_query().'" />';
607
+ } else {
608
+ $seopress_titles_canonical = '<meta name="canonical" href="'.$current_url.'" />';
609
+ }
610
+ echo $seopress_titles_canonical."\n";
611
+ }
612
+ add_action( 'wp_head', 'seopress_titles_canonical_hook', 1 );
613
+ }
inc/functions/options.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
+
4
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
5
+ //SEOPRESS Core
6
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
7
+
8
+ //Import / Export tool
9
+ add_action('init', 'seopress_enable', 999);
10
+ function seopress_enable() {
11
+ if (is_admin()){
12
+ require_once ( dirname( __FILE__ ) . '/options-import-export.php'); //Import Export
13
+ }
14
+ }
15
+
16
+ //Front END - Titles & metas
17
+ add_action('wp_head', 'seopress_load_titles_options', 0);
18
+ function seopress_load_titles_options() {
19
+ if (!is_admin()){
20
+ require_once ( dirname( __FILE__ ) . '/options-titles-metas.php'); //Titles & metas
21
+ require_once ( dirname( __FILE__ ) . '/options-social.php'); //Social
22
+ }
23
+ }
24
+
25
+ add_action('init', 'seopress_load_sitemap', 999);
26
+ function seopress_load_sitemap() {
27
+ require_once ( dirname( __FILE__ ) . '/options-sitemap.php'); //XML Sitemap
28
+ }
29
+
inc/functions/sitemap/template-xml-sitemaps-single-term.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
+
4
+ Header('Content-type: text/xml');
5
+
6
+ function seopress_xml_sitemap_single_term() {
7
+ $path = basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
8
+ $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
9
+ $seopress_sitemaps .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
10
+ //foreach (seopress_xml_sitemap_post_types_list_option() as $cpt_key => $cpt_value) {
11
+ // foreach ($cpt_value as $_cpt_key => $_cpt_value) {
12
+ // if($_cpt_value =='1') {
13
+ $args = array('taxonomy' => $path,'hide_empty' => false);
14
+ $termslist = get_terms( $args );
15
+ foreach ( $termslist as $term ) {
16
+ $seopress_sitemaps .= '<url>';
17
+ $seopress_sitemaps .= '<loc>';
18
+ $seopress_sitemaps .= esc_url(get_term_link($term));
19
+ $seopress_sitemaps .= '</loc>';
20
+ $seopress_sitemaps .= '</url>';
21
+ }
22
+ // }
23
+ // }
24
+ //}
25
+ $seopress_sitemaps .= '</urlset>';
26
+ return $seopress_sitemaps;
27
+ }
28
+ echo seopress_xml_sitemap_single_term();
29
+ ?>
inc/functions/sitemap/template-xml-sitemaps-single.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
+
4
+ Header('Content-type: text/xml');
5
+
6
+ function seopress_xml_sitemap_single() {
7
+ $path = basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
8
+ $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
9
+ $seopress_sitemaps .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
10
+ //foreach (seopress_xml_sitemap_post_types_list_option() as $cpt_key => $cpt_value) {
11
+ // foreach ($cpt_value as $_cpt_key => $_cpt_value) {
12
+ // if($_cpt_value =='1') {
13
+ $args = array( 'posts_per_page' => -1, 'order'=> 'ASC', 'orderby' => 'modified', 'post_type' => $path, 'post_status' => 'publish' );
14
+ $postslist = get_posts( $args );
15
+ foreach ( $postslist as $post ) {
16
+ setup_postdata( $post );
17
+ $seopress_sitemaps .= '<url>';
18
+ $seopress_sitemaps .= '<loc>';
19
+ $seopress_sitemaps .= get_permalink($post);
20
+ $seopress_sitemaps .= '</loc>';
21
+ $seopress_sitemaps .= '<lastmod>';
22
+ $seopress_sitemaps .= $post->post_modified_gmt;
23
+ $seopress_sitemaps .= '';
24
+ $seopress_sitemaps .= '</lastmod>';
25
+ $seopress_sitemaps .= '</url>';
26
+ }
27
+ wp_reset_postdata();
28
+ // }
29
+ // }
30
+ //}
31
+ $seopress_sitemaps .= '</urlset>';
32
+ return $seopress_sitemaps;
33
+ }
34
+ echo seopress_xml_sitemap_single();
35
+ ?>
inc/functions/sitemap/template-xml-sitemaps.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
+
4
+ //XML
5
+ Header('Content-type: text/xml');
6
+
7
+ //Robots
8
+ Header("X-Robots-Tag: noindex", true);
9
+
10
+ function seopress_xml_sitemap_index() {
11
+ $seopress_sitemaps ='<?xml version="1.0" encoding="UTF-8"?>';
12
+ $seopress_sitemaps .='<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
13
+
14
+ //CPT
15
+ if (seopress_xml_sitemap_post_types_list_option() !='') {
16
+ foreach (seopress_xml_sitemap_post_types_list_option() as $cpt_key => $cpt_value) {
17
+ foreach ($cpt_value as $_cpt_key => $_cpt_value) {
18
+ if($_cpt_value =='1') {
19
+ $seopress_sitemaps .= '<sitemap>';
20
+ $seopress_sitemaps .= '<loc>';
21
+ $seopress_sitemaps .= home_url().'/sitemaps/'.$cpt_key;
22
+ $seopress_sitemaps .= '</loc>';
23
+ $seopress_sitemaps .= '<lastmod>';
24
+
25
+ $get_latest_post = new WP_Query(array('post_type' => $cpt_key, 'post_status' => 'publish', 'posts_per_page' => 1, 'orderby' => 'modified', 'order' => 'ASC'));
26
+ if($get_latest_post->have_posts()){
27
+ $seopress_sitemaps .= $get_latest_post->posts[0]->post_modified_gmt;
28
+ }
29
+
30
+ $seopress_sitemaps .= '</lastmod>';
31
+ $seopress_sitemaps .= '</sitemap>';
32
+ }
33
+ }
34
+ }
35
+ }
36
+
37
+ //Taxonomies
38
+ if (seopress_xml_sitemap_taxonomies_list_option() !='') {
39
+ foreach (seopress_xml_sitemap_taxonomies_list_option() as $tax_key => $tax_value) {
40
+ foreach ($tax_value as $_tax_key => $_tax_value) {
41
+ if($_tax_value =='1') {
42
+ $seopress_sitemaps .= '<sitemap>';
43
+ $seopress_sitemaps .= '<loc>';
44
+ $seopress_sitemaps .= home_url().'/sitemaps/'.$tax_key;
45
+ $seopress_sitemaps .= '</loc>';
46
+ $seopress_sitemaps .= '</sitemap>';
47
+ }
48
+ }
49
+ }
50
+ }
51
+ $seopress_sitemaps .='</sitemapindex>';
52
+ return $seopress_sitemaps;
53
+ }
54
+ echo seopress_xml_sitemap_index();
55
+ ?>
inc/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
languages/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
languages/seopress-fr_FR.mo ADDED
Binary file
languages/seopress-fr_FR.po ADDED
@@ -0,0 +1,2151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: SEOPress\n"
4
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
5
+ "POT-Creation-Date: 2016-08-23 15:23+0200\n"
6
+ "PO-Revision-Date: 2016-08-23 15:24+0200\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: Benjamin DENIS <contact@seopress.org>\n"
9
+ "Language: fr_FR\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 1.8.8\n"
14
+ "X-Poedit-KeywordsList: __;_e;_x;esc_attr__\n"
15
+ "X-Poedit-Basepath: ..\n"
16
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: inc/admin/admin-metaboxes.php:11 inc/admin/admin.php:233
21
+ msgid "SEOPress"
22
+ msgstr "SEOPress"
23
+
24
+ #: inc/admin/admin-metaboxes.php:50
25
+ msgid "Titles settings"
26
+ msgstr "Paramètres de titres"
27
+
28
+ #: inc/admin/admin-metaboxes.php:51 inc/admin/admin.php:66
29
+ msgid "Advanced"
30
+ msgstr "Avancé"
31
+
32
+ #: inc/admin/admin-metaboxes.php:52 inc/admin/admin.php:36
33
+ #: inc/admin/admin.php:314
34
+ msgid "Social"
35
+ msgstr "Social"
36
+
37
+ #: inc/admin/admin-metaboxes.php:58
38
+ msgid "Title"
39
+ msgstr "Titre"
40
+
41
+ #: inc/admin/admin-metaboxes.php:59
42
+ msgid "Enter your title"
43
+ msgstr "Entrez votre titre"
44
+
45
+ #: inc/admin/admin-metaboxes.php:62 inc/admin/admin.php:391
46
+ msgid "Meta description"
47
+ msgstr "Meta description"
48
+
49
+ #: inc/admin/admin-metaboxes.php:63
50
+ msgid "Enter your meta description"
51
+ msgstr "Entrez votre méta description"
52
+
53
+ #: inc/admin/admin-metaboxes.php:68
54
+ msgid "Google Snippet Preview"
55
+ msgstr "Google Snippet Preview"
56
+
57
+ #: inc/admin/admin-metaboxes.php:69
58
+ msgid "This is what your page will look like in Google search results"
59
+ msgstr ""
60
+ "Voilà à quoi ressemblera votre page dans les résultats de recherche Google"
61
+
62
+ #: inc/admin/admin-metaboxes.php:80 inc/admin/admin.php:541
63
+ #: inc/admin/admin.php:1058 inc/admin/admin.php:1131 inc/admin/admin.php:1312
64
+ msgid "noindex"
65
+ msgstr "noindex"
66
+
67
+ #: inc/admin/admin-metaboxes.php:86 inc/admin/admin.php:549
68
+ #: inc/admin/admin.php:1077 inc/admin/admin.php:1150 inc/admin/admin.php:1329
69
+ msgid "nofollow"
70
+ msgstr "nofollow"
71
+
72
+ #: inc/admin/admin-metaboxes.php:92 inc/admin/admin.php:557
73
+ #: inc/admin/admin.php:1346
74
+ msgid "noodp"
75
+ msgstr "noodp"
76
+
77
+ #: inc/admin/admin-metaboxes.php:98 inc/admin/admin.php:565
78
+ #: inc/admin/admin.php:1363
79
+ msgid "noimageindex"
80
+ msgstr "noimageindex"
81
+
82
+ #: inc/admin/admin-metaboxes.php:104 inc/admin/admin.php:573
83
+ #: inc/admin/admin.php:1380
84
+ msgid "noarchive"
85
+ msgstr "noarchive"
86
+
87
+ #: inc/admin/admin-metaboxes.php:110 inc/admin/admin.php:581
88
+ #: inc/admin/admin.php:1397
89
+ msgid "nosnippet"
90
+ msgstr "nosnippet"
91
+
92
+ #: inc/admin/admin-metaboxes.php:114
93
+ msgid "Canonical URL"
94
+ msgstr "URL Canonique"
95
+
96
+ #: inc/admin/admin-metaboxes.php:115
97
+ msgid "Enter your Canonical URL"
98
+ msgstr "Entrez votre URL canonique"
99
+
100
+ #: inc/admin/admin-metaboxes.php:121
101
+ msgid "Facebook Title"
102
+ msgstr "Titre Facebook"
103
+
104
+ #: inc/admin/admin-metaboxes.php:122
105
+ msgid "Enter your Facebook title"
106
+ msgstr "Entrez votre titre Facebook"
107
+
108
+ #: inc/admin/admin-metaboxes.php:125
109
+ msgid "Facebook description"
110
+ msgstr "Description Facebook"
111
+
112
+ #: inc/admin/admin-metaboxes.php:126
113
+ msgid "Enter your Facebook description"
114
+ msgstr "Entrez votre description Facebook"
115
+
116
+ #: inc/admin/admin-metaboxes.php:129
117
+ msgid "Facebook Thumbnail"
118
+ msgstr "Miniature Facebook"
119
+
120
+ #: inc/admin/admin-metaboxes.php:130 inc/admin/admin-metaboxes.php:145
121
+ #: inc/admin/admin.php:1669 inc/admin/admin.php:1721
122
+ msgid "Select your default thumbnail"
123
+ msgstr "Sélectionnez votre miniature par défaut"
124
+
125
+ #: inc/admin/admin-metaboxes.php:131 inc/admin/admin-metaboxes.php:146
126
+ #: inc/admin/admin.php:1539 inc/admin/admin.php:1671 inc/admin/admin.php:1723
127
+ msgid "Upload an Image"
128
+ msgstr "Uploadez une image"
129
+
130
+ #: inc/admin/admin-metaboxes.php:136
131
+ msgid "Twitter Title"
132
+ msgstr "Titre Twitter"
133
+
134
+ #: inc/admin/admin-metaboxes.php:137
135
+ msgid "Enter your Twitter title"
136
+ msgstr "Entrez votre titre Twitter"
137
+
138
+ #: inc/admin/admin-metaboxes.php:140
139
+ msgid "Twitter description"
140
+ msgstr "Description Twitter"
141
+
142
+ #: inc/admin/admin-metaboxes.php:141
143
+ msgid "Enter your Twitter description"
144
+ msgstr "Entrez votre description Twitter"
145
+
146
+ #: inc/admin/admin-metaboxes.php:144
147
+ msgid "Twitter Thumbnail"
148
+ msgstr "Miniature Twitter"
149
+
150
+ #: inc/admin/admin.php:34
151
+ msgid "Titles & Metas"
152
+ msgstr "Titres et Métas"
153
+
154
+ #: inc/admin/admin.php:35 inc/admin/admin.php:304
155
+ msgid "XML Sitemap"
156
+ msgstr "Sitemap XML"
157
+
158
+ #: inc/admin/admin.php:37
159
+ msgid "Import / Export / Reset settings"
160
+ msgstr "Import / Export / Réinitialisation des paramètres"
161
+
162
+ #: inc/admin/admin.php:37 inc/admin/admin.php:324
163
+ msgid "Import / Export / Reset"
164
+ msgstr "Importer / Exporter / Réinitialiser"
165
+
166
+ #: inc/admin/admin.php:47
167
+ msgid ""
168
+ "Discourage search engines from indexing this site is <strong>ON!</strong> "
169
+ "None of the following settings will be applied."
170
+ msgstr ""
171
+ "Décourager les moteurs de recherche d’indexer ce site est <strong>actif !</"
172
+ "strong> Aucun des paramètres suivants ne s’appliqueront."
173
+
174
+ #: inc/admin/admin.php:48
175
+ msgid "Change this settings"
176
+ msgstr "Changer ce paramètre"
177
+
178
+ #: inc/admin/admin.php:62
179
+ msgid "Home"
180
+ msgstr "Accueil"
181
+
182
+ #: inc/admin/admin.php:63
183
+ msgid "Single Post Types"
184
+ msgstr "Single Post Types"
185
+
186
+ #: inc/admin/admin.php:64 inc/admin/admin.php:105
187
+ msgid "Taxonomies"
188
+ msgstr "Taxonomies"
189
+
190
+ #: inc/admin/admin.php:65
191
+ msgid "Archives"
192
+ msgstr "Archives"
193
+
194
+ #: inc/admin/admin.php:103
195
+ msgid "General"
196
+ msgstr "Général"
197
+
198
+ #: inc/admin/admin.php:104
199
+ msgid "Post Types"
200
+ msgstr "Types d'article"
201
+
202
+ #: inc/admin/admin.php:140
203
+ msgid "Knowledge Graph"
204
+ msgstr "Knowledge Graph"
205
+
206
+ #: inc/admin/admin.php:141
207
+ msgid "Your social accounts"
208
+ msgstr "Vos comptes sociaux"
209
+
210
+ #: inc/admin/admin.php:142
211
+ msgid "Facebook"
212
+ msgstr "Facebook"
213
+
214
+ #: inc/admin/admin.php:143
215
+ msgid "Twitter"
216
+ msgstr "Twitter"
217
+
218
+ #: inc/admin/admin.php:170
219
+ msgid "Import / Export Settings"
220
+ msgstr "Paramètres Import / Export"
221
+
222
+ #: inc/admin/admin.php:171
223
+ msgid "Import / Export SEOPress settings from site to site"
224
+ msgstr "Importer / Exporter les paramètres SEOPress d'un site à un autre"
225
+
226
+ #: inc/admin/admin.php:174
227
+ msgid "Export Settings"
228
+ msgstr "Exporter Paramètres"
229
+
230
+ #: inc/admin/admin.php:176
231
+ msgid ""
232
+ "Export the plugin settings for this site as a .json file. This allows you to "
233
+ "easily import the configuration into another site."
234
+ msgstr ""
235
+ "Exporter les paramètres du plugin pour ce site comme un fichier JSON. Cela "
236
+ "vous permet d'importer facilement votre configuration dans un autre site "
237
+ "WordPress."
238
+
239
+ #: inc/admin/admin.php:181
240
+ msgid "Export"
241
+ msgstr "Exporter"
242
+
243
+ #: inc/admin/admin.php:188
244
+ msgid "Import Settings"
245
+ msgstr "Importer Paramètres"
246
+
247
+ #: inc/admin/admin.php:190
248
+ msgid ""
249
+ "Import the plugin settings from a .json file. This file can be obtained by "
250
+ "exporting the settings on another site using the form above."
251
+ msgstr ""
252
+ "Importer les paramètres du plugin depuis un fichier JSON. Ce fichier peut "
253
+ "être obtenu en exportant les paramètres depuis un autre site en utilisant le "
254
+ "formulaire ci-dessus."
255
+
256
+ #: inc/admin/admin.php:198
257
+ msgid "Import"
258
+ msgstr "Importer"
259
+
260
+ #: inc/admin/admin.php:205
261
+ msgid "Reset All Settings"
262
+ msgstr "Tout réinitialiser"
263
+
264
+ #: inc/admin/admin.php:207
265
+ msgid ""
266
+ "<strong>WARNING:</strong> Delete all options related to SEOPress in your "
267
+ "database."
268
+ msgstr ""
269
+ "<strong>AVERTISSEMENT:</strong> Supprime toutes les options liées à SEOPress "
270
+ "de votre base de données."
271
+
272
+ #: inc/admin/admin.php:212
273
+ msgid "Reset settings"
274
+ msgstr "Réinitialiser les paramètres"
275
+
276
+ #: inc/admin/admin.php:237
277
+ msgid "PRO"
278
+ msgstr "PRO"
279
+
280
+ #: inc/admin/admin.php:247
281
+ msgid "The ultimate plugin to optimize your SEO!"
282
+ msgstr "Le plugin ultime pour optimiser votre SEO !"
283
+
284
+ #: inc/admin/admin.php:250
285
+ msgid "You like SEOPress? Don't forget to rate it 5 stars!"
286
+ msgstr "Vous aimez SEOPress ? N'oubliez pas de nous noter 5 étoiles !"
287
+
288
+ #: inc/admin/admin.php:279
289
+ msgid "Follow us on Twitter!"
290
+ msgstr "Suivez-nous sur Twitter !"
291
+
292
+ #: inc/admin/admin.php:281
293
+ msgid "Our website"
294
+ msgstr "Notre site web"
295
+
296
+ #: inc/admin/admin.php:283
297
+ msgid "Knowledge base"
298
+ msgstr "Base de connaissances"
299
+
300
+ #: inc/admin/admin.php:294
301
+ msgid "Titles & metas"
302
+ msgstr "Titres et Métas"
303
+
304
+ #: inc/admin/admin.php:295
305
+ msgid "Manage all your titles & metas"
306
+ msgstr "Gérer tous vos titres et métas"
307
+
308
+ #: inc/admin/admin.php:296 inc/admin/admin.php:306 inc/admin/admin.php:316
309
+ #: inc/admin/admin.php:326
310
+ msgid "Manage"
311
+ msgstr "Gérer"
312
+
313
+ #: inc/admin/admin.php:305
314
+ msgid "Manage your XML Sitemap"
315
+ msgstr "Gérer votre Sitemap XML"
316
+
317
+ #: inc/admin/admin.php:315
318
+ msgid "Open Graph, Twitter Card, Google Knowledge Graph and more..."
319
+ msgstr "Open Graph, Twitter Card, Google Knowledge Graph et plus..."
320
+
321
+ #: inc/admin/admin.php:325
322
+ msgid "Import / export SEOPress settings from site to site."
323
+ msgstr "Importer / Exporter les paramètres d'un site à un autre"
324
+
325
+ #: inc/admin/admin.php:383
326
+ msgid "Site title"
327
+ msgstr "Titre du site"
328
+
329
+ #: inc/admin/admin.php:598 inc/admin/admin.php:1414
330
+ msgid "Enable XML Sitemap"
331
+ msgstr "Activez le Sitemap XML"
332
+
333
+ #: inc/admin/admin.php:614
334
+ msgid "Check to INCLUDE Post Types"
335
+ msgstr "Cochez pour INCLURE les Types d'article"
336
+
337
+ #: inc/admin/admin.php:630
338
+ msgid "Check to INCLUDE Taxonomies"
339
+ msgstr "Cochez pour INCLURE les Taxonomies"
340
+
341
+ #: inc/admin/admin.php:647
342
+ msgid "Person or organization"
343
+ msgstr "Personne ou Organisation"
344
+
345
+ #: inc/admin/admin.php:655
346
+ msgid "Your name/organization"
347
+ msgstr "Votre nom/organisation"
348
+
349
+ #: inc/admin/admin.php:663
350
+ msgid "Your photo / organization logo"
351
+ msgstr "Votre photo / logo"
352
+
353
+ #: inc/admin/admin.php:680
354
+ msgid "Facebook Page URL"
355
+ msgstr "URL de la page Facebook"
356
+
357
+ #: inc/admin/admin.php:688
358
+ msgid "Twitter Username"
359
+ msgstr "Compte utilisateur Twitter"
360
+
361
+ #: inc/admin/admin.php:696
362
+ msgid "Google + URL"
363
+ msgstr "URL Google +"
364
+
365
+ #: inc/admin/admin.php:704
366
+ msgid "Pinterest URL"
367
+ msgstr "URL Pinterest"
368
+
369
+ #: inc/admin/admin.php:712
370
+ msgid "Instagram URL"
371
+ msgstr "Instagram URL"
372
+
373
+ #: inc/admin/admin.php:720
374
+ msgid "YouTube URL"
375
+ msgstr "URL YouTube"
376
+
377
+ #: inc/admin/admin.php:728
378
+ msgid "LinkedIn URL"
379
+ msgstr "LinkedIn URL"
380
+
381
+ #: inc/admin/admin.php:736
382
+ msgid "MySpace URL"
383
+ msgstr "URL MySpace"
384
+
385
+ #: inc/admin/admin.php:744
386
+ msgid "Soundcloud URL"
387
+ msgstr "URL Soundcloud"
388
+
389
+ #: inc/admin/admin.php:752
390
+ msgid "Tumblr URL"
391
+ msgstr "URL Tumblr"
392
+
393
+ #: inc/admin/admin.php:769
394
+ msgid "Enable Open Graph Data"
395
+ msgstr "Activez les données Open Graph"
396
+
397
+ #: inc/admin/admin.php:777
398
+ msgid "Select a default image"
399
+ msgstr "Sélectionnez une image par défaut"
400
+
401
+ #: inc/admin/admin.php:785
402
+ msgid "Facebook Admin ID"
403
+ msgstr "Facebook Admin ID"
404
+
405
+ #: inc/admin/admin.php:793
406
+ msgid "Facebook App ID"
407
+ msgstr "Facebook App ID"
408
+
409
+ #: inc/admin/admin.php:810
410
+ msgid "Enable Twitter Card"
411
+ msgstr "Activez Twitter Card"
412
+
413
+ #: inc/admin/admin.php:818
414
+ msgid "Default Twitter Image"
415
+ msgstr "Image Twitter par défaut"
416
+
417
+ #: inc/admin/admin.php:826
418
+ msgid "Image size for Twitter Summary card"
419
+ msgstr "Taille d'image pour Twitter Summary Card"
420
+
421
+ #: inc/admin/admin.php:927
422
+ msgid "<p>Customize your titles & metas for homepage</p>"
423
+ msgstr "<p>Personnalisez vos titres et métas pour l'accueil</p>"
424
+
425
+ #: inc/admin/admin.php:932
426
+ msgid "<p>Customize your titles & metas for Single Custom Post Types</p>"
427
+ msgstr ""
428
+ "<p>Personnalisez vos titres et métas pour les singles des Types d'article</p>"
429
+
430
+ #: inc/admin/admin.php:937
431
+ msgid "<p>Customize your metas for all pages</p>"
432
+ msgstr "<p>Personnalisez vos métas pour toutes les pages</p>"
433
+
434
+ #: inc/admin/admin.php:942
435
+ msgid "<p>Customize your metas for all taxonomies archives</p>"
436
+ msgstr "<p>Personnalisez vos métas pour toutes les archives de taxonomies</p>"
437
+
438
+ #: inc/admin/admin.php:947
439
+ msgid "<p>Customize your metas for all archives</p>"
440
+ msgstr "<p>Personnalisez vos métas pour les archives</p>"
441
+
442
+ #: inc/admin/admin.php:952
443
+ msgid "<p>Enable your Sitemap</p>"
444
+ msgstr "<p>Activez votre Sitemap</p>"
445
+
446
+ #: inc/admin/admin.php:953
447
+ msgid ""
448
+ "To view your sitemap, enable permalinks (not default one), and save settings "
449
+ "to flush them."
450
+ msgstr ""
451
+ "Pour voir votre sitemap, activez les permaliens (pas ceux par défaut), et "
452
+ "sauvegardez les paramètres pour les mettre à jour."
453
+
454
+ #: inc/admin/admin.php:956
455
+ msgid "View your sitemap"
456
+ msgstr "Voir votre sitemap"
457
+
458
+ #: inc/admin/admin.php:961
459
+ msgid "<p>Include / Exclude Post Types</p>"
460
+ msgstr "<p>Inclure / Exclure les Types d'article</p>"
461
+
462
+ #: inc/admin/admin.php:966
463
+ msgid "<p>Include / Exclude Taxonomies</p>"
464
+ msgstr "<p>Inclure / Exclure les Taxonomies</p>"
465
+
466
+ #: inc/admin/admin.php:971
467
+ msgid "<p>Configure Google Knowledge Graph</p>"
468
+ msgstr "<p>Configurer Google Knowledge Graph</p>"
469
+
470
+ #: inc/admin/admin.php:976
471
+ msgid "<p>Link your site with your social accounts</p>"
472
+ msgstr "<p>Lier votre site à vos comptes sociaux</p>"
473
+
474
+ #: inc/admin/admin.php:981
475
+ msgid "<p>Manage Open Graph datas</p>"
476
+ msgstr "<p>Gérer l'Open Graph datas</p>"
477
+
478
+ #: inc/admin/admin.php:986
479
+ msgid "<p>Manage your Twitter card</p>"
480
+ msgstr "<p>Gérer votre Twitter card</p>"
481
+
482
+ #: inc/admin/admin.php:1024 inc/admin/admin.php:1097 inc/admin/admin.php:1165
483
+ #: inc/admin/admin.php:1193 inc/admin/admin.php:1221 inc/admin/admin.php:1249
484
+ #: inc/admin/admin.php:1277
485
+ msgid "Title template"
486
+ msgstr "Template de Titre"
487
+
488
+ #: inc/admin/admin.php:1037 inc/admin/admin.php:1110 inc/admin/admin.php:1178
489
+ #: inc/admin/admin.php:1206 inc/admin/admin.php:1234 inc/admin/admin.php:1262
490
+ #: inc/admin/admin.php:1290
491
+ msgid "Meta description template"
492
+ msgstr "Template de Méta Description"
493
+
494
+ #: inc/admin/admin.php:1163
495
+ msgid "Author archives"
496
+ msgstr "Archives de l'auteur"
497
+
498
+ #: inc/admin/admin.php:1191
499
+ msgid "Date archives"
500
+ msgstr "Archives par date"
501
+
502
+ #: inc/admin/admin.php:1219
503
+ msgid "Search archives"
504
+ msgstr "Archives de recherche"
505
+
506
+ #: inc/admin/admin.php:1247
507
+ msgid "404 archives"
508
+ msgstr "Page 404"
509
+
510
+ #: inc/admin/admin.php:1275
511
+ msgid "Paged archives"
512
+ msgstr "Archives paginées"
513
+
514
+ #: inc/admin/admin.php:1453 inc/admin/admin.php:1493
515
+ msgid "Include"
516
+ msgstr "Inclure"
517
+
518
+ #: inc/admin/admin.php:1512
519
+ msgid "Person"
520
+ msgstr "Personne"
521
+
522
+ #: inc/admin/admin.php:1515
523
+ msgid "Organization"
524
+ msgstr "Organisation"
525
+
526
+ #: inc/admin/admin.php:1537
527
+ msgid "Select your logo"
528
+ msgstr "Sélectionnez votre logo"
529
+
530
+ #: inc/admin/admin.php:1656
531
+ msgid "Enable OG data"
532
+ msgstr "Activer les données OG"
533
+
534
+ #: inc/admin/admin.php:1708
535
+ msgid "Enable Twitter card"
536
+ msgstr "Activer Twitter Card"
537
+
538
+ #: inc/admin/admin.php:1739
539
+ msgid "Default"
540
+ msgstr "Défaut"
541
+
542
+ #: inc/admin/admin.php:1742
543
+ msgid "Large"
544
+ msgstr "Grande"
545
+
546
+ #: inc/functions/options-import-export.php:42
547
+ msgid "Please upload a valid .json file"
548
+ msgstr "Veuillez uploader un fichier JSON valide"
549
+
550
+ #: inc/functions/options-import-export.php:46
551
+ msgid "Please upload a file to import"
552
+ msgstr "Uploader un fichier à importer SVP"
553
+
554
+ #: seopress.php:129
555
+ msgid "Settings"
556
+ msgstr "Paramètres"
557
+
558
+ #~ msgid "Login"
559
+ #~ msgstr "Ecran de connexion"
560
+
561
+ #~ msgid "Global"
562
+ #~ msgstr "Global"
563
+
564
+ #~ msgid "Dashboard"
565
+ #~ msgstr "Tableau de bord"
566
+
567
+ #~ msgid "Admin Menu"
568
+ #~ msgstr "Menu d'admin"
569
+
570
+ #~ msgid "Admin Bar"
571
+ #~ msgstr "Barre d'admin"
572
+
573
+ #~ msgid "Editor"
574
+ #~ msgstr "Editeur"
575
+
576
+ #~ msgid "Media Library"
577
+ #~ msgstr "Bibliothèque de médias"
578
+
579
+ #~ msgid "Profil"
580
+ #~ msgstr "Profil"
581
+
582
+ #~ msgid "Role Manager"
583
+ #~ msgstr "Rôles"
584
+
585
+ #~ msgid "Import / Export settings"
586
+ #~ msgstr "Paramètres Import / Export"
587
+
588
+ #~ msgid "Import / Export"
589
+ #~ msgstr "Import / Export"
590
+
591
+ #~ msgid "Display"
592
+ #~ msgstr "Affichage"
593
+
594
+ #~ msgid "Updates"
595
+ #~ msgstr "Mises à jour"
596
+
597
+ #~ msgid "Front"
598
+ #~ msgstr "Front"
599
+
600
+ #~ msgid "Debug"
601
+ #~ msgstr "Debug"
602
+
603
+ #~ msgid "Base"
604
+ #~ msgstr "Basique"
605
+
606
+ #~ msgid "Filters"
607
+ #~ msgstr "Filtres"
608
+
609
+ #~ msgid "Import / Export WP Admin UI settings from site to site"
610
+ #~ msgstr "Importer / Exporter les paramètres WP Admin UI d'un site à un autre"
611
+
612
+ #~ msgid "WP Admin UI"
613
+ #~ msgstr "WP Admin UI"
614
+
615
+ #~ msgid ""
616
+ #~ "The ultimate plugin to customize, manage and optimize your WordPress "
617
+ #~ "backend!"
618
+ #~ msgstr ""
619
+ #~ "Le plugin ultime pour personnaliser, gérer et optimiser l'administration "
620
+ #~ "WordPress!"
621
+
622
+ #~ msgid "You like WP Admin UI? Don't forget to rate it 5 stars!"
623
+ #~ msgstr "Vous aimez WP Admin UI ? N'oubliez pas de nous noter 5 étoiles !"
624
+
625
+ #~ msgid "Custom logo, custom background image, custom css..."
626
+ #~ msgstr "Logo, image d'arrière plan et feuille de styles personnalisés..."
627
+
628
+ #~ msgid "Custom footer credits, remove screen options, revisions..."
629
+ #~ msgstr ""
630
+ #~ "Crédits du pied de page perso, supprimer l'onglet Options de l'écran, "
631
+ #~ "révisions..."
632
+
633
+ #~ msgid "Remove widgets, remove welcome panel..."
634
+ #~ msgstr "Supprimer widgets, panneau de bienvenue..."
635
+
636
+ #~ msgid "Hide menus/submenus, reorder them with drag and drop..."
637
+ #~ msgstr "Masquer menus/sous-menus, réordonner les en glisser-déposer..."
638
+
639
+ #~ msgid "Remove items in admin bar..."
640
+ #~ msgstr "Supprimer des items de la barre d'admin..."
641
+
642
+ #~ msgid "Full TinyMCE, add new buttons, add quicktags..."
643
+ #~ msgstr "TinyMCE complet, ajouter de nouveaux boutons, ajout de quicktags..."
644
+
645
+ #~ msgid "Metaboxes"
646
+ #~ msgstr "Metaboxes"
647
+
648
+ #~ msgid "Hide metaboxes from your custom post types..."
649
+ #~ msgstr "Masquer les metaboxes de vos types d'articles personnalisés..."
650
+
651
+ #~ msgid "Hide metaboxes..."
652
+ #~ msgstr "Masquer metaboxes..."
653
+
654
+ #~ msgid "Get it"
655
+ #~ msgstr "Obtenir"
656
+
657
+ #~ msgid "Columns"
658
+ #~ msgstr "Colonnes"
659
+
660
+ #~ msgid "Hide columns from list view, add post ID column..."
661
+ #~ msgstr ""
662
+ #~ "Masquer des colonnes de la vue liste, ajouter la colonne ID du post..."
663
+
664
+ #~ msgid "Library"
665
+ #~ msgstr "Bibliothèque média"
666
+
667
+ #~ msgid "JPEG quality, add filters type (PDF, DOCX...)"
668
+ #~ msgstr "Qualité JPEG, ajout des filtres par type (PDF, DOCX...)"
669
+
670
+ #~ msgid "Color scheme, add custom field in profil..."
671
+ #~ msgstr ""
672
+ #~ "Schémas de couleurs, ajout de champs personnalisés dans le Profil..."
673
+
674
+ #~ msgid "Plugins"
675
+ #~ msgstr "Extensions"
676
+
677
+ #~ msgid "Remove WP SEO notifications, WPML Ads, WooThemes updater..."
678
+ #~ msgstr ""
679
+ #~ "Supprimer les notifications de WP SEO, WooThemes Updater plugin, et les "
680
+ #~ "publicités de WPML..."
681
+
682
+ #~ msgid "Remove WP SEO notifications, WPML Ads, WooThemes updater plugin..."
683
+ #~ msgstr ""
684
+ #~ "Supprimer les notifications de WP SEO, WooThemes Updater plugin, et les "
685
+ #~ "publicités de WPML..."
686
+
687
+ #~ msgid "Themes"
688
+ #~ msgstr "Thèmes"
689
+
690
+ #~ msgid "Create your own admin theme, or choose a preset one."
691
+ #~ msgstr "Créez votre propre thème d'admin, ou choisissez un prédéfini."
692
+
693
+ #~ msgid "Role manager"
694
+ #~ msgstr "Rôles"
695
+
696
+ #~ msgid "Apply WP Admin UI settings to specific roles."
697
+ #~ msgstr "Appliquer les paramètres de WP Admin UI à certains rôles."
698
+
699
+ #~ msgid "Import / export WP Admin UI settings from site to site."
700
+ #~ msgstr "Importer / Exporter les paramètres WP Admin UI d'un site à un autre"
701
+
702
+ #~ msgid "Login settings"
703
+ #~ msgstr "Paramètres de l'écran de connexion"
704
+
705
+ #~ msgid "Custom login CSS"
706
+ #~ msgstr "CSS personnalisée pour l'écran de connexion"
707
+
708
+ #~ msgid "Custom logo url"
709
+ #~ msgstr "URL du logo personnalisée"
710
+
711
+ #~ msgid "Custom logo (recommanded width: 320px, height: 75px"
712
+ #~ msgstr ""
713
+ #~ "Logo personnalisé (taille recommandée : 320px de large, 75px de haut)"
714
+
715
+ #~ msgid "Custom logo title"
716
+ #~ msgstr "Infobulle du logo"
717
+
718
+ #~ msgid "Custom background image"
719
+ #~ msgstr "Image d'arrière plan personnalisée"
720
+
721
+ #~ msgid "Always checked remember me"
722
+ #~ msgstr "Toujours cocher Se souvenir de moi"
723
+
724
+ #~ msgid "Remove error message for security"
725
+ #~ msgstr "Supprimer les messages d'erreur par sécurité"
726
+
727
+ #~ msgid "Disable Shake Effect if wrong login"
728
+ #~ msgstr "Désactiver l’effet de secousse si login faux"
729
+
730
+ #~ msgid "Redirect users to a specific url after logout"
731
+ #~ msgstr ""
732
+ #~ "Rediriger les utilisateurs vers une url spécifique après déconnexion"
733
+
734
+ #~ msgid "Redirect users to a specific url after registration"
735
+ #~ msgstr ""
736
+ #~ "Rediriger les utilisateurs vers une url spécifique après l'inscription"
737
+
738
+ #~ msgid "Disable login by email for users"
739
+ #~ msgstr "Désactiver la connexion par email pour les utilisateurs"
740
+
741
+ #~ msgid "Custom admin CSS"
742
+ #~ msgstr "Feuille de styles perso pour l'admin"
743
+
744
+ #~ msgid "Remove WordPress version in footer"
745
+ #~ msgstr "Supprimer la version de WordPress dans le pied de page"
746
+
747
+ #~ msgid "Custom WordPress version in footer"
748
+ #~ msgstr "Version de WordPress personnalisée dans le pied de page"
749
+
750
+ #~ msgid "Remove WordPress credits in footer"
751
+ #~ msgstr "Supprimer les crédits WordPress du pied de page"
752
+
753
+ #~ msgid "Custom WordPress credits in footer"
754
+ #~ msgstr "Crédits WordPress personnalisé dans le pied de page"
755
+
756
+ #~ msgid "Custom favicon in admin"
757
+ #~ msgstr "Favicon personnalisé dans l'admin"
758
+
759
+ #~ msgid "Remove help tab"
760
+ #~ msgstr "Supprimer l'onglet Aide"
761
+
762
+ #~ msgid "Remove screen options tab"
763
+ #~ msgstr "Supprimer l'onglet Options de l'écran"
764
+
765
+ #~ msgid "Disable Open Sans loading from Google"
766
+ #~ msgstr "Désactiver le chargement d'Open Sans depuis Google"
767
+
768
+ #~ msgid "Define a new avatar for comments"
769
+ #~ msgstr "Définir un nouvel avatar pour les commentaires"
770
+
771
+ #~ msgid "Hide autogenerated password message"
772
+ #~ msgstr "Masquer \"Vous utilisez un mot de passe auto généré\""
773
+
774
+ #~ msgid "Number of items per page in list view (default 20)"
775
+ #~ msgstr "Nombre d'items par page dans les vues listes (défaut 20)"
776
+
777
+ #~ msgid "Define default view mode in view list"
778
+ #~ msgstr "Définir le mode d’affichage par défaut dans la vue liste"
779
+
780
+ #~ msgid "Disable file editor for themes and plugins"
781
+ #~ msgstr "Désactiver l'éditeur de fichiers de thèmes et plugins"
782
+
783
+ #~ msgid "Disable Plugin and Theme Update, and Installation"
784
+ #~ msgstr "Désactiver les mises à jours et l'installation de thèmes et plugins"
785
+
786
+ #~ msgid "Block WordPress admin for specific user roles"
787
+ #~ msgstr ""
788
+ #~ "Bloquer l’admin de WordPress pour des rôles d’utilisateurs spécifiques"
789
+
790
+ #~ msgid "Disable WordPress updates notifications"
791
+ #~ msgstr "Désactiver les notifications de mises à jour WordPress"
792
+
793
+ #~ msgid "Disable all updates"
794
+ #~ msgstr "Désactiver toutes les mises à jour"
795
+
796
+ #~ msgid "Disable core updates"
797
+ #~ msgstr "Désactiver les mises à jour du core"
798
+
799
+ #~ msgid "Disable core development updates"
800
+ #~ msgstr "Désactiver les mises à jour du core (dev)"
801
+
802
+ #~ msgid "Disable minor core updates"
803
+ #~ msgstr "Désactiver les mises à jour mineures du core"
804
+
805
+ #~ msgid "Disable major core updates"
806
+ #~ msgstr "Désactiver les mises à jour majeures du core"
807
+
808
+ #~ msgid "Enable automatic updates on Versioning Control System (GIT/SVN)"
809
+ #~ msgstr ""
810
+ #~ "Activer les mises à jour automatiques sur des systèmes de contrôle de "
811
+ #~ "versions (GIT/SVN)"
812
+
813
+ #~ msgid "Disable automatic updates for all plugins"
814
+ #~ msgstr "Désactiver les mises à jour automatiques pour tous les plugins"
815
+
816
+ #~ msgid "Disable automatic updates for all themes"
817
+ #~ msgstr "Désactiver les mises à jour automatiques pour tous les thèmes"
818
+
819
+ #~ msgid "Disable automatic updates for all translations"
820
+ #~ msgstr "Désactiver les mises à jour automatiques pour tous les traductions"
821
+
822
+ #~ msgid "Disable update emails notifications"
823
+ #~ msgstr "Désactiver les notifications par mail des mises à jour"
824
+
825
+ #~ msgid "Disable Emoji support for old browsers"
826
+ #~ msgstr "Désactiver le support des Emoji pour les anciens navigateurs"
827
+
828
+ #~ msgid "Disable JSON REST API"
829
+ #~ msgstr "Désactiver l’API REST JSON"
830
+
831
+ #~ msgid "Disable XML RPC"
832
+ #~ msgstr "Désactiver XML RPC"
833
+
834
+ #~ msgid "Disable JS/CSS concatenation"
835
+ #~ msgstr "Désactiver la concaténation JS/CSS"
836
+
837
+ #~ msgid "Dashboard settings"
838
+ #~ msgstr "Paramètres du Tableau de bord"
839
+
840
+ #~ msgid "Remove Welcome Panel"
841
+ #~ msgstr "Supprimer le Panneau de bienvenue"
842
+
843
+ #~ msgid "Display Dashboard in a single column"
844
+ #~ msgstr "Afficher le tableau de bord en une seule colonne"
845
+
846
+ #~ msgid "Remove dashboard widgets"
847
+ #~ msgstr "Supprimer les widgets du Tableau de bord"
848
+
849
+ #~ msgid ""
850
+ #~ "Disable drag and drop for dashboard widgets (block disabling widgets from "
851
+ #~ "Screen options too)"
852
+ #~ msgstr ""
853
+ #~ "Désactiver le glisser-déposer des widgets du Tableau de bord (cela "
854
+ #~ "bloquera la désactivation des widgets depuis l'onglet Options d'écran)"
855
+
856
+ #~ msgid "Display all custom post types in At a glance dashboard widget"
857
+ #~ msgstr ""
858
+ #~ "Afficher les types d'articles personnalisés dans le widget D'un coup "
859
+ #~ "d'oeil dans le Tableau de bord"
860
+
861
+ #~ msgid "Display number of users in At a glance dashboard widget"
862
+ #~ msgstr ""
863
+ #~ "Afficher le nombre d'utilisateurs dans le widget D'un coup d'oeil du "
864
+ #~ "Tableau de bord"
865
+
866
+ #~ msgid "Display your custom widget title"
867
+ #~ msgstr "Afficher votre titre de widget perso"
868
+
869
+ #~ msgid "Display your custom widget"
870
+ #~ msgstr "Afficher votre widget perso"
871
+
872
+ #~ msgid "Admin menu settings"
873
+ #~ msgstr "Paramètres des menus d'admin"
874
+
875
+ #~ msgid "Menu Structure"
876
+ #~ msgstr "Structure du menu"
877
+
878
+ #~ msgid "Display all settings in menu"
879
+ #~ msgstr "Afficher Tous les paramètres dans le menu"
880
+
881
+ #~ msgid "Admin bar settings"
882
+ #~ msgstr "Paramètres de la barre d'admin"
883
+
884
+ #~ msgid "Remove WordPress logo in admin bar"
885
+ #~ msgstr "Supprimer le logo WordPress dans la barre d'admin"
886
+
887
+ #~ msgid "Custom logo in admin bar"
888
+ #~ msgstr "Logo personnalisé dans l'admin bar"
889
+
890
+ #~ msgid "Remove Site Name in admin bar"
891
+ #~ msgstr "Supprimer le nom du site dans la barre d'admin"
892
+
893
+ #~ msgid "Remove My Account in admin bar"
894
+ #~ msgstr "Supprimer Mon compte dans la barre d'admin"
895
+
896
+ #~ msgid "Remove Menu Toggle in admin bar"
897
+ #~ msgstr "Supprimer Masquer menu dans la barre d'admin"
898
+
899
+ #~ msgid "Remove Edit in admin bar"
900
+ #~ msgstr "Supprimer Editer dans la barre d'admin"
901
+
902
+ #~ msgid "Remove View in admin bar"
903
+ #~ msgstr "Supprimer Voir dans la barre d'admin"
904
+
905
+ #~ msgid "Remove Preview in admin bar"
906
+ #~ msgstr "Supprimer Prévisualiser dans la barre d'admin"
907
+
908
+ #~ msgid "Remove Comments in admin bar"
909
+ #~ msgstr "Supprimer Commentaires dans la barre d'admin"
910
+
911
+ #~ msgid "Remove New Content in admin bar"
912
+ #~ msgstr "Supprimer Nouveau dans la barre d'admin"
913
+
914
+ #~ msgid "Remove View Site in admin bar"
915
+ #~ msgstr "Supprimer Voir le site dans la barre d'admin"
916
+
917
+ #~ msgid "Remove Updates in admin bar"
918
+ #~ msgstr "Supprimer Mises à jour dans la barre d'admin"
919
+
920
+ #~ msgid "Remove customize in admin bar"
921
+ #~ msgstr "Supprimer Personnaliser dans la barre d'admin"
922
+
923
+ #~ msgid "Remove search in admin bar"
924
+ #~ msgstr "Supprimer Recherche dans la barre d'admin"
925
+
926
+ #~ msgid "Remove Howdy in admin bar"
927
+ #~ msgstr "Supprimer Salutations de la barre d'admin"
928
+
929
+ #~ msgid "Remove WP Admin UI in admin bar"
930
+ #~ msgstr "Supprimer WP Admin UI de la barre d'admin"
931
+
932
+ #~ msgid "Disable admin bar in front-end"
933
+ #~ msgstr "Désactiver la barre d'admin en front-end"
934
+
935
+ #~ msgid "Editor settings"
936
+ #~ msgstr "Paramètres d'éditeur"
937
+
938
+ #~ msgid "Enable Full TinyMCE by default"
939
+ #~ msgstr "Activer l'éditeur TinyMCE complet par défaut"
940
+
941
+ #~ msgid "Add Font Size select"
942
+ #~ msgstr "Ajouter la liste déroulante Taille de la police"
943
+
944
+ #~ msgid "Add Font Family select"
945
+ #~ msgstr "Ajouter la liste déroulante Famille de Police"
946
+
947
+ #~ msgid "Add custom Fonts select"
948
+ #~ msgstr "Ajouter la liste déroulante Polices personnalisées"
949
+
950
+ #~ msgid "Add Formats select (styles)"
951
+ #~ msgstr "Ajouter la liste déroulante Formats (styles)"
952
+
953
+ #~ msgid "Remove Get Shortlink button"
954
+ #~ msgstr "Supprimer le bouton Obtenir le lien court"
955
+
956
+ #~ msgid "Add New Document button"
957
+ #~ msgstr "Ajouter bouton Nouveau document"
958
+
959
+ #~ msgid "Add Cut button"
960
+ #~ msgstr "Ajouter bouton Couper"
961
+
962
+ #~ msgid "Add Copy button"
963
+ #~ msgstr "Ajouter bouton Copier"
964
+
965
+ #~ msgid "Add Paste button"
966
+ #~ msgstr "Ajouter bouton Coller"
967
+
968
+ #~ msgid "Add Backcolor button"
969
+ #~ msgstr "Ajouter le bouton Surlignage"
970
+
971
+ #~ msgid "Remove Insert Media in Media Modal"
972
+ #~ msgstr "Supprimer Insérer Média dans la modal Media"
973
+
974
+ #~ msgid "Remove Upload Files in Media Modal"
975
+ #~ msgstr "Supprimer Mettre en ligne dans la modal Media"
976
+
977
+ #~ msgid "Remove Media Library in Media Modal"
978
+ #~ msgstr "Supprimer Bibliothèque des médias dans la modal Media"
979
+
980
+ #~ msgid "Remove Create Gallery in Media Modal"
981
+ #~ msgstr "Supprimer Créer galerie dans la modal Media"
982
+
983
+ #~ msgid "Remove Create Playlist in Media Modal"
984
+ #~ msgstr "Supprimer Créer Playlist dans la modal Media"
985
+
986
+ #~ msgid "Remove Set Featured Image in Media Modal"
987
+ #~ msgstr "Supprimer Définir comme image à la une dans la modal Media"
988
+
989
+ #~ msgid "Remove Insert From URL in Media Modal"
990
+ #~ msgstr "Supprimer Insérer depuis une URL dans la modal Media"
991
+
992
+ #~ msgid "Add \"p\" quicktags in Text Editor"
993
+ #~ msgstr "Ajouter la balise Paragraphe dans la vue Texte de l'éditeur"
994
+
995
+ #~ msgid "Add \"hr\" quicktags in Text Editor"
996
+ #~ msgstr "Ajouter la balise HR dans la vue Texte de l'éditeur"
997
+
998
+ #~ msgid "Add \"pre\" quicktags in Text Editor"
999
+ #~ msgstr "Ajouter la balise PRE dans la vue Texte de l'éditeur"
1000
+
1001
+ #~ msgid "Disable formatting_shortcuts in Text Editor"
1002
+ #~ msgstr "Désactiver le formatage des raccourcis dans l'éditeur"
1003
+
1004
+ #~ msgid "Set a default image alignment in Text Editor"
1005
+ #~ msgstr "Définir un alignement d'image par défaut dans l'éditeur de texte"
1006
+
1007
+ #~ msgid "Set a default link type on images in Text Editor"
1008
+ #~ msgstr ""
1009
+ #~ "Définir un type de lien par défaut sur les images dans l'éditeur de texte"
1010
+
1011
+ #~ msgid "Set a default image size in Text Editor"
1012
+ #~ msgstr "Définir une taille d'image par défaut dans l'éditeur de texte"
1013
+
1014
+ #~ msgid "Profil settings"
1015
+ #~ msgstr "Paramètres du Profil"
1016
+
1017
+ #~ msgid "Remove Disable the visual editor when writing"
1018
+ #~ msgstr "Supprimer Désactiver l'éditeur visuel lors de l'écriture"
1019
+
1020
+ #~ msgid "Remove Admin Color Scheme"
1021
+ #~ msgstr "Supprimer les schémas de couleurs"
1022
+
1023
+ #~ msgid "Set a default admin color scheme"
1024
+ #~ msgstr "Définir un schéma de couleur d'admin par défaut"
1025
+
1026
+ #~ msgid "Remove Enable Keyboard Shortcuts for comment moderation"
1027
+ #~ msgstr ""
1028
+ #~ "Supprimer Activer les raccourcis claviers pour la modération des "
1029
+ #~ "commentaires"
1030
+
1031
+ #~ msgid "Remove Show Toolbar when viewing site"
1032
+ #~ msgstr ""
1033
+ #~ "Supprimer Afficher la barre d'outils lors de la visualisation du site"
1034
+
1035
+ #~ msgid "Add Facebook field in user profil"
1036
+ #~ msgstr "Ajouter le champ Facebook dans le profil utilisateur"
1037
+
1038
+ #~ msgid "Add Twitter field in user profil"
1039
+ #~ msgstr "Ajouter le champ Twitter dans le profil utilisateur"
1040
+
1041
+ #~ msgid "Add Instagram field in user profil"
1042
+ #~ msgstr "Ajouter le champ Instagram dans le profil utilisateur"
1043
+
1044
+ #~ msgid "Add LinkedIn field in user profil"
1045
+ #~ msgstr "Ajouter le champ LinkedIn dans le profil utilisateur"
1046
+
1047
+ #~ msgid "Define JPG image quality (default 90%)"
1048
+ #~ msgstr "Définir la qualité d'image JPG (défaut 90%)"
1049
+
1050
+ #~ msgid "Clean filenames when uploading files to WordPress"
1051
+ #~ msgstr ""
1052
+ #~ "Nettoyer les noms de fichiers lors l'envoi de fichiers dans WordPress"
1053
+
1054
+ #~ msgid "Allow SVG file in media library"
1055
+ #~ msgstr "Autoriser les fichiers SVG dans la Bibliothèque de médias"
1056
+
1057
+ #~ msgid "Add URL column in media library"
1058
+ #~ msgstr "Ajouter la colonne URL dans la Bibliothèque de médias"
1059
+
1060
+ #~ msgid "Add dimensions column in media library"
1061
+ #~ msgstr "Ajouter la colonne dimensions dans la Bibliothèque de médias"
1062
+
1063
+ #~ msgid "Add EXIF metadata column in media library"
1064
+ #~ msgstr "Ajouter la colonne metadata EXIF dans la Bibliothèque de médias"
1065
+
1066
+ #~ msgid "Add ID column in media library"
1067
+ #~ msgstr "Ajouter la colonne ID dans la Bibliothèque de médias"
1068
+
1069
+ #~ msgid "Add PDF filtering to media library"
1070
+ #~ msgstr "Ajouter le filtrage PDF dans la bibliothèque des médias"
1071
+
1072
+ #~ msgid "Add ZIP filtering to media library"
1073
+ #~ msgstr "Ajouter le filtrage ZIP dans la bibliothèque des médias"
1074
+
1075
+ #~ msgid "Add RAR filtering to media library"
1076
+ #~ msgstr "Ajouter le filtrage RAR dans la bibliothèque des médias"
1077
+
1078
+ #~ msgid "Add 7Z filtering to media library"
1079
+ #~ msgstr "Ajouter le filtrage 7Z dans la bibliothèque des médias"
1080
+
1081
+ #~ msgid "Add TAR filtering to media library"
1082
+ #~ msgstr "Ajouter le filtrage TAR dans la bibliothèque des médias"
1083
+
1084
+ #~ msgid "Add SWF filtering to media library"
1085
+ #~ msgstr "Ajouter le filtrage SWF dans la bibliothèque des médias"
1086
+
1087
+ #~ msgid "Add DOC filtering to media library"
1088
+ #~ msgstr "Ajouter le filtrage DOC dans la bibliothèque des médias"
1089
+
1090
+ #~ msgid "Add DOCX filtering to media library"
1091
+ #~ msgstr "Ajouter le filtrage DOCX dans la bibliothèque des médias"
1092
+
1093
+ #~ msgid "Add PPT filtering to media library"
1094
+ #~ msgstr "Ajouter le filtrage PPT dans la bibliothèque des médias"
1095
+
1096
+ #~ msgid "Add PPTX filtering to media library"
1097
+ #~ msgstr "Ajouter le filtrage PPTX dans la bibliothèque des médias"
1098
+
1099
+ #~ msgid "Add XLS filtering to media library"
1100
+ #~ msgstr "Ajouter le filtrage XLS dans la bibliothèque des médias"
1101
+
1102
+ #~ msgid "Add XLSX filtering to media library"
1103
+ #~ msgstr "Ajouter le filtrage XLSX dans la bibliothèque des médias"
1104
+
1105
+ #~ msgid "Roles settings"
1106
+ #~ msgstr "Paramètres des Rôles"
1107
+
1108
+ #~ msgid "&nbsp;"
1109
+ #~ msgstr "&nbsp;"
1110
+
1111
+ #~ msgid "<p>Customize your login screen</p>"
1112
+ #~ msgstr "<p>Personnaliser votre Ecran de Connexion</p>"
1113
+
1114
+ #~ msgid "<p>Customize your Dashboard</p>"
1115
+ #~ msgstr "<p>Personnaliser votre Tableau de bord</p>"
1116
+
1117
+ #~ msgid ""
1118
+ #~ "<p>Drag each item into the order you prefer.<br />Click the arrow on the "
1119
+ #~ "right of the item to reveal submenus.<br />Check an item to <strong>HIDE</"
1120
+ #~ "strong> in WP admin.<br /><strong>NOTE:</strong> Admin Menu Settings does "
1121
+ #~ "not apply to this specific page to avoid conflicts.<br /><span style="
1122
+ #~ "\"color:red\"><strong>WARNING:</strong> Be careful if you hide WP Admin "
1123
+ #~ "UI menu for admins too!</span></p>"
1124
+ #~ msgstr ""
1125
+ #~ "<p>Faites glisser chaque élément dans l'ordre que vous préférez."
1126
+ #~ "<br>Cliquez sur la flèche à droite de l'élément pour révéler des sous-"
1127
+ #~ "menus.<br>Cochez un élément à <strong>Masquer</strong> dans l'admin WP."
1128
+ #~ "<br><strong>Remarque :</strong> Les réglages du menu d'admin ne "
1129
+ #~ "s'appliquent pas à cette page spécifique pour éviter des conflits."
1130
+ #~ "<br><span style=\"color:red\"><strong>Avertissement :</strong> Soyez "
1131
+ #~ "prudent si vous masquez le menu WP Admin UI pour les admins aussi !</"
1132
+ #~ "span></p>"
1133
+
1134
+ #~ msgid "<p>Customize your Admin bar</p>"
1135
+ #~ msgstr "<p>Personnaliser votre Barre d'Admin</p>"
1136
+
1137
+ #~ msgid "<p>Customize TINY MCE Editor</p>"
1138
+ #~ msgstr "<p>Personnaliser l'éditeur TINY MCE</p>"
1139
+
1140
+ #~ msgid "<p>Manage Profil</p>"
1141
+ #~ msgstr "<p>Gérer le Profil</p>"
1142
+
1143
+ #~ msgid "<p>Customize your Media Library</p>"
1144
+ #~ msgstr "<p>Personnaliser votre Bibliothèque des Médias</p>"
1145
+
1146
+ #~ msgid "<p>Apply settings for specific Roles</p>"
1147
+ #~ msgstr "<p>Appliquez les paramètres à des rôles spécifiques</p>"
1148
+
1149
+ #~ msgid "Link URL when you click on the logo, default WordPress.org"
1150
+ #~ msgstr "URL du lien quand vous cliquez sur le logo, défaut, WordPress.org"
1151
+
1152
+ #~ msgid "Image URL of your custom logo"
1153
+ #~ msgstr "URL de l'image de votre logo"
1154
+
1155
+ #~ msgid "Default: Powered by WordPress.org"
1156
+ #~ msgstr "Défaut: Propulsé par WordPress.org"
1157
+
1158
+ #~ msgid "Eg: http://example.com/"
1159
+ #~ msgstr "Ex: http://example.com/"
1160
+
1161
+ #~ msgid "Eg: http://example.com/thank-you"
1162
+ #~ msgstr "Ex: http://example.com/merci"
1163
+
1164
+ #~ msgid "Disable login by Email for users"
1165
+ #~ msgstr "Désactiver la connexion par email pour les utilisateurs"
1166
+
1167
+ #~ msgid "Remove WordPress update notifications"
1168
+ #~ msgstr "Supprimer les notifications de mises à jour WordPress"
1169
+
1170
+ #~ msgid "Users who have defined their own settings will be overwritten"
1171
+ #~ msgstr ""
1172
+ #~ "Les utilisateurs qui ont défini leurs propres paramètres seront effacés"
1173
+
1174
+ #~ msgid "List view mode (default)"
1175
+ #~ msgstr "Mode vue liste (défaut)"
1176
+
1177
+ #~ msgid "Users who have defined their own settings will NOT be overwritten"
1178
+ #~ msgstr ""
1179
+ #~ "Les utilisateurs qui ont défini leurs propres paramètres ne seront PAS "
1180
+ #~ "effacés"
1181
+
1182
+ #~ msgid "Excerpt view mode"
1183
+ #~ msgstr "Mode vue extrait"
1184
+
1185
+ #~ msgid "Disable file editor"
1186
+ #~ msgstr "Désactiver l'éditeur de fichiers"
1187
+
1188
+ #~ msgid "Disable file modifications"
1189
+ #~ msgstr "Désactiver les modifications de fichiers"
1190
+
1191
+ #~ msgid "Block WordPress backend for specific roles"
1192
+ #~ msgstr ""
1193
+ #~ "Bloquer l’admin de WordPress pour des rôles utilisateurs spécifiques"
1194
+
1195
+ #~ msgid ""
1196
+ #~ "Don't forget to assign this option to specific user roles in the Role "
1197
+ #~ "manager page"
1198
+ #~ msgstr ""
1199
+ #~ "N'oubliez pas d'assigner cette option à des rôles utilisateurs "
1200
+ #~ "spécifiques dans la page Rôle du plugin"
1201
+
1202
+ #~ msgid "Disable all WordPress updates"
1203
+ #~ msgstr "Désactiver toutes les mises à jour WP"
1204
+
1205
+ #~ msgid "Disable WordPress core updates"
1206
+ #~ msgstr "Désactiver les mises à jour du core"
1207
+
1208
+ #~ msgid "Disable WordPress core minor updates"
1209
+ #~ msgstr "Désactiver les mises à jour mineures du core"
1210
+
1211
+ #~ msgid "Disable WordPress core major updates"
1212
+ #~ msgstr "Désactiver les mises à jour majeures du core"
1213
+
1214
+ #~ msgid "Enable core updates on a VCS"
1215
+ #~ msgstr "Activer les mises à jour du core sur un SCV (GIT/SVN)"
1216
+
1217
+ #~ msgid "Disable all plugins updates"
1218
+ #~ msgstr "Désactiver les mises à jour des plugins"
1219
+
1220
+ #~ msgid "Disable all themes updates"
1221
+ #~ msgstr "Désactiver les mises à jour des thèmes"
1222
+
1223
+ #~ msgid "Disable all translations updates"
1224
+ #~ msgstr "Désactiver les mises à jour des traductions"
1225
+
1226
+ #~ msgid "Disable emails notifications"
1227
+ #~ msgstr "Désactiver les notifications par mail"
1228
+
1229
+ #~ msgid "Disable Emoji support for old browsers (improve performances)"
1230
+ #~ msgstr ""
1231
+ #~ "Désactiver le support des Emoji pour les anciens navigateurs (améliore "
1232
+ #~ "les performances)"
1233
+
1234
+ #~ msgid ""
1235
+ #~ "Emojis will still continue to work with modern browsers. This setting "
1236
+ #~ "applies to every user/visitor in front AND backend."
1237
+ #~ msgstr ""
1238
+ #~ "Les Emojis continueront de fonctionner avec les navigateurs modernes. Ces "
1239
+ #~ "paramètres s'appliquent à l'ensemble des utilisateurs/visiteurs du site, "
1240
+ #~ "front ET backend."
1241
+
1242
+ #~ msgid "Disable XML RPC is strongly recommended for security reasons!"
1243
+ #~ msgstr ""
1244
+ #~ "Désactiver XML RPC est fortement recommandé pour des raisons de sécurité !"
1245
+
1246
+ #~ msgid "Disable Open Sans"
1247
+ #~ msgstr "Désactiver Open Sans"
1248
+
1249
+ #~ msgid "Enter your avatar url"
1250
+ #~ msgstr "URL de l'image de votre avatar"
1251
+
1252
+ #~ msgid "Display dashboard widgets in a single column"
1253
+ #~ msgstr "Afficher les widgets du Tableau de bord en une seule colonne"
1254
+
1255
+ #~ msgid ""
1256
+ #~ "You need to Refresh in order to initialize the dashboard widgets list."
1257
+ #~ msgstr ""
1258
+ #~ "Vous devez d'abord Rafraichir pour générer la liste des widgets du "
1259
+ #~ "Tableau de bord."
1260
+
1261
+ #~ msgid "Disable Drag and drop for dashboard widgets"
1262
+ #~ msgstr "Désactiver le glisser / déposer des widgets dans le Tableau de bord"
1263
+
1264
+ #~ msgid "My widget title"
1265
+ #~ msgstr "Mon titre de widget"
1266
+
1267
+ #~ msgid "Enter your own menu name"
1268
+ #~ msgstr "Entrez votre propre nom de menu"
1269
+
1270
+ #~ msgid "Display all settings (required manage_options capability)"
1271
+ #~ msgstr "Afficher Tous les paramètres (requiert la capacité manage_options)"
1272
+
1273
+ #~ msgid "Recommended size: 32x32 pixels"
1274
+ #~ msgstr "Taille recommandée: 32x32 pixels"
1275
+
1276
+ #~ msgid "Remove Menu Toggle (hamburger icon in responsive mode)"
1277
+ #~ msgstr "Supprimer Masquer Menu (icône hamburger en mode responsive)"
1278
+
1279
+ #~ msgid "Enable full TinyMCE by default"
1280
+ #~ msgstr "Activer l'éditeur TinyMCE complet par défaut"
1281
+
1282
+ #~ msgid "Add Custom Fonts select"
1283
+ #~ msgstr "Ajouter la liste déroulante Polices personnalisées"
1284
+
1285
+ #~ msgid "Remove Get shortlink button"
1286
+ #~ msgstr "Supprimer le bouton Obtenir le lien court"
1287
+
1288
+ #~ msgid " Add New Document button"
1289
+ #~ msgstr "Ajouter bouton Nouveau document"
1290
+
1291
+ #~ msgid " Add Cut button"
1292
+ #~ msgstr "Ajouter bouton Couper"
1293
+
1294
+ #~ msgid " Add Copy button"
1295
+ #~ msgstr "Ajouter bouton Copier"
1296
+
1297
+ #~ msgid " Add Paste button"
1298
+ #~ msgstr "Ajouter bouton Coller"
1299
+
1300
+ #~ msgid " Add Backcolor button"
1301
+ #~ msgstr "Ajouter le bouton Surlignage"
1302
+
1303
+ #~ msgid "Add Paragraph tag in text editor"
1304
+ #~ msgstr "Ajouter la balise Paragraphe dans la vue Texte de l'éditeur"
1305
+
1306
+ #~ msgid "Add HR tag in text editor"
1307
+ #~ msgstr "Ajouter la balise HR dans la vue Texte de l'éditeur"
1308
+
1309
+ #~ msgid "Add PRE tag in text editor"
1310
+ #~ msgstr "Ajouter la balise PRE dans la vue Texte de l'éditeur"
1311
+
1312
+ #~ msgid "Disable WP formatting shortcuts in text editor"
1313
+ #~ msgstr "Désactiver le formatage des raccourcis dans l'éditeur"
1314
+
1315
+ #~ msgid "Left"
1316
+ #~ msgstr "Gauche"
1317
+
1318
+ #~ msgid "Center"
1319
+ #~ msgstr "Centre"
1320
+
1321
+ #~ msgid "Right"
1322
+ #~ msgstr "Droite"
1323
+
1324
+ #~ msgid "None"
1325
+ #~ msgstr "Aucun"
1326
+
1327
+ #~ msgid "File"
1328
+ #~ msgstr "Fichier"
1329
+
1330
+ #~ msgid "Custom"
1331
+ #~ msgstr "Personnalisé"
1332
+
1333
+ #~ msgid "Post"
1334
+ #~ msgstr "Article"
1335
+
1336
+ #~ msgid ""
1337
+ #~ "<strong>WARNING:</strong> To apply color scheme properly, set in the role "
1338
+ #~ "manager, what role should apply this setting, then define the default "
1339
+ #~ "color scheme and save. If a user has already changed its color scheme, it "
1340
+ #~ "will be erased by the selected one."
1341
+ #~ msgstr ""
1342
+ #~ "<strong>ATTENTION:</strong> Pour appliquer le schéma de couleur "
1343
+ #~ "proprement, définissez dans la page Rôle, quels rôles doivent appliquer "
1344
+ #~ "ce paramètre, puis appliquez un schéma de couleur par défaut et "
1345
+ #~ "sauvegardez. Si un utilisateur a déjà modifier son schéma de couleur, "
1346
+ #~ "celui ci sera effacé par le nouveau sélectionné."
1347
+
1348
+ #~ msgid "Light"
1349
+ #~ msgstr "Light"
1350
+
1351
+ #~ msgid "Blue"
1352
+ #~ msgstr "Blue"
1353
+
1354
+ #~ msgid "Coffee"
1355
+ #~ msgstr "Coffee"
1356
+
1357
+ #~ msgid "Ectoplasm"
1358
+ #~ msgstr "Ectoplasm"
1359
+
1360
+ #~ msgid "Midnight"
1361
+ #~ msgstr "Midnight"
1362
+
1363
+ #~ msgid "Ocean"
1364
+ #~ msgstr "Ocean"
1365
+
1366
+ #~ msgid "Sunrise"
1367
+ #~ msgstr "Sunrise"
1368
+
1369
+ #~ msgid "WPUI Algua"
1370
+ #~ msgstr "WPUI Algua"
1371
+
1372
+ #~ msgid "WPUI Dark"
1373
+ #~ msgstr "WPUI Dark"
1374
+
1375
+ #~ msgid "WPUI Teal"
1376
+ #~ msgstr "WPUI Teal"
1377
+
1378
+ #~ msgid "WPUI Ice"
1379
+ #~ msgstr "WPUI Ice"
1380
+
1381
+ #~ msgid "WPUI Army"
1382
+ #~ msgstr "WPUI Army"
1383
+
1384
+ #~ msgid "WPUI Bayonne"
1385
+ #~ msgstr "WPUI Bayonne"
1386
+
1387
+ #~ msgid "WPUI Fashion"
1388
+ #~ msgstr "WPUI Fashion"
1389
+
1390
+ #~ msgid "WPUI Cafe"
1391
+ #~ msgstr "WPUI Cafe"
1392
+
1393
+ #~ msgid ""
1394
+ #~ "Use get_the_author_meta('wpui-facebook'); to retreive this value in front-"
1395
+ #~ "end"
1396
+ #~ msgstr ""
1397
+ #~ "Utilisez get_the_author_meta('wpui-facebook'); pour récupérer la valeur "
1398
+ #~ "en front-end"
1399
+
1400
+ #~ msgid ""
1401
+ #~ "Use get_the_author_meta('wpui-twitter'); to retreive this value in front-"
1402
+ #~ "end"
1403
+ #~ msgstr ""
1404
+ #~ "Utilisez get_the_author_meta('wpui-twitter'); pour récupérer la valeur en "
1405
+ #~ "front-end"
1406
+
1407
+ #~ msgid ""
1408
+ #~ "Use get_the_author_meta('wpui-instagram'); to retreive this value in "
1409
+ #~ "front-end"
1410
+ #~ msgstr ""
1411
+ #~ "Utilisez get_the_author_meta('wpui-instagram'); pour récupérer la valeur "
1412
+ #~ "en front-end"
1413
+
1414
+ #~ msgid ""
1415
+ #~ "Use get_the_author_meta('wpui-linkedin'); to retreive this value in front-"
1416
+ #~ "end"
1417
+ #~ msgstr ""
1418
+ #~ "Utilisez get_the_author_meta('wpui-linkedin'); pour récupérer la valeur "
1419
+ #~ "en front-end"
1420
+
1421
+ #~ msgid "Existing images must be regenerate to apply new image quality."
1422
+ #~ msgstr ""
1423
+ #~ "Les images existantes doivent être régénérées pour appliquer les nouveaux "
1424
+ #~ "paramètres d'image."
1425
+
1426
+ #~ msgid "Clean filenames when upload files to media library"
1427
+ #~ msgstr ""
1428
+ #~ "Nettoyer les noms de fichiers lors de l'envoi de fichiers dans la "
1429
+ #~ "Bibliothèque de médias"
1430
+
1431
+ #~ msgid "Allow SVG file in media library (can present a security risk)"
1432
+ #~ msgstr ""
1433
+ #~ "Autoriser les fichiers SVG dans la Bibliothèque de médias (peut présenter "
1434
+ #~ "un risque pour la sécurité)"
1435
+
1436
+ #~ msgid ""
1437
+ #~ "This option can not be changed because it's bypassed by a plugin, a mu-"
1438
+ #~ "plugin or your theme."
1439
+ #~ msgstr ""
1440
+ #~ "Cette option ne peut être appliquée car elle est déjà surpassée par un "
1441
+ #~ "plugin, un mu-plugin ou votre thème."
1442
+
1443
+ #~ msgid "Add PDF filter"
1444
+ #~ msgstr "Ajouter le filtre PDF"
1445
+
1446
+ #~ msgid "Add ZIP filter"
1447
+ #~ msgstr "Ajouter le filtre ZIP"
1448
+
1449
+ #~ msgid "Add RAR filter"
1450
+ #~ msgstr "Ajouter le filtre RAR"
1451
+
1452
+ #~ msgid "Add 7Z filter"
1453
+ #~ msgstr "Ajouter le filtre 7Z"
1454
+
1455
+ #~ msgid "Add TAR filter"
1456
+ #~ msgstr "Ajouter le filtre TAR"
1457
+
1458
+ #~ msgid "Add SWF filter"
1459
+ #~ msgstr "Ajouter le filtre SWF"
1460
+
1461
+ #~ msgid "Add DOC filter"
1462
+ #~ msgstr "Ajouter le filtre DOC"
1463
+
1464
+ #~ msgid "Add DOCX filter"
1465
+ #~ msgstr "Ajouter le filtre DOCX"
1466
+
1467
+ #~ msgid "Add PPT filter"
1468
+ #~ msgstr "Ajouter le filtre PPT"
1469
+
1470
+ #~ msgid "Add PPTX filter"
1471
+ #~ msgstr "Ajouter le filtre PPTX"
1472
+
1473
+ #~ msgid "Add XLS filter"
1474
+ #~ msgstr "Ajouter le filtre XLS"
1475
+
1476
+ #~ msgid "Add XLSX filter"
1477
+ #~ msgstr "Ajouter le filtre XLSX"
1478
+
1479
+ #~ msgid "Define default view mode in list view (default list view mode)"
1480
+ #~ msgstr ""
1481
+ #~ "Définir le mode d'affichage par défaut dans les vues listes (mode de vue "
1482
+ #~ "par défaut)"
1483
+
1484
+ #~ msgid "Block WordPress admin for user roles"
1485
+ #~ msgstr ""
1486
+ #~ "Bloquer l’admin de WordPress pour des rôles d’utilisateurs spécifiques"
1487
+
1488
+ #~ msgid "Disable JS concatenation"
1489
+ #~ msgstr "Désactiver la concaténation JS"
1490
+
1491
+ #~ msgid "Enable custom avatar"
1492
+ #~ msgstr "Activer l'avatar personnalisé"
1493
+
1494
+ #~ msgid "Disable drag and drop for dashboard widgets"
1495
+ #~ msgstr "Désactiver le glisser / déposer des widgets dans le Tableau de bord"
1496
+
1497
+ #~ msgid "Display a custom widget in Dashboard"
1498
+ #~ msgstr "Afficher un widget personnalisé dans le Tableau de bord"
1499
+
1500
+ #~ msgid "Remove metaboxes"
1501
+ #~ msgstr "Supprimer les metaboxes"
1502
+
1503
+ #~ msgid "Remove columns"
1504
+ #~ msgstr "Supprimer les colonnes"
1505
+
1506
+ #~ msgid "Show post ID column"
1507
+ #~ msgstr "Afficher la colonne ID du post"
1508
+
1509
+ #~ msgid "Show Thumbnail column"
1510
+ #~ msgstr "Afficher la colonne miniature"
1511
+
1512
+ #~ msgid "Show Page Template column"
1513
+ #~ msgstr "Afficher la colonne template de page"
1514
+
1515
+ #~ msgid "Clean filenames when uploading files to media library"
1516
+ #~ msgstr ""
1517
+ #~ "Nettoyer les noms de fichiers lors l'envoi de fichiers dans WordPress"
1518
+
1519
+ #~ msgid "Add Dimensions column in media library"
1520
+ #~ msgstr "Ajouter la colonne dimensions dans la Bibliothèque de médias"
1521
+
1522
+ #~ msgid "Add Facebook field in Profil"
1523
+ #~ msgstr "Ajouter le champ Facebook dans le profil utilisateur"
1524
+
1525
+ #~ msgid "Add Twitter field in Profil"
1526
+ #~ msgstr "Ajouter le champ Twitter dans le profil utilisateur"
1527
+
1528
+ #~ msgid "Add Instagram field in Profil"
1529
+ #~ msgstr "Ajouter le champ Instagram dans le profil utilisateur"
1530
+
1531
+ #~ msgid "Add LinkedIn field in Profil"
1532
+ #~ msgstr "Ajouter le champ LinkedIn dans le profil utilisateur"
1533
+
1534
+ #~ msgid "Remove WP SEO columns in list view"
1535
+ #~ msgstr "Supprimer les colonnes WP SEO dans la vue liste"
1536
+
1537
+ #~ msgid "Remove WP SEO in admin bar"
1538
+ #~ msgstr "Supprimer WP SEO de la barre d'admin"
1539
+
1540
+ #~ msgid "Move WP SEO Metabox to low position"
1541
+ #~ msgstr "Déplacer la metaboxe WP SEO vers le bas"
1542
+
1543
+ #~ msgid "Remove WP SEO admin notices"
1544
+ #~ msgstr "Supprimer les notices d'admin de WP SEO"
1545
+
1546
+ #~ msgid "Remove WPML advert in publish metabox"
1547
+ #~ msgstr "Supprimer la publicité WPML dans la metaboxe Publier"
1548
+
1549
+ #~ msgid "Remove WPML in admin bar"
1550
+ #~ msgstr "Supprimer WPML dans la barre d'admin"
1551
+
1552
+ #~ msgid "Remove WPML in dashboard widget"
1553
+ #~ msgstr "Supprimer le widget WPML du Tableau de bord"
1554
+
1555
+ #~ msgid "Remove Install the WooThemes Updater plugin"
1556
+ #~ msgstr "Supprimer la notification Installer le plugin WooThemes Updater"
1557
+
1558
+ #~ msgid "Enable field label visibility in Gravity Forms"
1559
+ #~ msgstr "Activez la visibilité du label des champs dans Gravity Forms"
1560
+
1561
+ #~ msgid "Disable Just in Time messages from Jetpack"
1562
+ #~ msgstr "Supprimez les messages de notification Jetpack 'Just in Time'"
1563
+
1564
+ #~ msgid "Enable custom admin Themes"
1565
+ #~ msgstr "Activez les thèmes d'admin personnalisés"
1566
+
1567
+ #~ msgid "Toggle All"
1568
+ #~ msgstr "Tout sélectionner"
1569
+
1570
+ #~ msgid "License"
1571
+ #~ msgstr "Licence"
1572
+
1573
+ #~ msgid ""
1574
+ #~ "Before starting: define which roles to apply settings using Role Manager "
1575
+ #~ "page."
1576
+ #~ msgstr ""
1577
+ #~ "Avant de commencer: définissez à quels rôles utilisateurs doivent "
1578
+ #~ "s'appliquer chaque paramètre via la page Rôles."
1579
+
1580
+ #~ msgid "Howdy,"
1581
+ #~ msgstr "Salutations,"
1582
+
1583
+ #~ msgid "All Settings"
1584
+ #~ msgstr "Tous les paramètres"
1585
+
1586
+ #~ msgid " Users"
1587
+ #~ msgstr "Utilisateurs"
1588
+
1589
+ #~ msgid "My custom widget"
1590
+ #~ msgstr "Mon widget perso"
1591
+
1592
+ #~ msgid "Your credentials are incorrect"
1593
+ #~ msgstr "Vos identifiants sont incorrects"
1594
+
1595
+ #~ msgid "EXIF"
1596
+ #~ msgstr "EXIF"
1597
+
1598
+ #~ msgid " second"
1599
+ #~ msgstr "seconde"
1600
+
1601
+ #~ msgid " seconds"
1602
+ #~ msgstr "secondes"
1603
+
1604
+ #~ msgid "ID"
1605
+ #~ msgstr "ID"
1606
+
1607
+ #~ msgid "PDFs"
1608
+ #~ msgstr "PDFs"
1609
+
1610
+ #~ msgid "Manage PDFs"
1611
+ #~ msgstr "Gérer PDFs"
1612
+
1613
+ #~ msgid "ZIPs"
1614
+ #~ msgstr "ZIPs"
1615
+
1616
+ #~ msgid "Manage ZIPs"
1617
+ #~ msgstr "Gérer ZIPs"
1618
+
1619
+ #~ msgid "RARs"
1620
+ #~ msgstr "RARs"
1621
+
1622
+ #~ msgid "Manage RARs"
1623
+ #~ msgstr "Gérer RARs"
1624
+
1625
+ #~ msgid "7Zs"
1626
+ #~ msgstr "7Zs"
1627
+
1628
+ #~ msgid "Manage 7Zs"
1629
+ #~ msgstr "Gérer 7Zs"
1630
+
1631
+ #~ msgid "TARs"
1632
+ #~ msgstr "TARs"
1633
+
1634
+ #~ msgid "Manage TARs"
1635
+ #~ msgstr "Gérer TARs"
1636
+
1637
+ #~ msgid "SWFs"
1638
+ #~ msgstr "SWFs"
1639
+
1640
+ #~ msgid "Manage SWFs"
1641
+ #~ msgstr "Gérer SWFs"
1642
+
1643
+ #~ msgid "DOCs"
1644
+ #~ msgstr "DOCs"
1645
+
1646
+ #~ msgid "Manage DOCs"
1647
+ #~ msgstr "Gérer DOCs"
1648
+
1649
+ #~ msgid "DOCXs"
1650
+ #~ msgstr "DOCXs"
1651
+
1652
+ #~ msgid "Manage DOCXs"
1653
+ #~ msgstr "Gérer DOCXs"
1654
+
1655
+ #~ msgid "PPTs"
1656
+ #~ msgstr "PPTs"
1657
+
1658
+ #~ msgid "Manage PPTs"
1659
+ #~ msgstr "Gérer PPTs"
1660
+
1661
+ #~ msgid "PPTXs"
1662
+ #~ msgstr "PPTXs"
1663
+
1664
+ #~ msgid "Manage PPTXs"
1665
+ #~ msgstr "Gérer PPTXs"
1666
+
1667
+ #~ msgid "XLSs"
1668
+ #~ msgstr "XLSs"
1669
+
1670
+ #~ msgid "Manage XLSs"
1671
+ #~ msgstr "Gérer XLSs"
1672
+
1673
+ #~ msgid "XLSXs"
1674
+ #~ msgstr "XLSXs"
1675
+
1676
+ #~ msgid "Manage XLSXs"
1677
+ #~ msgstr "Gérer XLSXs"
1678
+
1679
+ #~ msgid "Facebook URL"
1680
+ #~ msgstr "Facebook URL"
1681
+
1682
+ #~ msgid "Twitter URL"
1683
+ #~ msgstr "Twitter URL"
1684
+
1685
+ #~ msgid "Revisions"
1686
+ #~ msgstr "Révisions"
1687
+
1688
+ #~ msgid "Comments"
1689
+ #~ msgstr "Commentaires"
1690
+
1691
+ #~ msgid "Media Library settings"
1692
+ #~ msgstr "Paramètres de la Bibliothèque de médias ?"
1693
+
1694
+ #~ msgid "Apply settings to specific roles:"
1695
+ #~ msgstr "Appliquer les paramètres à des rôles spécifiques :"
1696
+
1697
+ #~ msgid ""
1698
+ #~ "<p>Drag each item into the order you prefer.<br />Click the arrow on the "
1699
+ #~ "right of the item to reveal submenus.<br />Check an item to <strong>HIDE</"
1700
+ #~ "strong> in WP admin.</p>"
1701
+ #~ msgstr ""
1702
+ #~ "<p>Glisser-déposer chaque item dans l'ordre souhaité.<br />Cliquez sur la "
1703
+ #~ "flèche dans le coin supérieur droit de l'item pour afficher les sous-"
1704
+ #~ "menus.<br />Cochez un item pour <strong>MASQUER</strong> ce dernier de "
1705
+ #~ "l'admin WP.</p>"
1706
+
1707
+ #~ msgid "Custom logo"
1708
+ #~ msgstr "Logo personnalisé"
1709
+
1710
+ #~ msgid "Custom login CSS?"
1711
+ #~ msgstr "CSS personnalisée pour l'écran de connexion"
1712
+
1713
+ #~ msgid "Custom logo url?"
1714
+ #~ msgstr "URL du logo personnalisé ?"
1715
+
1716
+ #~ msgid "Custom logo?"
1717
+ #~ msgstr "Logo personnalisé ?"
1718
+
1719
+ #~ msgid "Custom logo title?"
1720
+ #~ msgstr "Titre (infobulle) du logo personnalisée ?"
1721
+
1722
+ #~ msgid "Custom background image?"
1723
+ #~ msgstr "Image d'arrière plan personnalisée ?"
1724
+
1725
+ #~ msgid "Always checked remember me?"
1726
+ #~ msgstr "Toujours cocher Se souvenir de moi ?"
1727
+
1728
+ #~ msgid "Remove error message for security?"
1729
+ #~ msgstr "Supprimer les messages d'erreur par sécurité ?"
1730
+
1731
+ #~ msgid "Custom admin CSS?"
1732
+ #~ msgstr "Feuille de styles perso pour l'admin ?"
1733
+
1734
+ #~ msgid "Remove WordPress version in footer?"
1735
+ #~ msgstr "Supprimer la version de WordPress dans le pied de page ?"
1736
+
1737
+ #~ msgid "Custom WordPress version in footer?"
1738
+ #~ msgstr "Version de WordPress personnalisée dans le pied de page ?"
1739
+
1740
+ #~ msgid "Remove WordPress credits in footer?"
1741
+ #~ msgstr "Supprimer les crédits WordPress du pied de page ?"
1742
+
1743
+ #~ msgid "Custom WordPress credits in footer?"
1744
+ #~ msgstr "Crédits WordPress personnalisé dans le pied de page ?"
1745
+
1746
+ #~ msgid "Custom favicon in admin?"
1747
+ #~ msgstr "Favicon personnalisé dans l'admin ?"
1748
+
1749
+ #~ msgid "Remove help tab?"
1750
+ #~ msgstr "Supprimer l'onglet Aide ?"
1751
+
1752
+ #~ msgid "Remove screen options tab?"
1753
+ #~ msgstr "Supprimer l'onglet Options de l'écran ?"
1754
+
1755
+ #~ msgid "Disable Open Sans loading from Google?"
1756
+ #~ msgstr "Désactiver le chargement d'Open Sans depuis Google ?"
1757
+
1758
+ #~ msgid "Hide autogenerated password message?"
1759
+ #~ msgstr "Masquer \"Vous utilisez un mot de passe auto généré\" ?"
1760
+
1761
+ #~ msgid "Number of items per page in list view? (default 20)"
1762
+ #~ msgstr "Nombre d'items par page dans les vues listes (défaut 20)"
1763
+
1764
+ #~ msgid "Disable file editor for themes and plugins?"
1765
+ #~ msgstr "Désactiver l'éditeur de fichiers de thèmes et plugins ?"
1766
+
1767
+ #~ msgid "Disable Plugin and Theme Update, and Installation?"
1768
+ #~ msgstr ""
1769
+ #~ "Désactiver les mises à jours et l'installation de thèmes et plugins ?"
1770
+
1771
+ #~ msgid "Disable WordPress updates notifications?"
1772
+ #~ msgstr "Désactiver les notifications de mises à jour WordPress ?"
1773
+
1774
+ #~ msgid "Disable all updates?"
1775
+ #~ msgstr "Désactiver toutes les mises à jour ?"
1776
+
1777
+ #~ msgid "Disable core updates?"
1778
+ #~ msgstr "Désactiver les mises à jour du core ?"
1779
+
1780
+ #~ msgid "Disable core development updates?"
1781
+ #~ msgstr "Désactiver les mises à jour du core (dev) ?"
1782
+
1783
+ #~ msgid "Disable minor core updates?"
1784
+ #~ msgstr "Désactiver les mises à jour mineures du core ?"
1785
+
1786
+ #~ msgid "Disable major core updates?"
1787
+ #~ msgstr "Désactiver les mises à jour majeures du core ?"
1788
+
1789
+ #~ msgid "Enable automatic updates on Versioning Control System (GIT/SVN)?"
1790
+ #~ msgstr ""
1791
+ #~ "Activer les mises à jour automatiques sur des systèmes de contrôle de "
1792
+ #~ "versions (GIT/SVN) ?"
1793
+
1794
+ #~ msgid "Disable automatic updates for all plugins?"
1795
+ #~ msgstr "Désactiver les mises à jour automatiques pour tous les plugins ?"
1796
+
1797
+ #~ msgid "Disable automatic updates for all themes?"
1798
+ #~ msgstr "Désactiver les mises à jour automatiques pour tous les thèmes ?"
1799
+
1800
+ #~ msgid "Disable automatic updates for all translations?"
1801
+ #~ msgstr ""
1802
+ #~ "Désactiver les mises à jour automatiques pour tous les traductions ?"
1803
+
1804
+ #~ msgid "Disable update emails notifications?"
1805
+ #~ msgstr "Désactiver les notifications par mail des mises à jour ?"
1806
+
1807
+ #~ msgid "Disable JS concatenation?"
1808
+ #~ msgstr "Désactiver la concaténation JS ?"
1809
+
1810
+ #~ msgid "Remove Welcome Panel?"
1811
+ #~ msgstr "Supprimer le Panneau de bienvenue"
1812
+
1813
+ #~ msgid "Remove dashboard widgets?"
1814
+ #~ msgstr "Supprimer les widgets du Tableau de bord"
1815
+
1816
+ #~ msgid "Display all settings in menu?"
1817
+ #~ msgstr "Afficher Tous les paramètres dans le menu ?"
1818
+
1819
+ #~ msgid "Remove WordPress logo in admin bar?"
1820
+ #~ msgstr "Supprimer le logo WordPress dans la barre d'admin"
1821
+
1822
+ #~ msgid "Remove Site Name in admin bar?"
1823
+ #~ msgstr "Supprimer le nom du site dans la barre d'admin ?"
1824
+
1825
+ #~ msgid "Remove My Account in admin bar?"
1826
+ #~ msgstr "Supprimer Mon compte dans la barre d'admin ?"
1827
+
1828
+ #~ msgid "Remove Menu Toggle in admin bar?"
1829
+ #~ msgstr "Supprimer Masquer menu dans la barre d'admin ?"
1830
+
1831
+ #~ msgid "Remove Edit in admin bar?"
1832
+ #~ msgstr "Supprimer Editer dans la barre d'admin"
1833
+
1834
+ #~ msgid "Remove View in admin bar?"
1835
+ #~ msgstr "Supprimer Voir dans la barre d'admin ?"
1836
+
1837
+ #~ msgid "Remove Preview in admin bar?"
1838
+ #~ msgstr "Supprimer Prévisualiser dans la barre d'admin ?"
1839
+
1840
+ #~ msgid "Remove Comments in admin bar?"
1841
+ #~ msgstr "Supprimer Commentaires dans la barre d'admin ?"
1842
+
1843
+ #~ msgid "Remove New Content in admin bar?"
1844
+ #~ msgstr "Supprimer Nouveau dans la barre d'admin ?"
1845
+
1846
+ #~ msgid "Remove View Site in admin bar?"
1847
+ #~ msgstr "Supprimer Voir le site dans la barre d'admin ?"
1848
+
1849
+ #~ msgid "Remove Updates in admin bar?"
1850
+ #~ msgstr "Supprimer Mises à jour dans la barre d'admin ?"
1851
+
1852
+ #~ msgid "Remove customize in admin bar?"
1853
+ #~ msgstr "Supprimer Personnaliser dans la barre d'admin ?"
1854
+
1855
+ #~ msgid "Remove search in admin bar?"
1856
+ #~ msgstr "Supprimer Recherche dans la barre d'admin"
1857
+
1858
+ #~ msgid "Disable admin bar in front-end?"
1859
+ #~ msgstr "Désactiver la barre d'admin en front-end ?"
1860
+
1861
+ #~ msgid "Enable Full TinyMCE by default?"
1862
+ #~ msgstr "Activer l'éditeur TinyMCE complet par défaut ?"
1863
+
1864
+ #~ msgid "Add Font Size select?"
1865
+ #~ msgstr "Ajouter la liste déroulante Taille de la police ?"
1866
+
1867
+ #~ msgid "Add Font Family select?"
1868
+ #~ msgstr "Ajouter la liste déroulante Famille de Police ?"
1869
+
1870
+ #~ msgid "Add custom Fonts select?"
1871
+ #~ msgstr "Ajouter la liste déroulante Polices personnalisées ?"
1872
+
1873
+ #~ msgid "Add Formats select (styles)?"
1874
+ #~ msgstr "Ajouter la liste déroulante Formats (styles) ?"
1875
+
1876
+ #~ msgid "Remove Get Shortlink button?"
1877
+ #~ msgstr "Supprimer le bouton Obtenir le lien court ?"
1878
+
1879
+ #~ msgid "Add New Document button?"
1880
+ #~ msgstr "Ajouter bouton Nouveau document ?"
1881
+
1882
+ #~ msgid "Add Cut button?"
1883
+ #~ msgstr "Ajouter bouton Couper ?"
1884
+
1885
+ #~ msgid "Add Copy button?"
1886
+ #~ msgstr "Ajouter bouton Copier ?"
1887
+
1888
+ #~ msgid "Add Paste button?"
1889
+ #~ msgstr "Ajouter bouton Coller ?"
1890
+
1891
+ #~ msgid "Add Backcolor button?"
1892
+ #~ msgstr "Ajouter le bouton Surlignage ?"
1893
+
1894
+ #~ msgid "Remove Insert Media in Media Modal?"
1895
+ #~ msgstr "Supprimer Insérer Média dans la modal Media ?"
1896
+
1897
+ #~ msgid "Remove Upload Files in Media Modal?"
1898
+ #~ msgstr "Supprimer Mettre en ligne dans la modal Media ?"
1899
+
1900
+ #~ msgid "Remove Media Library in Media Modal?"
1901
+ #~ msgstr "Supprimer Bibliothèque des médias dans la modal Media ?"
1902
+
1903
+ #~ msgid "Remove Create Gallery in Media Modal?"
1904
+ #~ msgstr "Supprimer Créer galerie dans la modal Media ?"
1905
+
1906
+ #~ msgid "Remove Create Playlist in Media Modal?"
1907
+ #~ msgstr "Supprimer Créer Playlist dans la modal Media ?"
1908
+
1909
+ #~ msgid "Remove Set Featured Image in Media Modal?"
1910
+ #~ msgstr "Supprimer Définir comme image à la une dans la modal Media ?"
1911
+
1912
+ #~ msgid "Remove Insert From URL in Media Modal?"
1913
+ #~ msgstr "Supprimer Insérer depuis une URL dans la modal Media ?"
1914
+
1915
+ #~ msgid "Add \"p\" quicktags in Text Editor?"
1916
+ #~ msgstr "Ajouter la balise Paragraphe dans la vue Texte de l'éditeur ?"
1917
+
1918
+ #~ msgid "Add \"hr\" quicktags in Text Editor?"
1919
+ #~ msgstr "Ajouter la balise HR dans la vue Texte de l'éditeur ?"
1920
+
1921
+ #~ msgid "Add \"pre\" quicktags in Text Editor?"
1922
+ #~ msgstr "Ajouter la balise PRE dans la vue Texte de l'éditeur ?"
1923
+
1924
+ #~ msgid "Remove Disable the visual editor when writing?"
1925
+ #~ msgstr "Supprimer Désactiver l'éditeur visuel lors de l'écriture ?"
1926
+
1927
+ #~ msgid "Remove Admin Color Scheme?"
1928
+ #~ msgstr "Supprimer les schémas de couleurs ?"
1929
+
1930
+ #~ msgid "Set a default admin color scheme?"
1931
+ #~ msgstr "Définir un schéma de couleur d'admin par défaut ?"
1932
+
1933
+ #~ msgid "Remove Enable Keyboard Shortcuts for comment moderation?"
1934
+ #~ msgstr ""
1935
+ #~ "Supprimer Activer les raccourcis claviers pour la modération des "
1936
+ #~ "commentaires ?"
1937
+
1938
+ #~ msgid "Remove Show Toolbar when viewing site?"
1939
+ #~ msgstr ""
1940
+ #~ "Supprimer Afficher la barre d'outils lors de la visualisation du site ?"
1941
+
1942
+ #~ msgid "Define JPG image quality (default 90%)?"
1943
+ #~ msgstr "Définir la qualité d'image JPG (défaut 90%) ?"
1944
+
1945
+ #~ msgid "Add PDF filtering to media library?"
1946
+ #~ msgstr "Ajouter le filtrage PDF dans la bibliothèque des médias ?"
1947
+
1948
+ #~ msgid "Add ZIP filtering to media library?"
1949
+ #~ msgstr "Ajouter le filtrage ZIP dans la bibliothèque des médias ?"
1950
+
1951
+ #~ msgid "Add RAR filtering to media library?"
1952
+ #~ msgstr "Ajouter le filtrage RAR dans la bibliothèque des médias ?"
1953
+
1954
+ #~ msgid "Add 7Z filtering to media library?"
1955
+ #~ msgstr "Ajouter le filtrage 7Z dans la bibliothèque des médias ?"
1956
+
1957
+ #~ msgid "Add TAR filtering to media library?"
1958
+ #~ msgstr "Ajouter le filtrage TAR dans la bibliothèque des médias ?"
1959
+
1960
+ #~ msgid "Add SWF filtering to media library?"
1961
+ #~ msgstr "Ajouter le filtrage SWF dans la bibliothèque des médias ?"
1962
+
1963
+ #~ msgid "Add DOC filtering to media library?"
1964
+ #~ msgstr "Ajouter le filtrage DOC dans la bibliothèque des médias ?"
1965
+
1966
+ #~ msgid "Add DOCX filtering to media library?"
1967
+ #~ msgstr "Ajouter le filtrage DOCX dans la bibliothèque des médias ?"
1968
+
1969
+ #~ msgid "Add PPT filtering to media library?"
1970
+ #~ msgstr "Ajouter le filtrage PPT dans la bibliothèque des médias ?"
1971
+
1972
+ #~ msgid "Add PPTX filtering to media library?"
1973
+ #~ msgstr "Ajouter le filtrage PPTX dans la bibliothèque des médias ?"
1974
+
1975
+ #~ msgid "Add XLS filtering to media library?"
1976
+ #~ msgstr "Ajouter le filtrage XLS dans la bibliothèque des médias ?"
1977
+
1978
+ #~ msgid "Add XLSX filtering to media library?"
1979
+ #~ msgstr "Ajouter le filtrage XLSX dans la bibliothèque des médias ?"
1980
+
1981
+ #~ msgid "Remove WordPress update notifications?"
1982
+ #~ msgstr "Supprimer les notifications de mises à jour WordPress ?"
1983
+
1984
+ #~ msgid "Disable file editor?"
1985
+ #~ msgstr "Désactiver l'éditeur de fichiers ?"
1986
+
1987
+ #~ msgid "Disable file modifications?"
1988
+ #~ msgstr "Désactiver les modifications de fichiers ?"
1989
+
1990
+ #~ msgid "Disable all WordPress updates?"
1991
+ #~ msgstr "Désactiver toutes les mises à jour WP ?"
1992
+
1993
+ #~ msgid "Disable WordPress core updates?"
1994
+ #~ msgstr "Désactiver les mises à jour du core ?"
1995
+
1996
+ #~ msgid "Disable WordPress core minor updates?"
1997
+ #~ msgstr "Désactiver les mises à jour mineures du core ?"
1998
+
1999
+ #~ msgid "Disable WordPress core major updates?"
2000
+ #~ msgstr "Désactiver les mises à jour majeures du core ?"
2001
+
2002
+ #~ msgid "Enable core updates on a VCS?"
2003
+ #~ msgstr "Activer les mises à jour du core sur un SCV (GIT/SVN) ?"
2004
+
2005
+ #~ msgid "Disable all plugins updates?"
2006
+ #~ msgstr "Désactiver les mises à jour des plugins ?"
2007
+
2008
+ #~ msgid "Disable all themes updates?"
2009
+ #~ msgstr "Désactiver les mises à jour des thèmes ?"
2010
+
2011
+ #~ msgid "Disable all translations updates?"
2012
+ #~ msgstr "Désactiver les mises à jour des traductions ?"
2013
+
2014
+ #~ msgid "Disable emails notifications?"
2015
+ #~ msgstr "Désactiver les notifications par mail ?"
2016
+
2017
+ #~ msgid "Disable Open Sans?"
2018
+ #~ msgstr "Désactiver Open Sans ?"
2019
+
2020
+ #~ msgid "Display all settings (required manage_options capability)?"
2021
+ #~ msgstr ""
2022
+ #~ "Afficher Tous les paramètres (requiert la capacité manage_options) ?"
2023
+
2024
+ #~ msgid "Remove Menu Toggle (hamburger icon in responsive mode)?"
2025
+ #~ msgstr "Supprimer Masquer Menu (icône hamburger en mode responsive) ?"
2026
+
2027
+ #~ msgid "Enable full TinyMCE by default?"
2028
+ #~ msgstr "Activer l'éditeur TinyMCE complet par défaut ?"
2029
+
2030
+ #~ msgid "Add Custom Fonts select?"
2031
+ #~ msgstr "Ajouter la liste déroulante Polices personnalisées ?"
2032
+
2033
+ #~ msgid "Remove Get shortlink button?"
2034
+ #~ msgstr "Supprimer le bouton Obtenir le lien court ?"
2035
+
2036
+ #~ msgid " Add New Document button?"
2037
+ #~ msgstr "Ajouter bouton Nouveau document ?"
2038
+
2039
+ #~ msgid " Add Cut button?"
2040
+ #~ msgstr "Ajouter bouton Couper ?"
2041
+
2042
+ #~ msgid " Add Copy button?"
2043
+ #~ msgstr "Ajouter bouton Couper ?"
2044
+
2045
+ #~ msgid " Add Paste button?"
2046
+ #~ msgstr "Ajouter bouton Coller ?"
2047
+
2048
+ #~ msgid " Add Backcolor button?"
2049
+ #~ msgstr "Ajouter le bouton Surlignage ?"
2050
+
2051
+ #~ msgid "Add Paragraph tag in text editor?"
2052
+ #~ msgstr "Ajouter la balise Paragraphe dans la vue Texte de l'éditeur ?"
2053
+
2054
+ #~ msgid "Add HR tag in text editor?"
2055
+ #~ msgstr "Ajouter la balise HR dans la vue Texte de l'éditeur ?"
2056
+
2057
+ #~ msgid "Add PRE tag in text editor?"
2058
+ #~ msgstr "Ajouter la balise PRE dans la vue Texte de l'éditeur ?"
2059
+
2060
+ #~ msgid "Add PDF filter?"
2061
+ #~ msgstr "Ajouter le filtre PDF ?"
2062
+
2063
+ #~ msgid "Add ZIP filter?"
2064
+ #~ msgstr "Ajouter le filtre ZIP ?"
2065
+
2066
+ #~ msgid "Add RAR filter?"
2067
+ #~ msgstr "Ajouter le filtre RAR ?"
2068
+
2069
+ #~ msgid "Add 7Z filter?"
2070
+ #~ msgstr "Ajouter le filtre 7Z ?"
2071
+
2072
+ #~ msgid "Add TAR filter?"
2073
+ #~ msgstr "Ajouter le filtre TAR ?"
2074
+
2075
+ #~ msgid "Add SWF filter?"
2076
+ #~ msgstr "Ajouter le filtre SWF ?"
2077
+
2078
+ #~ msgid "Add DOC filter?"
2079
+ #~ msgstr "Ajouter le filtre DOC ?"
2080
+
2081
+ #~ msgid "Add DOCX filter?"
2082
+ #~ msgstr "Ajouter le filtre DOCX ?"
2083
+
2084
+ #~ msgid "Add PPT filter?"
2085
+ #~ msgstr "Ajouter le filtre PPT ?"
2086
+
2087
+ #~ msgid "Add PPTX filter?"
2088
+ #~ msgstr "Ajouter le filtre PPTX ?"
2089
+
2090
+ #~ msgid "Add XLS filter?"
2091
+ #~ msgstr "Ajouter le filtre XLS ?"
2092
+
2093
+ #~ msgid "Add XLSX filter?"
2094
+ #~ msgstr "Ajouter le filtre XLSX ?"
2095
+
2096
+ #~ msgid "Remove WP SEO columns in list view?"
2097
+ #~ msgstr "Supprimer les colonnes WP SEO dans la vue liste ?"
2098
+
2099
+ #~ msgid "Move WP SEO Metabox to low position?"
2100
+ #~ msgstr "Déplacer la metaboxe WP SEO vers le bas ?"
2101
+
2102
+ #~ msgid "Remove WPML advert in publish metabox?"
2103
+ #~ msgstr "Supprimer la publicité WPML dans la metaboxe Publier ?"
2104
+
2105
+ #~ msgid "Remove WPML in admin bar?"
2106
+ #~ msgstr "Supprimer WPML dans la barre d'admin ?"
2107
+
2108
+ #~ msgid "Remove WPML in dashboard widget?"
2109
+ #~ msgstr "Supprimer le widget WPML du Tableau de bord ?"
2110
+
2111
+ #~ msgid "Remove Install the WooThemes Updater plugin?"
2112
+ #~ msgstr "Supprimer la notification Installer le plugin WooThemes Updater ?"
2113
+
2114
+ #~ msgid "Get it!"
2115
+ #~ msgstr "Acheter!"
2116
+
2117
+ #~ msgid "Empty trash automatically after x days? (0 to disable trash feature)"
2118
+ #~ msgstr ""
2119
+ #~ "Vider la corbeille automatiquement après x jours? (0 pour désactiver la "
2120
+ #~ "corbeille)"
2121
+
2122
+ #~ msgid "Change default autosave interval? (in seconds, 0 to disable)"
2123
+ #~ msgstr ""
2124
+ #~ "Modifier l'intervalle par défaut de la sauvegarde automatique ? (en "
2125
+ #~ "secondes, 0 pour désactiver)"
2126
+
2127
+ #~ msgid "Limit posts revisions? (0 to disable)"
2128
+ #~ msgstr "Limiter les révisions d'articles ? (0 pour désactiver)"
2129
+
2130
+ #~ msgid "Users who have defined their own settings will not be overwritten"
2131
+ #~ msgstr ""
2132
+ #~ "Les utilisateurs qui ont défini leurs propres paramètres ne seront pas "
2133
+ #~ "supprimés."
2134
+
2135
+ #~ msgid "Empty trash automatically after x days?"
2136
+ #~ msgstr "Vider la corbeille automatiquement après x jours ?"
2137
+
2138
+ #~ msgid "Remove trash in posts, pages, custom post type...?"
2139
+ #~ msgstr ""
2140
+ #~ "Supprimer la corbeille pour les articles, pages, types d'articles "
2141
+ #~ "personnalisés... ?"
2142
+
2143
+ #~ msgid "Disable trash feature?"
2144
+ #~ msgstr "Désactiver la corbeille ?"
2145
+
2146
+ #~ msgid ""
2147
+ #~ "<strong>Before starting:</strong> define which roles to apply settings "
2148
+ #~ "using Role Manager page."
2149
+ #~ msgstr ""
2150
+ #~ "<strong>Avant de commencer:</strong> définissez à quels rôles doivent "
2151
+ #~ "s'appliquer les paramètres depuis la page Rôle."
languages/seopress.mo ADDED
Binary file
languages/seopress.po ADDED
@@ -0,0 +1,540 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: SEOPress\n"
4
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
5
+ "POT-Creation-Date: 2016-08-23 15:23+0200\n"
6
+ "PO-Revision-Date: 2016-08-23 15:23+0200\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: Benjamin DENIS <contact@seopress.org>\n"
9
+ "Language: en\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 1.8.8\n"
14
+ "X-Poedit-KeywordsList: __;_e;_x\n"
15
+ "X-Poedit-Basepath: ..\n"
16
+ "X-Poedit-SearchPath-0: .\n"
17
+
18
+ #: inc/admin/admin-metaboxes.php:11 inc/admin/admin.php:233
19
+ msgid "SEOPress"
20
+ msgstr ""
21
+
22
+ #: inc/admin/admin-metaboxes.php:50
23
+ msgid "Titles settings"
24
+ msgstr ""
25
+
26
+ #: inc/admin/admin-metaboxes.php:51 inc/admin/admin.php:66
27
+ msgid "Advanced"
28
+ msgstr ""
29
+
30
+ #: inc/admin/admin-metaboxes.php:52 inc/admin/admin.php:36
31
+ #: inc/admin/admin.php:314
32
+ msgid "Social"
33
+ msgstr ""
34
+
35
+ #: inc/admin/admin-metaboxes.php:58
36
+ msgid "Title"
37
+ msgstr ""
38
+
39
+ #: inc/admin/admin-metaboxes.php:59
40
+ msgid "Enter your title"
41
+ msgstr ""
42
+
43
+ #: inc/admin/admin-metaboxes.php:62 inc/admin/admin.php:391
44
+ msgid "Meta description"
45
+ msgstr ""
46
+
47
+ #: inc/admin/admin-metaboxes.php:63
48
+ msgid "Enter your meta description"
49
+ msgstr ""
50
+
51
+ #: inc/admin/admin-metaboxes.php:68
52
+ msgid "Google Snippet Preview"
53
+ msgstr ""
54
+
55
+ #: inc/admin/admin-metaboxes.php:69
56
+ msgid "This is what your page will look like in Google search results"
57
+ msgstr ""
58
+
59
+ #: inc/admin/admin-metaboxes.php:80 inc/admin/admin.php:541
60
+ #: inc/admin/admin.php:1058 inc/admin/admin.php:1131 inc/admin/admin.php:1312
61
+ msgid "noindex"
62
+ msgstr ""
63
+
64
+ #: inc/admin/admin-metaboxes.php:86 inc/admin/admin.php:549
65
+ #: inc/admin/admin.php:1077 inc/admin/admin.php:1150 inc/admin/admin.php:1329
66
+ msgid "nofollow"
67
+ msgstr ""
68
+
69
+ #: inc/admin/admin-metaboxes.php:92 inc/admin/admin.php:557
70
+ #: inc/admin/admin.php:1346
71
+ msgid "noodp"
72
+ msgstr ""
73
+
74
+ #: inc/admin/admin-metaboxes.php:98 inc/admin/admin.php:565
75
+ #: inc/admin/admin.php:1363
76
+ msgid "noimageindex"
77
+ msgstr ""
78
+
79
+ #: inc/admin/admin-metaboxes.php:104 inc/admin/admin.php:573
80
+ #: inc/admin/admin.php:1380
81
+ msgid "noarchive"
82
+ msgstr ""
83
+
84
+ #: inc/admin/admin-metaboxes.php:110 inc/admin/admin.php:581
85
+ #: inc/admin/admin.php:1397
86
+ msgid "nosnippet"
87
+ msgstr ""
88
+
89
+ #: inc/admin/admin-metaboxes.php:114
90
+ msgid "Canonical URL"
91
+ msgstr ""
92
+
93
+ #: inc/admin/admin-metaboxes.php:115
94
+ msgid "Enter your Canonical URL"
95
+ msgstr ""
96
+
97
+ #: inc/admin/admin-metaboxes.php:121
98
+ msgid "Facebook Title"
99
+ msgstr ""
100
+
101
+ #: inc/admin/admin-metaboxes.php:122
102
+ msgid "Enter your Facebook title"
103
+ msgstr ""
104
+
105
+ #: inc/admin/admin-metaboxes.php:125
106
+ msgid "Facebook description"
107
+ msgstr ""
108
+
109
+ #: inc/admin/admin-metaboxes.php:126
110
+ msgid "Enter your Facebook description"
111
+ msgstr ""
112
+
113
+ #: inc/admin/admin-metaboxes.php:129
114
+ msgid "Facebook Thumbnail"
115
+ msgstr ""
116
+
117
+ #: inc/admin/admin-metaboxes.php:130 inc/admin/admin-metaboxes.php:145
118
+ #: inc/admin/admin.php:1669 inc/admin/admin.php:1721
119
+ msgid "Select your default thumbnail"
120
+ msgstr ""
121
+
122
+ #: inc/admin/admin-metaboxes.php:131 inc/admin/admin-metaboxes.php:146
123
+ #: inc/admin/admin.php:1539 inc/admin/admin.php:1671 inc/admin/admin.php:1723
124
+ msgid "Upload an Image"
125
+ msgstr ""
126
+
127
+ #: inc/admin/admin-metaboxes.php:136
128
+ msgid "Twitter Title"
129
+ msgstr ""
130
+
131
+ #: inc/admin/admin-metaboxes.php:137
132
+ msgid "Enter your Twitter title"
133
+ msgstr ""
134
+
135
+ #: inc/admin/admin-metaboxes.php:140
136
+ msgid "Twitter description"
137
+ msgstr ""
138
+
139
+ #: inc/admin/admin-metaboxes.php:141
140
+ msgid "Enter your Twitter description"
141
+ msgstr ""
142
+
143
+ #: inc/admin/admin-metaboxes.php:144
144
+ msgid "Twitter Thumbnail"
145
+ msgstr ""
146
+
147
+ #: inc/admin/admin.php:34
148
+ msgid "Titles & Metas"
149
+ msgstr ""
150
+
151
+ #: inc/admin/admin.php:35 inc/admin/admin.php:304
152
+ msgid "XML Sitemap"
153
+ msgstr ""
154
+
155
+ #: inc/admin/admin.php:37
156
+ msgid "Import / Export / Reset settings"
157
+ msgstr ""
158
+
159
+ #: inc/admin/admin.php:37 inc/admin/admin.php:324
160
+ msgid "Import / Export / Reset"
161
+ msgstr ""
162
+
163
+ #: inc/admin/admin.php:47
164
+ msgid ""
165
+ "Discourage search engines from indexing this site is <strong>ON!</strong> "
166
+ "None of the following settings will be applied."
167
+ msgstr ""
168
+
169
+ #: inc/admin/admin.php:48
170
+ msgid "Change this settings"
171
+ msgstr ""
172
+
173
+ #: inc/admin/admin.php:62
174
+ msgid "Home"
175
+ msgstr ""
176
+
177
+ #: inc/admin/admin.php:63
178
+ msgid "Single Post Types"
179
+ msgstr ""
180
+
181
+ #: inc/admin/admin.php:64 inc/admin/admin.php:105
182
+ msgid "Taxonomies"
183
+ msgstr ""
184
+
185
+ #: inc/admin/admin.php:65
186
+ msgid "Archives"
187
+ msgstr ""
188
+
189
+ #: inc/admin/admin.php:103
190
+ msgid "General"
191
+ msgstr ""
192
+
193
+ #: inc/admin/admin.php:104
194
+ msgid "Post Types"
195
+ msgstr ""
196
+
197
+ #: inc/admin/admin.php:140
198
+ msgid "Knowledge Graph"
199
+ msgstr ""
200
+
201
+ #: inc/admin/admin.php:141
202
+ msgid "Your social accounts"
203
+ msgstr ""
204
+
205
+ #: inc/admin/admin.php:142
206
+ msgid "Facebook"
207
+ msgstr ""
208
+
209
+ #: inc/admin/admin.php:143
210
+ msgid "Twitter"
211
+ msgstr ""
212
+
213
+ #: inc/admin/admin.php:170
214
+ msgid "Import / Export Settings"
215
+ msgstr ""
216
+
217
+ #: inc/admin/admin.php:171
218
+ msgid "Import / Export SEOPress settings from site to site"
219
+ msgstr ""
220
+
221
+ #: inc/admin/admin.php:174
222
+ msgid "Export Settings"
223
+ msgstr ""
224
+
225
+ #: inc/admin/admin.php:176
226
+ msgid ""
227
+ "Export the plugin settings for this site as a .json file. This allows you to "
228
+ "easily import the configuration into another site."
229
+ msgstr ""
230
+
231
+ #: inc/admin/admin.php:181
232
+ msgid "Export"
233
+ msgstr ""
234
+
235
+ #: inc/admin/admin.php:188
236
+ msgid "Import Settings"
237
+ msgstr ""
238
+
239
+ #: inc/admin/admin.php:190
240
+ msgid ""
241
+ "Import the plugin settings from a .json file. This file can be obtained by "
242
+ "exporting the settings on another site using the form above."
243
+ msgstr ""
244
+
245
+ #: inc/admin/admin.php:198
246
+ msgid "Import"
247
+ msgstr ""
248
+
249
+ #: inc/admin/admin.php:205
250
+ msgid "Reset All Settings"
251
+ msgstr ""
252
+
253
+ #: inc/admin/admin.php:207
254
+ msgid ""
255
+ "<strong>WARNING:</strong> Delete all options related to SEOPress in your "
256
+ "database."
257
+ msgstr ""
258
+
259
+ #: inc/admin/admin.php:212
260
+ msgid "Reset settings"
261
+ msgstr ""
262
+
263
+ #: inc/admin/admin.php:237
264
+ msgid "PRO"
265
+ msgstr ""
266
+
267
+ #: inc/admin/admin.php:247
268
+ msgid "The ultimate plugin to optimize your SEO!"
269
+ msgstr ""
270
+
271
+ #: inc/admin/admin.php:250
272
+ msgid "You like SEOPress? Don't forget to rate it 5 stars!"
273
+ msgstr ""
274
+
275
+ #: inc/admin/admin.php:279
276
+ msgid "Follow us on Twitter!"
277
+ msgstr ""
278
+
279
+ #: inc/admin/admin.php:281
280
+ msgid "Our website"
281
+ msgstr ""
282
+
283
+ #: inc/admin/admin.php:283
284
+ msgid "Knowledge base"
285
+ msgstr ""
286
+
287
+ #: inc/admin/admin.php:294
288
+ msgid "Titles & metas"
289
+ msgstr ""
290
+
291
+ #: inc/admin/admin.php:295
292
+ msgid "Manage all your titles & metas"
293
+ msgstr ""
294
+
295
+ #: inc/admin/admin.php:296 inc/admin/admin.php:306 inc/admin/admin.php:316
296
+ #: inc/admin/admin.php:326
297
+ msgid "Manage"
298
+ msgstr ""
299
+
300
+ #: inc/admin/admin.php:305
301
+ msgid "Manage your XML Sitemap"
302
+ msgstr ""
303
+
304
+ #: inc/admin/admin.php:315
305
+ msgid "Open Graph, Twitter Card, Google Knowledge Graph and more..."
306
+ msgstr ""
307
+
308
+ #: inc/admin/admin.php:325
309
+ msgid "Import / export SEOPress settings from site to site."
310
+ msgstr ""
311
+
312
+ #: inc/admin/admin.php:383
313
+ msgid "Site title"
314
+ msgstr ""
315
+
316
+ #: inc/admin/admin.php:598 inc/admin/admin.php:1414
317
+ msgid "Enable XML Sitemap"
318
+ msgstr ""
319
+
320
+ #: inc/admin/admin.php:614
321
+ msgid "Check to INCLUDE Post Types"
322
+ msgstr ""
323
+
324
+ #: inc/admin/admin.php:630
325
+ msgid "Check to INCLUDE Taxonomies"
326
+ msgstr ""
327
+
328
+ #: inc/admin/admin.php:647
329
+ msgid "Person or organization"
330
+ msgstr ""
331
+
332
+ #: inc/admin/admin.php:655
333
+ msgid "Your name/organization"
334
+ msgstr ""
335
+
336
+ #: inc/admin/admin.php:663
337
+ msgid "Your photo / organization logo"
338
+ msgstr ""
339
+
340
+ #: inc/admin/admin.php:680
341
+ msgid "Facebook Page URL"
342
+ msgstr ""
343
+
344
+ #: inc/admin/admin.php:688
345
+ msgid "Twitter Username"
346
+ msgstr ""
347
+
348
+ #: inc/admin/admin.php:696
349
+ msgid "Google + URL"
350
+ msgstr ""
351
+
352
+ #: inc/admin/admin.php:704
353
+ msgid "Pinterest URL"
354
+ msgstr ""
355
+
356
+ #: inc/admin/admin.php:712
357
+ msgid "Instagram URL"
358
+ msgstr ""
359
+
360
+ #: inc/admin/admin.php:720
361
+ msgid "YouTube URL"
362
+ msgstr ""
363
+
364
+ #: inc/admin/admin.php:728
365
+ msgid "LinkedIn URL"
366
+ msgstr ""
367
+
368
+ #: inc/admin/admin.php:736
369
+ msgid "MySpace URL"
370
+ msgstr ""
371
+
372
+ #: inc/admin/admin.php:744
373
+ msgid "Soundcloud URL"
374
+ msgstr ""
375
+
376
+ #: inc/admin/admin.php:752
377
+ msgid "Tumblr URL"
378
+ msgstr ""
379
+
380
+ #: inc/admin/admin.php:769
381
+ msgid "Enable Open Graph Data"
382
+ msgstr ""
383
+
384
+ #: inc/admin/admin.php:777
385
+ msgid "Select a default image"
386
+ msgstr ""
387
+
388
+ #: inc/admin/admin.php:785
389
+ msgid "Facebook Admin ID"
390
+ msgstr ""
391
+
392
+ #: inc/admin/admin.php:793
393
+ msgid "Facebook App ID"
394
+ msgstr ""
395
+
396
+ #: inc/admin/admin.php:810
397
+ msgid "Enable Twitter Card"
398
+ msgstr ""
399
+
400
+ #: inc/admin/admin.php:818
401
+ msgid "Default Twitter Image"
402
+ msgstr ""
403
+
404
+ #: inc/admin/admin.php:826
405
+ msgid "Image size for Twitter Summary card"
406
+ msgstr ""
407
+
408
+ #: inc/admin/admin.php:927
409
+ msgid "<p>Customize your titles & metas for homepage</p>"
410
+ msgstr ""
411
+
412
+ #: inc/admin/admin.php:932
413
+ msgid "<p>Customize your titles & metas for Single Custom Post Types</p>"
414
+ msgstr ""
415
+
416
+ #: inc/admin/admin.php:937
417
+ msgid "<p>Customize your metas for all pages</p>"
418
+ msgstr ""
419
+
420
+ #: inc/admin/admin.php:942
421
+ msgid "<p>Customize your metas for all taxonomies archives</p>"
422
+ msgstr ""
423
+
424
+ #: inc/admin/admin.php:947
425
+ msgid "<p>Customize your metas for all archives</p>"
426
+ msgstr ""
427
+
428
+ #: inc/admin/admin.php:952
429
+ msgid "<p>Enable your Sitemap</p>"
430
+ msgstr ""
431
+
432
+ #: inc/admin/admin.php:953
433
+ msgid ""
434
+ "To view your sitemap, enable permalinks (not default one), and save settings "
435
+ "to flush them."
436
+ msgstr ""
437
+
438
+ #: inc/admin/admin.php:956
439
+ msgid "View your sitemap"
440
+ msgstr ""
441
+
442
+ #: inc/admin/admin.php:961
443
+ msgid "<p>Include / Exclude Post Types</p>"
444
+ msgstr ""
445
+
446
+ #: inc/admin/admin.php:966
447
+ msgid "<p>Include / Exclude Taxonomies</p>"
448
+ msgstr ""
449
+
450
+ #: inc/admin/admin.php:971
451
+ msgid "<p>Configure Google Knowledge Graph</p>"
452
+ msgstr ""
453
+
454
+ #: inc/admin/admin.php:976
455
+ msgid "<p>Link your site with your social accounts</p>"
456
+ msgstr ""
457
+
458
+ #: inc/admin/admin.php:981
459
+ msgid "<p>Manage Open Graph datas</p>"
460
+ msgstr ""
461
+
462
+ #: inc/admin/admin.php:986
463
+ msgid "<p>Manage your Twitter card</p>"
464
+ msgstr ""
465
+
466
+ #: inc/admin/admin.php:1024 inc/admin/admin.php:1097 inc/admin/admin.php:1165
467
+ #: inc/admin/admin.php:1193 inc/admin/admin.php:1221 inc/admin/admin.php:1249
468
+ #: inc/admin/admin.php:1277
469
+ msgid "Title template"
470
+ msgstr ""
471
+
472
+ #: inc/admin/admin.php:1037 inc/admin/admin.php:1110 inc/admin/admin.php:1178
473
+ #: inc/admin/admin.php:1206 inc/admin/admin.php:1234 inc/admin/admin.php:1262
474
+ #: inc/admin/admin.php:1290
475
+ msgid "Meta description template"
476
+ msgstr ""
477
+
478
+ #: inc/admin/admin.php:1163
479
+ msgid "Author archives"
480
+ msgstr ""
481
+
482
+ #: inc/admin/admin.php:1191
483
+ msgid "Date archives"
484
+ msgstr ""
485
+
486
+ #: inc/admin/admin.php:1219
487
+ msgid "Search archives"
488
+ msgstr ""
489
+
490
+ #: inc/admin/admin.php:1247
491
+ msgid "404 archives"
492
+ msgstr ""
493
+
494
+ #: inc/admin/admin.php:1275
495
+ msgid "Paged archives"
496
+ msgstr ""
497
+
498
+ #: inc/admin/admin.php:1453 inc/admin/admin.php:1493
499
+ msgid "Include"
500
+ msgstr ""
501
+
502
+ #: inc/admin/admin.php:1512
503
+ msgid "Person"
504
+ msgstr ""
505
+
506
+ #: inc/admin/admin.php:1515
507
+ msgid "Organization"
508
+ msgstr ""
509
+
510
+ #: inc/admin/admin.php:1537
511
+ msgid "Select your logo"
512
+ msgstr ""
513
+
514
+ #: inc/admin/admin.php:1656
515
+ msgid "Enable OG data"
516
+ msgstr ""
517
+
518
+ #: inc/admin/admin.php:1708
519
+ msgid "Enable Twitter card"
520
+ msgstr ""
521
+
522
+ #: inc/admin/admin.php:1739
523
+ msgid "Default"
524
+ msgstr ""
525
+
526
+ #: inc/admin/admin.php:1742
527
+ msgid "Large"
528
+ msgstr ""
529
+
530
+ #: inc/functions/options-import-export.php:42
531
+ msgid "Please upload a valid .json file"
532
+ msgstr ""
533
+
534
+ #: inc/functions/options-import-export.php:46
535
+ msgid "Please upload a file to import"
536
+ msgstr ""
537
+
538
+ #: seopress.php:129
539
+ msgid "Settings"
540
+ msgstr ""
readme.txt ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === SEOPress ===
2
+ Contributors: rainbowgeek
3
+ Donate link: https://seopress.org/
4
+ Tags: seo, search engine optimization, meta, title, description, keywords, serp, knowledge grah, schema.org, url, redirection, 301, xml sitemap, breadcrumbs, ranking
5
+ Requires at least: 4.4+
6
+ Tested up to: 4.6
7
+ Stable tag: 0.2
8
+ License: GPLv2 or later
9
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ SEOPress is a simple, fast and powerful SEO plugin for WordPress
12
+
13
+ == Description ==
14
+
15
+ SEOPress is a powerful plugin to optimize your SEO, boost your traffic and improve social sharing.
16
+ Manage titles, meta descriptions, Open Graph Data, Google Knowledge Graph, Twitter Card, Canonical URL, meta robots...
17
+ Build your custom XML Sitemap to improve search indexing.
18
+ Link your social media accounts to your site.
19
+ Import / Export settings from site to site.
20
+
21
+ <h3>Translation</h3>
22
+
23
+ <ul>
24
+ <li>English</li>
25
+ <li>French</li>
26
+ </ul>
27
+
28
+ == Installation ==
29
+
30
+ 1. Upload 'seopress' to the '/wp-content/plugins/' directory
31
+ 2. Activate the plugin through the 'Plugins' menu in WordPress
32
+ 3. Click on SEOPress and apply settings.
33
+
34
+ == Frequently Asked Questions ==
35
+ Soon :)
36
+
37
+ == Screenshots ==
38
+ 1. SEOPress Dashboard
39
+ 2. Titles & Metas
40
+ 3. XML Sitemap
41
+ 4. Social
42
+ 5. SEOPRESS Metaboxe: Titles settings
43
+ 6. SEOPRESS Metaboxe: Advanced settings
44
+ 7. SEOPRESS Metaboxe: Social settings
45
+
46
+ == Changelog ==
47
+ = 0.2 =
48
+ * INFO Improve SEOPress Metaboxe UI/UX
49
+ * INFO CSS Cleaning
50
+ * FIX Titles tag, meta description and meta robots
51
+ * FIX Test site visibility in Reading Options before applying Titles & Metas settings
52
+ * FIX Security Allowing Direct File Access to plugin files
53
+ * FIX No more calling core loading files directly
54
+ * FIX Import / Export Tool
55
+ = 0.1 =
56
+ * NEW Add Title tag for homepage
57
+ * NEW Add Meta Description for homepage
58
+ * NEW Add Title tag for Single Post Types
59
+ * NEW Add Meta Description for Single Post Types
60
+ * NEW Add noindex meta robots tag for Single Post Types
61
+ * NEW Add nofollow meta robots tag for Single Post Types
62
+ * NEW Add Title tag for Taxonomies
63
+ * NEW Add Meta Description for Taxonomies
64
+ * NEW Add noindex meta robots tag for Taxonomies
65
+ * NEW Add nofollow meta robots tag for Taxonomies
66
+ * NEW Add Title tag for Author archives
67
+ * NEW Add Title tag for Date archives
68
+ * NEW Add Title tag for Search archives
69
+ * NEW Add Title tag for 404 archives
70
+ * NEW Add Title tag for Paged archives
71
+ * NEW Add Meta Description for Author archives
72
+ * NEW Add Meta Description for Date archives
73
+ * NEW Add Meta Description for Search archives
74
+ * NEW Add Meta Description for 404 archives
75
+ * NEW Add Meta Description for Paged archives
76
+ * NEW Add noindex meta robots tag
77
+ * NEW Add nofollow meta robots tag
78
+ * NEW Add noodp meta robots tag
79
+ * NEW Add noimageindex meta google tag
80
+ * NEW Add noarchive meta robots tag
81
+ * NEW Add nosnippet meta robots tag
82
+ * NEW Add Google Knowledge Graph (person, organization, links with social accounts...)
83
+ * NEW Add Open Graph Data for Facebook
84
+ * NEW Add Twitter Card for Twitter
85
+ * NEW Add Sitemap.xml
86
+ * NEW Add Import / Export / Reset tool
87
+ * Alpha release.
screenshot-1.jpg ADDED
Binary file
screenshot-2.jpg ADDED
Binary file
screenshot-3.jpg ADDED
Binary file
screenshot-4.jpg ADDED
Binary file
screenshot-5.jpg ADDED
Binary file
screenshot-6.jpg ADDED
Binary file
screenshot-7.jpg ADDED
Binary file
seopress.php ADDED
@@ -0,0 +1,277 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ Plugin Name: SEOPress
5
+ Plugin URI: http://seopress.org/
6
+ Description: The best SEO plugin.
7
+ Version: 0.2
8
+ Author: Benjamin DENIS
9
+ Author URI: http://seopress.org/
10
+ License: GPLv2
11
+ Text Domain: seopress
12
+ Domain Path: /languages
13
+ */
14
+
15
+ /* Copyright 2016 - Benjamin DENIS (email : contact@seopress.org)
16
+
17
+ This program is free software; you can redistribute it and/or modify
18
+ it under the terms of the GNU General Public License, version 2, as
19
+ published by the Free Software Foundation.
20
+
21
+ This program is distributed in the hope that it will be useful,
22
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
23
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24
+ GNU General Public License for more details.
25
+
26
+ You should have received a copy of the GNU General Public License
27
+ along with this program; if not, write to the Free Software
28
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29
+ */
30
+
31
+ // To prevent calling the plugin directly
32
+ if ( !function_exists( 'add_action' ) ) {
33
+ echo 'Please don&rsquo;t call the plugin directly. Thanks :)';
34
+ exit;
35
+ }
36
+
37
+ function seopress_activation() {
38
+ add_option( 'seopress_activated', 'yes' );
39
+ flush_rewrite_rules();
40
+ do_action('seopress_activation');
41
+ }
42
+ register_activation_hook(__FILE__, 'seopress_activation');
43
+
44
+ function seopress_deactivation() {
45
+ delete_option( 'seopress_activated' );
46
+ flush_rewrite_rules();
47
+ do_action('seopress_deactivation');
48
+ }
49
+ register_deactivation_hook(__FILE__, 'seopress_deactivation');
50
+
51
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
52
+ //Define
53
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
54
+
55
+ define( 'SEOPRESS_VERSION', '0.2' );
56
+ define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
57
+
58
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
59
+ //SEOPRESS INIT = Admin + Core + Translation
60
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
61
+ function seopress_init() {
62
+ load_plugin_textdomain( 'seopress', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
63
+
64
+ global $pagenow;
65
+
66
+ if ( is_admin() ) {
67
+ require_once dirname( __FILE__ ) . '/inc/admin/admin.php';
68
+ require_once dirname( __FILE__ ) . '/inc/admin/admin-metaboxes.php';
69
+ }
70
+
71
+ require_once dirname( __FILE__ ) . '/inc/functions/options.php';
72
+ }
73
+ add_action('plugins_loaded', 'seopress_init', 999);
74
+
75
+
76
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
77
+ //Loads the JS/CSS in admin
78
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
79
+
80
+ //SEOPRESS Options page
81
+ function seopress_add_admin_options_scripts($hook) {
82
+ wp_register_style( 'seopress-admin', plugins_url('assets/css/seopress.css', __FILE__));
83
+ wp_enqueue_style( 'seopress-admin' );
84
+
85
+ //Tabs
86
+ if (isset($_GET['page']) && ($_GET['page'] == 'seopress-titles') ) {
87
+ wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs.js', __FILE__ ), array( 'jquery-ui-tabs' ) );
88
+ }
89
+
90
+ if (isset($_GET['page']) && ($_GET['page'] == 'seopress-xml-sitemap') ) {
91
+ wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs4.js', __FILE__ ), array( 'jquery-ui-tabs' ) );
92
+ }
93
+
94
+ if (isset($_GET['page']) && ($_GET['page'] == 'seopress-social') ) {
95
+ wp_enqueue_script( 'seopress-social-tabs-js', plugins_url( 'assets/js/seopress-tabs3.js', __FILE__ ), array( 'jquery-ui-tabs' ) );
96
+ wp_enqueue_script( 'seopress-cpt-tabs-js', plugins_url( 'assets/js/seopress-tabs2.js', __FILE__ ), array( 'jquery-ui-tabs' ) );
97
+ wp_enqueue_script( 'seopress-media-uploader-js', plugins_url('assets/js/seopress-media-uploader.js', __FILE__), array('jquery'), '', false );
98
+ wp_enqueue_media();
99
+ }
100
+
101
+ global $post;
102
+
103
+ if ( $hook == 'post-new.php' || $hook == 'post.php') {
104
+ if ( 'attachment' !== $post->post_type) {
105
+ wp_enqueue_script( 'seopress-cpt-tabs-js', plugins_url( 'assets/js/seopress-tabs2.js', __FILE__ ), array( 'jquery-ui-tabs' ) );
106
+ wp_enqueue_script( 'seopress-media-uploader-js', plugins_url('assets/js/seopress-media-uploader.js', __FILE__), array('jquery'), '', false );
107
+ wp_enqueue_media();
108
+
109
+ }
110
+ }
111
+ }
112
+
113
+ add_action('admin_enqueue_scripts', 'seopress_add_admin_options_scripts', 10, 1);
114
+
115
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
116
+ //Shortcut settings page
117
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
118
+
119
+ add_filter('plugin_action_links', 'seopress_plugin_action_links', 10, 2);
120
+
121
+ function seopress_plugin_action_links($links, $file) {
122
+ static $this_plugin;
123
+
124
+ if (!$this_plugin) {
125
+ $this_plugin = plugin_basename(__FILE__);
126
+ }
127
+
128
+ if ($file == $this_plugin) {
129
+ $settings_link = '<a href="' . get_bloginfo('wpurl') . '/wp-admin/admin.php?page=seopress-option">'.__("Settings","wpui").'</a>';
130
+ array_unshift($links, $settings_link);
131
+ }
132
+
133
+ return $links;
134
+ }
135
+
136
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
137
+ //Get all registered post types
138
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
139
+
140
+ function seopress_get_post_types() {
141
+ global $wp_post_types;
142
+
143
+ $args = array(
144
+ 'show_ui' => true,
145
+ );
146
+
147
+ $output = 'names'; // names or objects, note names is the default
148
+ $operator = 'and'; // 'and' or 'or'
149
+
150
+ $post_types = get_post_types( $args, $output, $operator );
151
+ unset($post_types['attachment']);
152
+ return $post_types;
153
+ }
154
+
155
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
156
+ //Get all registered post types
157
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
158
+
159
+ function seopress_get_taxonomies() {
160
+ $args = array(
161
+ 'show_ui' => true,
162
+ 'public' => true,
163
+
164
+ );
165
+ $output = 'names'; // or objects
166
+ $operator = 'and'; // 'and' or 'or'
167
+ $taxonomies = get_taxonomies( $args, $output, $operator );
168
+
169
+ return $taxonomies;
170
+ }
171
+
172
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
173
+ //Enable XML Sitemap
174
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
175
+ function seopress_xml_sitemap_general_enable_option() {
176
+ $seopress_xml_sitemap_general_enable_option = get_option("seopress_xml_sitemap_option_name");
177
+ if ( ! empty ( $seopress_xml_sitemap_general_enable_option ) ) {
178
+ foreach ($seopress_xml_sitemap_general_enable_option as $key => $seopress_xml_sitemap_general_enable_value)
179
+ $options[$key] = $seopress_xml_sitemap_general_enable_value;
180
+ if (isset($seopress_xml_sitemap_general_enable_option['seopress_xml_sitemap_general_enable'])) {
181
+ return $seopress_xml_sitemap_general_enable_option['seopress_xml_sitemap_general_enable'];
182
+ }
183
+ }
184
+ };
185
+
186
+ function seopress_xml_sitemap_post_types_list_option() {
187
+ $seopress_xml_sitemap_post_types_list_option = get_option("seopress_xml_sitemap_option_name");
188
+ if ( ! empty ( $seopress_xml_sitemap_post_types_list_option ) ) {
189
+ foreach ($seopress_xml_sitemap_post_types_list_option as $key => $seopress_xml_sitemap_post_types_list_value)
190
+ $options[$key] = $seopress_xml_sitemap_post_types_list_value;
191
+ if (isset($seopress_xml_sitemap_post_types_list_option['seopress_xml_sitemap_post_types_list'])) {
192
+ return $seopress_xml_sitemap_post_types_list_option['seopress_xml_sitemap_post_types_list'];
193
+ }
194
+ }
195
+ };
196
+
197
+ function seopress_xml_sitemap_taxonomies_list_option() {
198
+ $seopress_xml_sitemap_taxonomies_list_option = get_option("seopress_xml_sitemap_option_name");
199
+ if ( ! empty ( $seopress_xml_sitemap_taxonomies_list_option ) ) {
200
+ foreach ($seopress_xml_sitemap_taxonomies_list_option as $key => $seopress_xml_sitemap_taxonomies_list_value)
201
+ $options[$key] = $seopress_xml_sitemap_taxonomies_list_value;
202
+ if (isset($seopress_xml_sitemap_taxonomies_list_option['seopress_xml_sitemap_taxonomies_list'])) {
203
+ return $seopress_xml_sitemap_taxonomies_list_option['seopress_xml_sitemap_taxonomies_list'];
204
+ }
205
+ }
206
+ };
207
+
208
+ //Rewrite Rules for XML Sitemap
209
+ if (seopress_xml_sitemap_general_enable_option() =='1') {
210
+
211
+ add_action( 'init', 'seopress_xml_sitemap_rewrite' );
212
+ add_action( 'query_vars', 'seopress_xml_sitemap_query_vars' );
213
+ add_action( 'template_include', 'seopress_xml_sitemap_change_template' );
214
+
215
+ function seopress_xml_sitemap_rewrite() {
216
+
217
+ //XML Index
218
+ add_rewrite_rule( '^sitemaps$', 'index.php?seopress_sitemap=1', 'top' );
219
+
220
+ //CPT
221
+ if (seopress_xml_sitemap_post_types_list_option() !='') {
222
+ foreach (seopress_xml_sitemap_post_types_list_option() as $cpt_key => $cpt_value) {
223
+ foreach ($cpt_value as $_cpt_key => $_cpt_value) {
224
+ if($_cpt_value =='1') {
225
+ add_rewrite_rule( 'sitemaps/'.$cpt_key.'/?$', 'index.php?seopress_cpt='.$cpt_key, 'top' );
226
+ }
227
+ }
228
+ }
229
+ }
230
+
231
+ //Taxonomies
232
+ if (seopress_xml_sitemap_taxonomies_list_option() !='') {
233
+ foreach (seopress_xml_sitemap_taxonomies_list_option() as $tax_key => $tax_value) {
234
+ foreach ($tax_value as $_tax_key => $_tax_value) {
235
+ if($_tax_value =='1') {
236
+ add_rewrite_rule( 'sitemaps/'.$tax_key.'/?$', 'index.php?seopress_tax='.$tax_key, 'top' );
237
+ }
238
+ }
239
+ }
240
+ }
241
+ }
242
+
243
+
244
+ function seopress_xml_sitemap_query_vars($vars) {
245
+ $vars[] = 'seopress_sitemap';
246
+ $vars[] = 'seopress_cpt';
247
+ $vars[] = 'seopress_tax';
248
+ return $vars;
249
+ }
250
+
251
+ function seopress_xml_sitemap_change_template( $template ) {
252
+ if( get_query_var( 'seopress_sitemap' ) === '1' ) {
253
+ $seopress_sitemap = plugin_dir_path( __FILE__ ) . 'inc/functions/sitemap/template-xml-sitemaps.php';
254
+ if( file_exists( $seopress_sitemap ) ) {
255
+ return $seopress_sitemap;
256
+ }
257
+ }
258
+ if( get_query_var( 'seopress_cpt') !== '' ) {
259
+ $seopress_cpt = plugin_dir_path( __FILE__ ) . 'inc/functions/sitemap/template-xml-sitemaps-single.php';
260
+ if( file_exists( $seopress_cpt ) ) {
261
+ return $seopress_cpt;
262
+ }
263
+ }
264
+ if( get_query_var( 'seopress_tax') !== '' ) {
265
+ $seopress_tax = plugin_dir_path( __FILE__ ) . 'inc/functions/sitemap/template-xml-sitemaps-single-term.php';
266
+ if( file_exists( $seopress_tax ) ) {
267
+ return $seopress_tax;
268
+ }
269
+ }
270
+ return $template;
271
+ }
272
+ }
273
+
274
+
275
+
276
+
277
+ ?>