XML Sitemap & Google News feeds - Version 4.2.3

Version Description

Bugfix release and split custom post types by year/month

=

Download this release

Release Info

Developer RavanH
Plugin Icon 128x128 XML Sitemap & Google News feeds
Version 4.2.3
Comparing to
See all releases

Code changes from version 4.1.4 to 4.2.3

includes/admin.php CHANGED
@@ -13,7 +13,7 @@
13
// TODO get a donation button in there and refer to support forum !
14
public function privacy_settings_section() {
15
echo '<p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=ravanhagen%40gmail%2ecom&item_name=XML%20Sitemap%20Feeds&item_number='.XMLSF_VERSION.'&no_shipping=0&tax=0&charset=UTF%2d8&currency_code=EUR" title="'.sprintf(__('Donate to keep the free %s plugin development & support going!','easy-fancybox'),__('XML Sitemap & Google News Feeds','xml-sitemap-feed')).'"><img src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" style="border:none;float:left;margin:4px 10px 0 0" alt="'.sprintf(__('Donate to keep the free %s plugin development & support going!','easy-fancybox'),__('XML Sitemap & Google News Feeds','xml-sitemap-feed')).'" width="92" height="26" /></a>'.sprintf(__('These settings control the XML Sitemaps generated by the %s plugin.','xml-sitemap-feed'),__('XML Sitemap & Google News Feeds','xml-sitemap-feed')).'<br/>';
16
- echo ('1' == get_option('blog_public')) ? sprintf(__('XML Sitemaps will be disabled automatically when you set the option %1$s (above) to %2$s.','xml-sitemap-feed'),'<strong>'.__('Search Engine Visibility').'</strong>','<strong>'.__('Discourage search engines from indexing this site').'</strong>') : '<span style="color: red" class="error">'.sprintf(__('XML Sitemaps are disabled because you have set the option %1$s (above) to %2$s.','xml-sitemap-feed'),'<strong>'.__('Search Engine Visibility').'</strong>','<strong>'.__('Discourage search engines from indexing this site').'</strong>').'</span>';
17
echo '</p>
18
<script type="text/javascript">
19
jQuery( document ).ready( function() {
@@ -23,14 +23,19 @@
23
$this.attr("disabled") ? $this.removeAttr("disabled") : $this.attr("disabled", "disabled");
24
});
25
});
26
- jQuery( "#xmlsf_sitemaps_index" ).on( \'change\', function() {
27
jQuery("#xmlsf_post_types input:not([type=\'hidden\']),#xmlsf_post_types select,#xmlsf_taxonomies input:not([type=\'hidden\']),#xmlsf_ping input").each(function() {
28
var $this = jQuery(this);
29
$this.attr("disabled") ? $this.removeAttr("disabled") : $this.attr("disabled", "disabled");
30
});
31
});
32
});
33
- </script>';
34
}
35
36
public function sitemaps_settings_field() {
@@ -42,7 +47,6 @@
42
if (isset($options['sitemap']))
43
echo '<span class="description">&nbsp; &ndash; &nbsp;<a href="'.trailingslashit(get_bloginfo('url')). ( ('' == get_option('permalink_structure')) ? '?feed=sitemap' : $options['sitemap'] ) .'" target="_blank">'.__('View').'</a></span>';
44
45
- //__('Note: if you do not include any post or taxonomy types below, the sitemap will only contain your sites root url.','xml-sitemap-feed')
46
echo '</p>
47
<p><label><input type="checkbox" name="xmlsf_sitemaps[sitemap-news]" id="xmlsf_sitemaps_news" value="'.XMLSF_NEWS_NAME.'" '.checked(isset($options['sitemap-news']), true, false).' '.disabled($disabled, true, false).' /> '.__('Google News Sitemap','xml-sitemap-feed').'</label>';
48
if (isset($options['sitemap-news']))
@@ -55,12 +59,15 @@
55
$options = parent::get_post_types();
56
$defaults = parent::defaults('post_types');
57
$do_note = false;
58
-
59
echo '<fieldset id="xmlsf_post_types"><legend class="screen-reader-text">'.__('Include post types','xml-sitemap-feed').'</legend>
60
';
61
foreach ( get_post_types(array('public'=>true),'objects') as $post_type ) {
62
- $count = wp_count_posts( $post_type->name );
63
64
echo '
65
<p><input type="hidden" name="xmlsf_post_types['.
66
$post_type->name.'][name]" value="'.
@@ -75,18 +82,6 @@
75
$count->publish.')';
76
77
if (!empty($options[$post_type->name]['active'])) {
78
- /* Find a better way...
79
- if ( !empty($options[$post_type->name]["tags"]) )
80
- foreach ( (array)$options[$post_type->name]["tags"] as $tag )
81
- echo '
82
- <input type="hidden" name="xmlsf_post_types['.
83
- $post_type->name.'][tags][]" value="'.$tag.'" />';
84
- else
85
- echo '
86
- <input type="hidden" name="xmlsf_post_types['.
87
- $post_type->name.'][tags][]" value="image" />
88
- <input type="hidden" name="xmlsf_post_types['.
89
- $post_type->name.'][tags][]" value="video" />';*/
90
91
echo ' &nbsp;&ndash;&nbsp; <span class="description"><a id="xmlsf_post_types_'.$post_type->name.'_link" href="#xmlsf_post_types_'.$post_type->name.'_settings">'.__('Settings').'</a></span></p>
92
<script type="text/javascript">
@@ -103,29 +98,29 @@
103
104
if ( isset($defaults[$post_type->name]['archive']) ) {
105
$archives = array (
106
- 'yearly' => __('year of publication','xml-sitemap-feed'),
107
- 'monthly' => __('month of publication','xml-sitemap-feed')
108
);
109
$archive = !empty($options[$post_type->name]['archive']) ? $options[$post_type->name]['archive'] : $defaults[$post_type->name]['archive'];
110
echo '
111
<li><label>'.__('Split by','xml-sitemap-feed').' <select name="xmlsf_post_types['.
112
$post_type->name.'][archive]" id="xmlsf_post_types_'.
113
$post_type->name.'_archive">
114
- <option value=""></option>';
115
foreach ($archives as $value => $translation)
116
echo '
117
<option value="'.$value.'" '.
118
selected( $archive == $value, true, false).
119
'>'.$translation.'</option>';
120
echo '</select>
121
- </label> <span class="description"> '.__('Split by year if you experience slow or blank sitemaps. In very rare cases, split by month is needed.','xml-sitemap-feed').'</span></li>';
122
}
123
124
$priority_val = !empty($options[$post_type->name]['priority']) ? $options[$post_type->name]['priority'] : $defaults[$post_type->name]['priority'];
125
echo '
126
<li><label>'.__('Priority','xml-sitemap-feed').' <input type="number" step="0.1" min="0.1" max="0.9" name="xmlsf_post_types['.
127
$post_type->name.'][priority]" id="xmlsf_post_types_'.
128
- $post_type->name.'_priority" value="'.$priority_val.'" class="small-text"></label> <span class="description">'.__('Priority can be overridden on individual posts.','xml-sitemap-feed').' '.__('Maximum Priority (1.0) is reserved for the front page, individual posts and, when allowed, posts with high comment count.','xml-sitemap-feed').'</span></li>';
129
130
echo '
131
<li><label><input type="checkbox" name="xmlsf_post_types['.
@@ -135,7 +130,40 @@
135
echo '
136
<li><label><input type="checkbox" name="xmlsf_post_types['.
137
$post_type->name.'][update_lastmod_on_comments]" value="1" '.
138
- checked( !empty($options[$post_type->name]["update_lastmod_on_comments"]), true, false).' /> '.__('Update Lastmod and Changefreq on comments.','xml-sitemap-feed').'</label> <span class="description">'.__('Set this if discussion on your site warrants reindexation upon each new comment.','xml-sitemap-feed').'</li>
139
</ul>';
140
} else {
141
echo '</p>';
@@ -144,7 +172,19 @@
144
}
145
146
echo '
147
- <p class="description">'.__('Priority settings do not affect ranking in search results in any way. They are only meant to suggest search engines which URLs to index first. Once a URL has been indexed, its Priority becomes meaningless until its Lastmod is updated.','xml-sitemap-feed').'</p>';
148
echo '
149
</fieldset>';
150
}
@@ -152,10 +192,8 @@
152
public function taxonomies_settings_field() {
153
$options = parent::get_taxonomies();
154
$active = parent::get_option('post_types');
155
- $skipped_all = true;
156
157
- echo '<fieldset id="xmlsf_taxonomies"><legend class="screen-reader-text">'.__('Include taxonomies','xml-sitemap-feed').'</legend>
158
- ';
159
foreach ( get_taxonomies(array('public'=>true),'objects') as $taxonomy ) {
160
161
$skip = true;
@@ -164,26 +202,38 @@
164
$skip = false;
165
if ($skip) continue; // skip if none of the associated post types are active
166
167
- $skipped_all = false;
168
$count = wp_count_terms( $taxonomy->name );
169
- echo '
170
<label><input type="checkbox" name="xmlsf_taxonomies['.
171
$taxonomy->name.']" id="xmlsf_taxonomies_'.
172
$taxonomy->name.'" value="'.
173
$taxonomy->name.'"'.
174
checked(in_array($taxonomy->name,$options), true, false).' /> '.
175
$taxonomy->label.'</label> ('.
176
- $count.')<br />';
177
}
178
179
- if ($skipped_all)
180
echo '
181
- <p style="color: red" class="error">'.__('No taxonomies available for the currently included post types.','xml-sitemap-feed').'</p>';
182
183
- echo '
184
- <p class="description">'.__('It is generally not recommended to include taxonomy pages, unless their content brings added value. For example, when you use category descriptions with information that is not present elsewhere on your site or if taxonomy pages list posts with an excerpt that is different from, but complementary to the post content. In these cases you might consider including certain taxonomies. Otherwise, you might even consider disallowing indexation by adding specific robots.txt rules below.','xml-sitemap-feed');
185
- echo '</p>
186
</fieldset>';
187
}
188
189
public function ping_settings_field() {
@@ -191,14 +241,20 @@
191
$pings = parent::get_pings();
192
// search engines
193
$se = array(
194
- 'google' => __('Google','xml-sitemap-feed'),
195
- 'bing' => __('Bing','xml-sitemap-feed'),
196
);
197
198
echo '
199
<fieldset id="xmlsf_ping"><legend class="screen-reader-text">'.__('Ping on Publish','xml-sitemap-feed').'</legend>
200
';
201
- foreach ( $options as $name => $values ) {
202
203
echo '
204
<input type="hidden" name="xmlsf_ping['.
@@ -210,7 +266,7 @@
210
$name.'][active]" id="xmlsf_ping_'.
211
$name.'" value="1"'.
212
checked( !empty($options[$name]["active"]), true, false).' /> '.
213
- $se[$name].'</label>';
214
215
echo ' <span class="description">';
216
if (isset($pings[$name]))
@@ -304,6 +360,7 @@
304
/* Adds a box to the side column */
305
public function add_meta_box()
306
{
307
foreach (parent::get_post_types() as $post_type)
308
if (isset($post_type["active"]))
309
add_meta_box(
@@ -315,7 +372,6 @@
315
);
316
}
317
318
-
319
public function meta_box($post)
320
{
321
// Use nonce for verification
@@ -323,10 +379,19 @@
323
324
// The actual fields for data entry
325
// Use get_post_meta to retrieve an existing value from the database and use the value for the form
326
- $value = get_post_meta( $post->ID, '_xmlsf_priority', true );
327
echo '<p><label>';
328
_e('Priority','xml-sitemap-feed');
329
- echo ' <input type="number" step="0.1" min="0" max="1" name="xmlsf_priority" id="xmlsf_priority" value="'.$value.'" class="small-text"></label> <span class="description">'.sprintf(__('Leave empty for automatic Priority as configured on %1$s > %2$s.','xml-sitemap-feed'),__('Settings'),__('Reading')).'</span></p>';
330
}
331
332
/* When the post is saved, save our meta data */
@@ -338,16 +403,25 @@
338
if ( !current_user_can( 'edit_post', $post_id ) || !isset($_POST['xmlsf_sitemap_nonce']) || !wp_verify_nonce($_POST['xmlsf_sitemap_nonce'], plugin_basename( __FILE__ )) )
339
return;
340
341
if ( isset($_POST['xmlsf_priority']) && $_POST['xmlsf_priority'] != '' && is_numeric($_POST['xmlsf_priority']) ) {
342
- if ($_POST['xmlsf_priority'] <= 0)
343
- update_post_meta($post_id, 'priority', '0');
344
- elseif ($_POST['xmlsf_priority'] >= 1)
345
- update_post_meta($post_id, '_xmlsf_priority', '1');
346
- else
347
update_post_meta($post_id, '_xmlsf_priority', $_POST['xmlsf_priority']);
348
} else {
349
delete_post_meta($post_id, '_xmlsf_priority');
350
}
351
}
352
353
/**
13
// TODO get a donation button in there and refer to support forum !
14
public function privacy_settings_section() {
15
echo '<p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=ravanhagen%40gmail%2ecom&item_name=XML%20Sitemap%20Feeds&item_number='.XMLSF_VERSION.'&no_shipping=0&tax=0&charset=UTF%2d8&currency_code=EUR" title="'.sprintf(__('Donate to keep the free %s plugin development & support going!','easy-fancybox'),__('XML Sitemap & Google News Feeds','xml-sitemap-feed')).'"><img src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" style="border:none;float:left;margin:4px 10px 0 0" alt="'.sprintf(__('Donate to keep the free %s plugin development & support going!','easy-fancybox'),__('XML Sitemap & Google News Feeds','xml-sitemap-feed')).'" width="92" height="26" /></a>'.sprintf(__('These settings control the XML Sitemaps generated by the %s plugin.','xml-sitemap-feed'),__('XML Sitemap & Google News Feeds','xml-sitemap-feed')).'<br/>';
16
+ echo ('1' == get_option('blog_public')) ? sprintf(__('XML Sitemaps will be disabled automatically when you check the option %1$s at %2$s above.','xml-sitemap-feed'),'<strong>'.__('Discourage search engines from indexing this site').'</strong>','<strong>'.__('Search Engine Visibility').'</strong>') : '<span style="color: red" class="error">'.sprintf(__('XML Sitemaps are disabled because you have checked the option %1$s at %2$s above.','xml-sitemap-feed'),'<strong>'.__('Discourage search engines from indexing this site').'</strong>','<strong>'.__('Search Engine Visibility').'</strong>').'</span>';
17
echo '</p>
18
<script type="text/javascript">
19
jQuery( document ).ready( function() {
23
$this.attr("disabled") ? $this.removeAttr("disabled") : $this.attr("disabled", "disabled");
24
});
25
});
26
+ });
27
+ </script>';
28
+ /* echo '
29
+ <script type="text/javascript">
30
+ jQuery( document ).ready( function() {
31
+ jQuery( "#xmlsf_sitemaps_index" ).on( \'change\', function() {
32
jQuery("#xmlsf_post_types input:not([type=\'hidden\']),#xmlsf_post_types select,#xmlsf_taxonomies input:not([type=\'hidden\']),#xmlsf_ping input").each(function() {
33
var $this = jQuery(this);
34
$this.attr("disabled") ? $this.removeAttr("disabled") : $this.attr("disabled", "disabled");
35
});
36
});
37
});
38
+ </script>';*/
39
}
40
41
public function sitemaps_settings_field() {
47
if (isset($options['sitemap']))
48
echo '<span class="description">&nbsp; &ndash; &nbsp;<a href="'.trailingslashit(get_bloginfo('url')). ( ('' == get_option('permalink_structure')) ? '?feed=sitemap' : $options['sitemap'] ) .'" target="_blank">'.__('View').'</a></span>';
49
50
echo '</p>
51
<p><label><input type="checkbox" name="xmlsf_sitemaps[sitemap-news]" id="xmlsf_sitemaps_news" value="'.XMLSF_NEWS_NAME.'" '.checked(isset($options['sitemap-news']), true, false).' '.disabled($disabled, true, false).' /> '.__('Google News Sitemap','xml-sitemap-feed').'</label>';
52
if (isset($options['sitemap-news']))
59
$options = parent::get_post_types();
60
$defaults = parent::defaults('post_types');
61
$do_note = false;
62
echo '<fieldset id="xmlsf_post_types"><legend class="screen-reader-text">'.__('Include post types','xml-sitemap-feed').'</legend>
63
';
64
foreach ( get_post_types(array('public'=>true),'objects') as $post_type ) {
65
+ // skip unallowed post types
66
+ if (in_array($post_type->name,parent::disabled_post_types()))
67
+ continue;
68
69
+ $count = wp_count_posts( $post_type->name );
70
+
71
echo '
72
<p><input type="hidden" name="xmlsf_post_types['.
73
$post_type->name.'][name]" value="'.
82
$count->publish.')';
83
84
if (!empty($options[$post_type->name]['active'])) {
85
86
echo ' &nbsp;&ndash;&nbsp; <span class="description"><a id="xmlsf_post_types_'.$post_type->name.'_link" href="#xmlsf_post_types_'.$post_type->name.'_settings">'.__('Settings').'</a></span></p>
87
<script type="text/javascript">
98
99
if ( isset($defaults[$post_type->name]['archive']) ) {
100
$archives = array (
101
+ 'yearly' => __('Year','xml-sitemap-feed'),
102
+ 'monthly' => __('Month','xml-sitemap-feed')
103
);
104
$archive = !empty($options[$post_type->name]['archive']) ? $options[$post_type->name]['archive'] : $defaults[$post_type->name]['archive'];
105
echo '
106
<li><label>'.__('Split by','xml-sitemap-feed').' <select name="xmlsf_post_types['.
107
$post_type->name.'][archive]" id="xmlsf_post_types_'.
108
$post_type->name.'_archive">
109
+ <option value="">'.__('None').'</option>';
110
foreach ($archives as $value => $translation)
111
echo '
112
<option value="'.$value.'" '.
113
selected( $archive == $value, true, false).
114
'>'.$translation.'</option>';
115
echo '</select>
116
+ </label> <span class="description"> '.__('Split by year if you experience errors or slow sitemaps. In very rare cases, split by month is needed.','xml-sitemap-feed').'</span></li>';
117
}
118
119
$priority_val = !empty($options[$post_type->name]['priority']) ? $options[$post_type->name]['priority'] : $defaults[$post_type->name]['priority'];
120
echo '
121
<li><label>'.__('Priority','xml-sitemap-feed').' <input type="number" step="0.1" min="0.1" max="0.9" name="xmlsf_post_types['.
122
$post_type->name.'][priority]" id="xmlsf_post_types_'.
123
+ $post_type->name.'_priority" value="'.$priority_val.'" class="small-text"></label> <span class="description">'.__('Priority can be overridden on individual posts. *','xml-sitemap-feed').'</span></li>';
124
125
echo '
126
<li><label><input type="checkbox" name="xmlsf_post_types['.
130
echo '
131
<li><label><input type="checkbox" name="xmlsf_post_types['.
132
$post_type->name.'][update_lastmod_on_comments]" value="1" '.
133
+ checked( !empty($options[$post_type->name]["update_lastmod_on_comments"]), true, false).' /> '.__('Update Lastmod and Changefreq on comments.','xml-sitemap-feed').'</label> <span class="description">'.__('Set this if discussion on your site warrants reindexation upon each new comment.','xml-sitemap-feed').'</li>';
134
+
135
+ if (isset($defaults[$post_type->name]['tags'])) :
136
+ echo '
137
+ <li><fieldset id="xmlsf_post_types_tags"><legend><strong>'.__('Include:','xml-sitemap-feed').' </strong></legend>
138
+ <ul style="margin-left:18px">';
139
+
140
+ $image = !empty($options[$post_type->name]['tags']['image']) ? $options[$post_type->name]['tags']['image'] : $defaults[$post_type->name]['tags']['image'];
141
+ echo '
142
+ <li><label>'.__('Image tags for','xml-sitemap-feed').' <select name="xmlsf_post_types['.
143
+ $post_type->name.'][tags][image]">
144
+ <option value="no">'.__('None').'</option>
145
+ <option value="featured" '.
146
+ selected( $image == "featured", true, false).
147
+ '>'.__('Featured Image').'</option>
148
+ <option value="attached" '.
149
+ selected( $image == "attached", true, false).
150
+ '>'.__('Attached images','xml-sitemap-feed').'</option>
151
+ ';
152
+ echo '</select></label></li>';
153
+
154
+ if (isset($defaults[$post_type->name]['tags']['news'])) {
155
+ echo '
156
+ <li><label><input type="checkbox" name="xmlsf_post_types['.
157
+ $post_type->name.'][tags][news]" value="1" '.
158
+ checked( !empty($options[$post_type->name]['tags']['news']), true, false).' /> '.__('Google News tags','xml-sitemap-feed').'</label> <span class="description">'.__('Only set when your site has been or will soon be accepted by Google News. **','xml-sitemap-feed').'</span></li>';
159
+ }
160
+
161
+ echo '
162
+ </ul>
163
+ </fieldset></li>';
164
+ endif;
165
+
166
+ echo '
167
</ul>';
168
} else {
169
echo '</p>';
172
}
173
174
echo '
175
+ <p class="description">'.__('* Priority settings do not affect ranking in search results in any way. They are only meant to suggest search engines which URLs to index first. Once a URL has been indexed, its Priority becomes meaningless until its Lastmod is updated.','xml-sitemap-feed').' <a href="#xmlsf_post_types_note_1_more" id="xmlsf_post_types_note_1_link">'.__('(more...)').'</a> <span id="xmlsf_post_types_note_1_more">'.__('Maximum Priority (1.0) is reserved for the front page, individual posts and, when allowed, posts with high comment count.','xml-sitemap-feed').' '.__('Priority values are taken as relative values. Setting all to the same (high) value is pointless.','xml-sitemap-feed').'</span></p>
176
+ <script type="text/javascript">
177
+ jQuery( document ).ready( function() {
178
+ jQuery("#xmlsf_post_types_note_1_more").hide();
179
+ jQuery("#xmlsf_post_types_note_1_link").click( function(event) {
180
+ event.preventDefault();
181
+ jQuery("#xmlsf_post_types_note_1_link").hide();
182
+ jQuery("#xmlsf_post_types_note_1_more").show("slow");
183
+ });
184
+ });
185
+ </script>';
186
+ echo '
187
+ <p class="description">'.sprintf(__('** Google recommends using a seperate news sitemap. You can do this by checking the option %1$s at %2$s above.','xml-sitemap-feed'),'<strong>'.__('Google News Sitemap','xml-sitemap-feed').'</strong>','<strong>'.__('Enable XML sitemaps','xml-sitemap-feed').'</strong>').'</p>';
188
echo '
189
</fieldset>';
190
}
192
public function taxonomies_settings_field() {
193
$options = parent::get_taxonomies();
194
$active = parent::get_option('post_types');
195
+ $output = '';
196
197
foreach ( get_taxonomies(array('public'=>true),'objects') as $taxonomy ) {
198
199
$skip = true;
202
$skip = false;
203
if ($skip) continue; // skip if none of the associated post types are active
204
205
$count = wp_count_terms( $taxonomy->name );
206
+ $output .= '
207
<label><input type="checkbox" name="xmlsf_taxonomies['.
208
$taxonomy->name.']" id="xmlsf_taxonomies_'.
209
$taxonomy->name.'" value="'.
210
$taxonomy->name.'"'.
211
checked(in_array($taxonomy->name,$options), true, false).' /> '.
212
$taxonomy->label.'</label> ('.
213
+ $count.') ';
214
+
215
+ // if ( in_array($taxonomy->name,$options) && empty($taxonomy->show_tagcloud) )
216
+ // echo '<span class="description error" style="color: red">'.__('This taxonomy type might not be suitable for public use. Please check the urls in the taxonomy sitemap.','xml-sitemap-feed').'</span>';
217
+
218
+ $output .= '
219
+ <br />';
220
}
221
222
+ if ($output) {
223
echo '
224
+ <fieldset id="xmlsf_taxonomies"><legend class="screen-reader-text">'.__('Include taxonomies','xml-sitemap-feed').'</legend>
225
+ ';
226
227
+ echo $output;
228
+
229
+ echo '
230
+ <p class="description">'.__('It is generally not recommended to include taxonomy pages, unless their content brings added value. For example, when you use category descriptions with information that is not present elsewhere on your site or if taxonomy pages list posts with an excerpt that is different from, but complementary to the post content. In these cases you might consider including certain taxonomies. Otherwise, you might even consider disallowing indexation to prevent a possible duplicate content penalty. You can do this by adding specific robots.txt rules below.','xml-sitemap-feed');
231
+ echo '</p>
232
</fieldset>';
233
+ } else {
234
+ echo '
235
+ <p style="color: red" class="error">'.__('No taxonomies available for the currently included post types.','xml-sitemap-feed').'</p>';
236
+ }
237
}
238
239
public function ping_settings_field() {
241
$pings = parent::get_pings();
242
// search engines
243
$se = array(
244
+ 'google' => array (
245
+ 'name' => __('Google','xml-sitemap-feed'),
246
+ 'uri' => 'http://www.google.com/webmasters/tools/ping?sitemap='
247
+ ),
248
+ 'bing' => array (
249
+ 'name' => __('Bing','xml-sitemap-feed'),
250
+ 'uri' => 'http://www.bing.com/ping?sitemap='
251
+ )
252
);
253
254
echo '
255
<fieldset id="xmlsf_ping"><legend class="screen-reader-text">'.__('Ping on Publish','xml-sitemap-feed').'</legend>
256
';
257
+ foreach ( $se as $name => $values ) {
258
259
echo '
260
<input type="hidden" name="xmlsf_ping['.
266
$name.'][active]" id="xmlsf_ping_'.
267
$name.'" value="1"'.
268
checked( !empty($options[$name]["active"]), true, false).' /> '.
269
+ $values['name'].'</label>';
270
271
echo ' <span class="description">';
272
if (isset($pings[$name]))
360
/* Adds a box to the side column */
361
public function add_meta_box()
362
{
363
+ // Only include metaboxes on post types that are included
364
foreach (parent::get_post_types() as $post_type)
365
if (isset($post_type["active"]))
366
add_meta_box(
372
);
373
}
374
375
public function meta_box($post)
376
{
377
// Use nonce for verification
379
380
// The actual fields for data entry
381
// Use get_post_meta to retrieve an existing value from the database and use the value for the form
382
+ $value = get_post_meta( $post->ID, '_xmlsf_exclude', true );
383
+ echo '<!-- '.$value.' -->';
384
+ echo '<p><label><input type="checkbox" name="xmlsf_exclude" id="xmlsf_exclude" value="1"'.checked(!empty($value), true, false).' > ';
385
+ _e('Exclude from XML Sitemap','xml-sitemap-feed');
386
+ echo '</label></p>';
387
+
388
echo '<p><label>';
389
_e('Priority','xml-sitemap-feed');
390
+ echo ' <input type="number" step="0.1" min="0" max="1" name="xmlsf_priority" id="xmlsf_priority" value="';
391
+ echo get_post_meta( $post->ID, '_xmlsf_priority', true );
392
+ echo '" class="small-text"></label> <span class="description">';
393
+ printf(__('Leave empty for automatic Priority as configured on %1$s > %2$s.','xml-sitemap-feed'),__('Settings'),__('Reading'));
394
+ echo '</span></p>';
395
}
396
397
/* When the post is saved, save our meta data */
403
if ( !current_user_can( 'edit_post', $post_id ) || !isset($_POST['xmlsf_sitemap_nonce']) || !wp_verify_nonce($_POST['xmlsf_sitemap_nonce'], plugin_basename( __FILE__ )) )
404
return;
405
406
+ // _xmlsf_priority
407
if ( isset($_POST['xmlsf_priority']) && $_POST['xmlsf_priority'] != '' && is_numeric($_POST['xmlsf_priority']) ) {
408
+ if ($_POST['xmlsf_priority'] <= 0)
409
+ update_post_meta($post_id, 'priority', '0');
410
+ elseif ($_POST['xmlsf_priority'] >= 1)
411
+ update_post_meta($post_id, '_xmlsf_priority', '1');
412
+ else
413
update_post_meta($post_id, '_xmlsf_priority', $_POST['xmlsf_priority']);
414
} else {
415
delete_post_meta($post_id, '_xmlsf_priority');
416
}
417
+
418
+ // _xmlsf_exclude
419
+ if ( isset($_POST['xmlsf_exclude']) && $_POST['xmlsf_exclude'] != '' ) {
420
+ update_post_meta($post_id, '_xmlsf_exclude', $_POST['xmlsf_exclude']);
421
+ } else {
422
+ delete_post_meta($post_id, '_xmlsf_exclude');
423
+ }
424
+
425
}
426
427
/**
includes/core.php CHANGED
@@ -22,11 +22,15 @@ class XMLSitemapFeed {
22
private $yes_mother = false;
23
24
private $defaults = array();
25
26
// Global values used for priority and changefreq calculation
27
private $firstdate;
28
private $lastmodified;
29
private $postmodified = array();
30
31
private function build_defaults()
32
{
@@ -41,11 +45,17 @@ class XMLSitemapFeed {
41
// post_types
42
$this->defaults['post_types'] = array();
43
foreach ( get_post_types(array('public'=>true),'names') as $name ) {
44
$this->defaults['post_types'][$name] = array(
45
'name' => $name,
46
'active' => '',
47
'priority' => '0.5',
48
'dynamic_priority' => '',
49
);
50
}
51
@@ -61,20 +71,25 @@ class XMLSitemapFeed {
61
if ( isset($this->defaults['post_types']['post']) ) {
62
if (wp_count_posts('post')->publish > 500)
63
$this->defaults['post_types']['post']['archive'] = 'yearly';
64
- else
65
- $this->defaults['post_types']['post']['archive'] = '';
66
- //$this->defaults['post_types']['post']['tags'] => array('news','image','video');
67
$this->defaults['post_types']['post']['priority'] = '0.7';
68
$this->defaults['post_types']['post']['dynamic_priority'] = '1';
69
}
70
71
if ( isset($this->defaults['post_types']['page']) ) {
72
- //$this->defaults['post_types']['page']['tags'] => array('image','video');
73
$this->defaults['post_types']['page']['priority'] = '0.3';
74
}
75
76
// taxonomies
77
- $this->defaults['taxonomies'] = array();// by default do not include any taxonomies
78
79
// ping search engines
80
$this->defaults['ping'] = array(
@@ -91,10 +106,12 @@ class XMLSitemapFeed {
91
$this->defaults['pings'] = array(); // for storing last ping timestamps and status
92
93
// robots
94
- $this->defaults['robots'] = "Disallow: /xmlrpc.php\nDisallow: /wp-\nDisallow: /trackback/\nDisallow: ?wptheme=\nDisallow: ?comments=\nDisallow: ?replytocom\nDisallow: /comment-page-\nDisallow: /?s=\nDisallow: /wp-content/\nAllow: /wp-content/uploads/\n";
95
}
96
97
-
98
public function defaults($key = false)
99
{
100
if (empty($this->defaults))
@@ -112,15 +129,15 @@ class XMLSitemapFeed {
112
{
113
return get_option($this->prefix.$option, $this->defaults($option));
114
}
115
-
116
public function get_sitemaps()
117
- {
118
$return = $this->get_option('sitemaps');
119
120
// make sure it's an array we are returning
121
return (is_array($return)) ? (array)$return : array();
122
}
123
-
124
public function get_ping()
125
{
126
$return = $this->get_option('ping');
@@ -128,7 +145,7 @@ class XMLSitemapFeed {
128
// make sure it's an array we are returning
129
return (!empty($return)) ? (array)$return : array();
130
}
131
-
132
public function get_pings()
133
{
134
$return = $this->get_option('pings');
@@ -136,7 +153,13 @@ class XMLSitemapFeed {
136
// make sure it's an array we are returning
137
return (!empty($return)) ? (array)$return : array();
138
}
139
-
140
public function get_post_types()
141
{
142
$return = $this->get_option('post_types');
@@ -156,9 +179,8 @@ class XMLSitemapFeed {
156
$count = wp_count_posts( $values['name'] );
157
if ($count->publish > 0) {
158
$values['count'] = $count->publish;
159
-
160
- $return[$type] = $values;
161
- }
162
}
163
}
164
@@ -221,7 +243,7 @@ class XMLSitemapFeed {
221
return ( $robots = $this->get_option('robots') ) ? $robots : '';
222
}
223
224
- public function get_do_tags( $type = 'post' )
225
{
226
$return = $this->get_option('post_types');
227
@@ -229,45 +251,135 @@ class XMLSitemapFeed {
229
return (!empty($return[$type]['tags'])) ? (array)$return[$type]['tags'] : array();
230
}
231
232
233
/**
234
* TEMPLATE FUNCTIONS
235
*/
236
237
- public function postmodified()
238
{
239
- global $post;
240
241
- if ( empty($this->postmodified[$post->ID]) ) {
242
- $postmodified = get_post_modified_time( 'Y-m-d H:i:s', true, $post->ID );
243
- $options = $this->get_option('post_types');
244
245
- if( !empty($options[$post->post_type]['update_lastmod_on_comments']) )
246
- $lastcomment = get_comments( array(
247
- 'status' => 'approve',
248
- 'number' => 1,
249
- 'post_id' => $post->ID,
250
- ) );
251
252
- if ( isset($lastcomment[0]->comment_date_gmt) )
253
- if ( mysql2date( 'U', $lastcomment[0]->comment_date_gmt ) > mysql2date( 'U', $postmodified ) )
254
- $postmodified = $lastcomment[0]->comment_date_gmt;
255
256
- $this->postmodified[$post->ID] = $postmodified;
257
- }
258
259
- return $this->postmodified[$post->ID];
260
}
261
262
- public function get_lastmod()
263
{
264
- return mysql2date('Y-m-d\TH:i:s+00:00', $this->postmodified(), false);
265
-
266
}
267
268
- public function get_changefreq()
269
{
270
- $lastactivityage = ( gmdate('U') - mysql2date( 'U', $this->postmodified() ) ); // post age
271
272
if ( ($lastactivityage/86400) < 1 ) { // last activity less than 1 day old
273
$changefreq = 'hourly';
@@ -284,53 +396,76 @@ class XMLSitemapFeed {
284
return $changefreq;
285
}
286
287
- public function get_priority()
288
{
289
- global $post;
290
- $options = $this->get_option('post_types');
291
- $defaults = $this->defaults('post_types');
292
- $priority_meta = get_metadata('post', $post->ID, '_xmlsf_priority' , true);
293
294
- if ( !empty($priority_meta) ) {
295
296
- $priority = $priority_meta;
297
298
- } elseif ( !empty($options[$post->post_type]['dynamic_priority']) ) {
299
-
300
- $post_modified = mysql2date('U',$post->post_modified_gmt);
301
302
- if ( empty($this->lastmodified) )
303
- $this->lastmodified = mysql2date('U',get_lastmodified('GMT',$post->post_type));
304
- // last posts or page modified date in Unix seconds
305
- // uses get_lastmodified() function defined in xml-sitemap/hacks.php !
306
307
- if ( empty($this->firstdate) )
308
- $this->firstdate = mysql2date('U',get_firstdate('GMT',$post->post_type));
309
- // uses get_firstdate() function defined in xml-sitemap/hacks.php !
310
311
- if ( isset($options[$post->post_type]['priority']) )
312
- $priority_value = $options[$post->post_type]['priority'];
313
- else
314
- $priority_value = $defaults[$post->post_type]['priority'];
315
-
316
- // reduce by age
317
- if ( is_sticky($post->ID) )
318
- $priority = $priority_value;
319
- else
320
- $priority = ( $this->lastmodified > $this->firstdate ) ? $priority_value - $priority_value * ( $this->lastmodified - $post_modified ) / ( $this->lastmodified - $this->firstdate ) : $priority_value;
321
322
- if ( $post->comment_count > 0 )
323
- $priority = $priority + 0.1 + ( 0.9 - $priority ) * $post->comment_count / wp_count_comments($post->post_type)->approved;
324
325
- // and a final trim for cases where we end up above 1 (sticky posts with many comments)
326
- if ($priority > 1)
327
- $priority = 1;
328
329
- } else {
330
-
331
- $priority = ( isset($options[$post->post_type]['priority']) && is_numeric($options[$post->post_type]['priority']) ) ? $options[$post->post_type]['priority'] : $defaults[$post->post_type]['priority'];
332
333
- }
334
335
return number_format($priority,1);
336
}
@@ -352,13 +487,14 @@ class XMLSitemapFeed {
352
353
public function get_excluded($post_type)
354
{
355
- global $polylang;
356
$exclude = array();
357
358
if ( $post_type == 'page' && $id = get_option('page_on_front') ) {
359
- $exclude[] = $id;
360
if ( isset($polylang) )
361
- $exclude = $polylang->get_translations('post', $id);
362
}
363
364
return $exclude;
@@ -519,6 +655,10 @@ class XMLSitemapFeed {
519
$request['no_found_rows'] = true;
520
$request['update_post_meta_cache'] = false;
521
$request['update_post_term_cache'] = false;
522
523
return $request;
524
}
22
private $yes_mother = false;
23
24
private $defaults = array();
25
+ private $disabled_post_types = array('attachment');
26
27
// Global values used for priority and changefreq calculation
28
private $firstdate;
29
private $lastmodified;
30
private $postmodified = array();
31
+ private $termmodified = array();
32
+ private $blogpage;
33
+ private $images = array();
34
35
private function build_defaults()
36
{
45
// post_types
46
$this->defaults['post_types'] = array();
47
foreach ( get_post_types(array('public'=>true),'names') as $name ) {
48
+ // skip unallowed post types
49
+ if (in_array($name,$this->disabled_post_types))
50
+ continue;
51
+
52
$this->defaults['post_types'][$name] = array(
53
'name' => $name,
54
'active' => '',
55
+ 'archive' => '',
56
'priority' => '0.5',
57
'dynamic_priority' => '',
58
+ 'tags' => array('news' => '','image' => 'no')
59
);
60
}
61
71
if ( isset($this->defaults['post_types']['post']) ) {
72
if (wp_count_posts('post')->publish > 500)
73
$this->defaults['post_types']['post']['archive'] = 'yearly';
74
+ $this->defaults['post_types']['post']['tags']['image'] = 'featured';
75
$this->defaults['post_types']['post']['priority'] = '0.7';
76
$this->defaults['post_types']['post']['dynamic_priority'] = '1';
77
}
78
79
if ( isset($this->defaults['post_types']['page']) ) {
80
+ unset($this->defaults['post_types']['page']['archive']);
81
+ $this->defaults['post_types']['page']['tags'] = array('image' => 'featured');
82
$this->defaults['post_types']['page']['priority'] = '0.3';
83
}
84
85
+ /* attachment post type is disabled... images are included via tags in the post and page sitemaps
86
+ if ( isset($this->defaults['post_types']['attachment']) ) {
87
+ $this->defaults['post_types']['attachment']['tags']['image'] = 'attached';
88
+ $this->defaults['post_types']['attachment']['priority'] = '0.3';
89
+ }*/
90
+
91
// taxonomies
92
+ $this->defaults['taxonomies'] = array(); // by default do not include any taxonomies
93
94
// ping search engines
95
$this->defaults['ping'] = array(
106
$this->defaults['pings'] = array(); // for storing last ping timestamps and status
107
108
// robots
109
+ $this->defaults['robots'] = "Disallow: /xmlrpc.php\nDisallow: /wp-\nDisallow: /trackback/\nDisallow: ?wptheme=\nDisallow: ?comments=\nDisallow: ?replytocom\nDisallow: /comment-page-\nDisallow: /?s=\nDisallow: /wp-content/\n";
110
+ global $blog_id;
111
+ if ( !is_multisite() || $blog_id == 1 )
112
+ $this->defaults['robots'] .= "Allow: /wp-content/uploads/\n";
113
}
114
115
public function defaults($key = false)
116
{
117
if (empty($this->defaults))
129
{
130
return get_option($this->prefix.$option, $this->defaults($option));
131
}
132
+
133
public function get_sitemaps()
134
+ {
135
$return = $this->get_option('sitemaps');
136
137
// make sure it's an array we are returning
138
return (is_array($return)) ? (array)$return : array();
139
}
140
+
141
public function get_ping()
142
{
143
$return = $this->get_option('ping');
145
// make sure it's an array we are returning
146
return (!empty($return)) ? (array)$return : array();
147
}
148
+
149
public function get_pings()
150
{
151
$return = $this->get_option('pings');
153
// make sure it's an array we are returning
154
return (!empty($return)) ? (array)$return : array();
155
}
156
+
157
+ public function disabled_post_types()
158
+ {
159
+ return $this->disabled_post_types;
160
+
161
+ }
162
+
163
public function get_post_types()
164
{
165
$return = $this->get_option('post_types');
179
$count = wp_count_posts( $values['name'] );
180
if ($count->publish > 0) {
181
$values['count'] = $count->publish;
182
+ $return[$type] = $values;
183
+ }
184
}
185
}
186
243
return ( $robots = $this->get_option('robots') ) ? $robots : '';
244
}
245
246
+ public function do_tags( $type = 'post' )
247
{
248
$return = $this->get_option('post_types');
249
251
return (!empty($return[$type]['tags'])) ? (array)$return[$type]['tags'] : array();
252
}
253
254
+ public function is_home($id) {
255
+
256
+ if ( empty($this->blogpage) ) {
257
+ $blogpage = get_option('page_for_posts');
258
+
259
+ if ( !empty($blogpage) ) {
260
+ global $polylang;
261
+ if ( isset($polylang) )
262
+ $this->blogpage = $polylang->get_translations('post', $blogpage);
263
+ else
264
+ $this->blogpage = array($blogpage);
265
+ } else {
266
+ $this->blogpage = array('-1');
267
+ }
268
+ }
269
+
270
+ return in_array($id,$this->blogpage);
271
+
272
+ }
273
274
/**
275
* TEMPLATE FUNCTIONS
276
*/
277
278
+ public function modified($sitemap = 'post_type', $term = '')
279
{
280
+ if ('post_type' == $sitemap) :
281
282
+ global $post;
283
+
284
+ // if blog page look for last post date
285
+ if ( $post->post_type == 'page' && $this->is_home($post->ID) ) {
286
+ //if ( empty($this->lastmodified) )
287
+ //$this->lastmodified = mysql2date('U',get_lastmodified('GMT','post'));
288
+ return get_lastmodified('GMT','post'); //$this->lastmodified;
289
+ }
290
291
+ if ( empty($this->postmodified[$post->ID]) ) {
292
+ $postmodified = get_post_modified_time( 'Y-m-d H:i:s', true, $post->ID );
293
+ $options = $this->get_option('post_types');
294
295
+ if( !empty($options[$post->post_type]['update_lastmod_on_comments']) )
296
+ $lastcomment = get_comments( array(
297
+ 'status' => 'approve',
298
+ 'number' => 1,
299
+ 'post_id' => $post->ID,
300
+ ) );
301
+
302
+ if ( isset($lastcomment[0]->comment_date_gmt) )
303
+ if ( mysql2date( 'U', $lastcomment[0]->comment_date_gmt ) > mysql2date( 'U', $postmodified ) )
304
+ $postmodified = $lastcomment[0]->comment_date_gmt;
305
306
+ $this->postmodified[$post->ID] = $postmodified;
307
+ }
308
309
+ return $this->postmodified[$post->ID];
310
+
311
+ elseif ( !empty($term) ) :
312
+
313
+ if ( is_object($term) ) {
314
+ if ( empty($this->termmodified[$term->term_id]) ) {
315
+ // get the latest post in this taxonomy item, to use its post_date as lastmod
316
+ $posts = get_posts ( array(
317
+ 'numberposts' => 1,
318
+ 'no_found_rows' => true,
319
+ 'update_post_meta_cache' => false,
320
+ 'update_post_term_cache' => false,
321
+ 'update_cache' => false,
322
+ 'tax_query' => array(
323
+ array(
324
+ 'taxonomy' => $term->taxonomy,
325
+ 'field' => 'slug',
326
+ 'terms' => $term->slug
327
+ )
328
+ )
329
+ )
330
+ );
331
+ $this->termmodified[$term->term_id] = $posts[0]->post_date_gmt;
332
+ }
333
+ return $this->termmodified[$term->term_id];
334
+ } else {
335
+ $obj = get_taxonomy($term);
336
+ return get_lastdate( 'gmt', $obj->object_type[0] );
337
+ // uses get_lastdate() function defined in xml-sitemap/hacks.php !
338
+ // which is a shortcut: returns last post date, not last modified date...
339
+ // TODO find the long way around (take tax type, get all terms,
340
+ // do tax_query with all terms for one post and get its lastmod date)
341
+ }
342
+
343
+
344
+ else :
345
+
346
+ return '0000-00-00 00:00:00';
347
+
348
+ endif;
349
}
350
351
+ public function get_images()
352
{
353
+ global $post;
354
+ if ( empty($this->images[$post->ID]) ) {
355
+ $options = $this->get_option('post_types');
356
+ if('attached' == $options[$post->post_type]['tags']['image']) {
357
+ $args = array( 'post_type' => 'attachment', 'post_mime_type' => 'image', 'numberposts' => -1, 'post_status' =>'inherit', 'post_parent' => $post->ID );
358
+ $attachments = get_posts($args);
359
+ if ($attachments) {
360
+ foreach ( $attachments as $attachment ) {
361
+ $image = wp_get_attachment_image_src( $attachment->ID, 'full' );
362
+ $this->images[$post->ID][] = $image[0];
363
+ }
364
+ }
365
+ } elseif ('featured' == $options[$post->post_type]['tags']['image']) {
366
+ if (has_post_thumbnail( $post->ID ) ) {
367
+ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
368
+ $this->images[$post->ID][] = $image[0];
369
+ }
370
+ }
371
+ }
372
+ return ( isset($this->images[$post->ID]) ) ? $this->images[$post->ID] : array();
373
+ }
374
+
375
+ public function get_lastmod($sitemap = 'post_type', $term = '')
376
+ {
377
+ return mysql2date('Y-m-d\TH:i:s+00:00', $this->modified($sitemap,$term), false);
378
}
379
380
+ public function get_changefreq($sitemap = 'post_type', $term = '')
381
{
382
+ $lastactivityage = ( gmdate('U') - mysql2date( 'U', $this->modified($sitemap,$term) ) ); // post age
383
384
if ( ($lastactivityage/86400) < 1 ) { // last activity less than 1 day old
385
$changefreq = 'hourly';
396
return $changefreq;
397
}
398
399
+ public function get_priority($sitemap = 'post_type', $term = '')
400
{
401
+ if ( 'post_type' == $sitemap ) :
402
+ global $post;
403
+ $options = $this->get_option('post_types');
404
+ $defaults = $this->defaults('post_types');
405
+ $priority_meta = get_metadata('post', $post->ID, '_xmlsf_priority' , true);
406
407
+ if ( !empty($priority_meta) ) {
408
409
+ $priority = $priority_meta;
410
411
+ } elseif ( !empty($options[$post->post_type]['dynamic_priority']) ) {
412
+
413
+ $post_modified = mysql2date('U',$post->post_modified_gmt);
414
415
+ if ( empty($this->lastmodified) )
416
+ $this->lastmodified = mysql2date('U',get_lastmodified('GMT',$post->post_type));
417
+ // last posts or page modified date in Unix seconds
418
+ // uses get_lastmodified() function defined in xml-sitemap/hacks.php !
419
420
+ if ( empty($this->firstdate) )
421
+ $this->firstdate = mysql2date('U',get_firstdate('GMT',$post->post_type));
422
+ // uses get_firstdate() function defined in xml-sitemap/hacks.php !
423
424
+ if ( isset($options[$post->post_type]['priority']) )
425
+ $priority_value = $options[$post->post_type]['priority'];
426
+ else
427
+ $priority_value = $defaults[$post->post_type]['priority'];
428
429
+ // reduce by age
430
+ // NOTE : home/blog page gets same treatment as sticky post
431
+ if ( is_sticky($post->ID) || $this->is_home($post->ID) )
432
+ $priority = $priority_value;
433
+ else
434
+ $priority = ( $this->lastmodified > $this->firstdate ) ? $priority_value - $priority_value * ( $this->lastmodified - $post_modified ) / ( $this->lastmodified - $this->firstdate ) : $priority_value;
435
436
+ if ( $post->comment_count > 0 )
437
+ $priority = $priority + 0.1 + ( 0.9 - $priority ) * $post->comment_count / wp_count_comments($post->post_type)->approved;
438
439
+ // and a final trim for cases where we end up above 1 (sticky posts with many comments)
440
+ if ($priority > 1)
441
+ $priority = 1;
442
+
443
+ } else {
444
+
445
+ $priority = ( isset($options[$post->post_type]['priority']) && is_numeric($options[$post->post_type]['priority']) ) ? $options[$post->post_type]['priority'] : $defaults[$post->post_type]['priority'];
446
447
+ }
448
+
449
+ elseif ( ! empty($term) ) :
450
+
451
+ $max_priority = 0.4;
452
+ $min_priority = 0.0;
453
+ // TODO make these values optional
454
+
455
+ $tax_obj = get_taxonomy($term->taxonomy);
456
+ $postcount = 0;
457
+ foreach ($tax_obj->object_type as $post_type) {
458
+ $_post_count = wp_count_posts($post_type);
459
+ $postcount += $_post_count->publish;
460
+ }
461
+
462
+ $priority = ( $postcount > 0 ) ? $min_priority + ( $max_priority * $term->count / $postcount ) : $min_priority;
463
+
464
+ else :
465
+
466
+ $priority = 0.5;
467
+
468
+ endif;
469
470
return number_format($priority,1);
471
}
487
488
public function get_excluded($post_type)
489
{
490
$exclude = array();
491
492
if ( $post_type == 'page' && $id = get_option('page_on_front') ) {
493
+ global $polylang;
494
if ( isset($polylang) )
495
+ $exclude += $polylang->get_translations('post', $id);
496
+ else
497
+ $exclude[] = $id;
498
}
499
500
return $exclude;
655
$request['no_found_rows'] = true;
656
$request['update_post_meta_cache'] = false;
657
$request['update_post_term_cache'] = false;
658
+ /*if ('attachment' == $post_type['name']) {
659
+ $request['post_status'] = 'inherit';
660
+ $request['post_mime_type'] = 'image,audio'; // ,video,audio
661
+ }*/
662
663
return $request;
664
}
includes/feed-sitemap-post_type.php CHANGED
@@ -8,11 +8,6 @@
8
status_header('200'); // force header('HTTP/1.1 200 OK') even for sites without posts
9
header('Content-Type: text/xml; charset=' . get_bloginfo('charset'), true);
10
11
- global $xmlsf;
12
- $post_type = get_query_var('post_type');
13
- foreach ( $xmlsf->get_do_tags($post_type) as $tag )
14
- $tag = true;
15
-
16
echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?>
17
<?xml-stylesheet type="text/xsl" href="' . plugins_url('xsl/sitemap.xsl.php',__FILE__) . '?ver=' . XMLSF_VERSION . '"?>
18
<!-- generated-on="' . date('Y-m-d\TH:i:s+00:00') . '" -->
@@ -20,8 +15,17 @@ echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?>
20
<!-- generator-url="http://status301.net/wordpress-plugins/xml-sitemap-feed/" -->
21
<!-- generator-version="' . XMLSF_VERSION . '" -->
22
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" ';
23
echo !empty($news) ? '
24
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" ' : '';
25
echo '
26
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
27
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
@@ -29,9 +33,20 @@ echo '
29
echo !empty($news) ? '
30
http://www.google.com/schemas/sitemap-news/0.9
31
http://www.google.com/schemas/sitemap-news/0.9/sitemap-news.xsd' : '';
32
echo '">
33
';
34
35
// any ID's we need to exclude?
36
$excluded = $xmlsf->get_excluded($post_type);
37
@@ -42,8 +57,11 @@ if ( have_posts() ) :
42
43
// check if we are not dealing with an external URL :: Thanks to Francois Deschenes :)
44
// or if page is in the exclusion list (like front pages)
45
- if ( !preg_match('/^' . preg_quote(home_url(), '/') . '/i', get_permalink()) || in_array($post->ID, $excluded) )
46
continue;
47
// TODO news, image & video tags
48
?>
49
<url>
@@ -51,6 +69,57 @@ if ( have_posts() ) :
51
<lastmod><?php echo $xmlsf->get_lastmod(); ?></lastmod>
52
<changefreq><?php echo $xmlsf->get_changefreq(); ?></changefreq>
53
<priority><?php echo $xmlsf->get_priority(); ?></priority>
54
</url>
55
<?php
56
endwhile;
8
status_header('200'); // force header('HTTP/1.1 200 OK') even for sites without posts
9
header('Content-Type: text/xml; charset=' . get_bloginfo('charset'), true);
10
11
echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?>
12
<?xml-stylesheet type="text/xsl" href="' . plugins_url('xsl/sitemap.xsl.php',__FILE__) . '?ver=' . XMLSF_VERSION . '"?>
13
<!-- generated-on="' . date('Y-m-d\TH:i:s+00:00') . '" -->
15
<!-- generator-url="http://status301.net/wordpress-plugins/xml-sitemap-feed/" -->
16
<!-- generator-version="' . XMLSF_VERSION . '" -->
17
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" ';
18
+
19
+ global $xmlsf;
20
+ $post_type = get_query_var('post_type');
21
+
22
+ foreach ( $xmlsf->do_tags($post_type) as $tag => $setting )
23
+ $tag = $setting;
24
+
25
echo !empty($news) ? '
26
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" ' : '';
27
+ echo !empty($image) ? '
28
+ xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" ' : '';
29
echo '
30
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
31
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
33
echo !empty($news) ? '
34
http://www.google.com/schemas/sitemap-news/0.9
35
http://www.google.com/schemas/sitemap-news/0.9/sitemap-news.xsd' : '';
36
+ echo !empty($image) ? '
37
+ http://www.google.com/schemas/sitemap-image/1.1
38
+ http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd' : '';
39
echo '">
40
';
41
42
+ // get site language for default language
43
+ // bloginfo_rss('language') returns improper format so
44
+ // we explode on hyphen and use only first part.
45
+ // TODO this workaround breaks (simplified) chinese :(
46
+ $language = reset(explode('-', get_bloginfo_rss('language')));
47
+ if ( empty($language) )
48
+ $language = 'en';
49
+
50
// any ID's we need to exclude?
51
$excluded = $xmlsf->get_excluded($post_type);
52
57
58
// check if we are not dealing with an external URL :: Thanks to Francois Deschenes :)
59
// or if page is in the exclusion list (like front pages)
60
+ // or if post meta says "exclude"
61
+ $exclude = get_post_meta( $post->ID, '_xmlsf_exclude', true );
62
+ if ( !empty($exclude) || !preg_match('/^' . preg_quote(home_url(), '/') . '/i', get_permalink()) || in_array($post->ID, $excluded) )
63
continue;
64
+
65
// TODO news, image & video tags
66
?>
67
<url>
69
<lastmod><?php echo $xmlsf->get_lastmod(); ?></lastmod>
70
<changefreq><?php echo $xmlsf->get_changefreq(); ?></changefreq>
71
<priority><?php echo $xmlsf->get_priority(); ?></priority>
72
+ <?php
73
+ if ( !empty($news) && $post->post_date > date('Y-m-d H:i:s', strtotime('-49 hours') ) ) : ?>
74
+ <news:news>
75
+ <news:publication>
76
+ <news:name><?php
77
+ if(defined('XMLSF_GOOGLE_NEWS_NAME'))
78
+ echo apply_filters('the_title_rss', XMLSF_GOOGLE_NEWS_NAME);
79
+ else
80
+ echo bloginfo_rss('name'); ?></news:name>
81
+ <news:language><?php
82
+ $lang = reset(get_the_terms($post->ID,'language'));
83
+ echo (is_object($lang)) ? $lang->slug : $language; ?></news:language>
84
+ </news:publication>
85
+ <news:publication_date><?php
86
+ echo mysql2date('Y-m-d\TH:i:s+00:00', $post->post_date_gmt, false); ?></news:publication_date>
87
+ <news:title><?php the_title_rss() ?></news:title>
88
+ <news:keywords><?php
89
+ $do_comma = false;
90
+ $keys_arr = get_the_category();
91
+ foreach($keys_arr as $key) {
92
+ echo ( $do_comma ) ? ', ' : '' ;
93
+ echo apply_filters('the_title_rss', $key->name);
94
+ $do_comma = true;
95
+ } ?></news:keywords>
96
+ <?php
97
+ // TODO: create the new taxonomy "Google News Genre" with some genres preset
98
+ if ( taxonomy_exists('gn_genre') && get_the_terms($post->ID,'gn_genre') ) {
99
+ ?>
100
+ <news:genres><?php
101
+ $do_comma = false;
102
+ foreach(get_the_terms($post->ID,'gn_genre') as $key) {
103
+ echo ( $do_comma ) ? ', ' : '' ;
104
+ echo apply_filters('the_title_rss', $key->name);
105
+ $do_comma = true;
106
+ } ?></news:genres>
107
+ <?php
108
+ }
109
+ ?>
110
+ </news:news>
111
+ <?php
112
+ endif;
113
+ if ( !empty($image) && $xmlsf->get_images() ) :
114
+ foreach ( $xmlsf->get_images() as $loc ) {
115
+ ?>
116
+ <image:image>
117
+ <image:loc><?php echo $loc; ?></image:loc>
118
+ </image:image>
119
+ <?php
120
+ }
121
+ endif;
122
+ ?>
123
</url>
124
<?php
125
endwhile;
includes/feed-sitemap-taxonomy.php CHANGED
@@ -5,10 +5,7 @@
5
* @package XML Sitemap Feed plugin for WordPress
6
*/
7
8
- global $xmlsf;
9
-
10
status_header('200'); // force header('HTTP/1.1 200 OK') for sites without posts
11
- // TODO test if we can do without it
12
header('Content-Type: text/xml; charset=' . get_bloginfo('charset', 'UTF-8'), true);
13
14
echo '<?xml version="1.0" encoding="'.get_bloginfo('charset', 'UTF-8').'"?>
@@ -17,33 +14,16 @@ echo '<?xml version="1.0" encoding="'.get_bloginfo('charset', 'UTF-8').'"?>
17
<!-- generator="XML & Google News Sitemap Feed plugin for WordPress" -->
18
<!-- generator-url="http://status310.net/wordpress-plugins/xml-sitemap-feed/" -->
19
<!-- generator-version="'.XMLSF_VERSION.'" -->
20
-
21
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
22
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
24
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
25
';
26
27
- // PRESETS are changable -- please read comments:
28
-
29
- $max_priority = 0.4; // Maximum priority value for any URL in the sitemap; set to any other value between 0 and 1.
30
- $min_priority = 0.0; // Minimum priority value for any URL in the sitemap; set to any other value between 0 and 1.
31
- // NOTE: Changing these values will influence each URL's priority. Priority values are taken by
32
- // search engines to represent RELATIVE priority within the site domain. Forcing all URLs
33
- // to a priority of above 0.5 or even fixing them all to 1.0 - for example - is useless.
34
35
$taxonomy = get_query_var('taxonomy');
36
$lang = get_query_var('lang');
37
- echo "<!-- taxonomy: $taxonomy -->";
38
- $tax_obj = get_taxonomy($taxonomy);
39
- $postcount = 0;
40
- foreach ( $tax_obj->object_type as $post_type) {
41
- $_post_count = wp_count_posts($post_type);
42
- $postcount += $_post_count->publish;
43
- }
44
-
45
- //$_terms_count = wp_count_terms(get_query_var('taxonomy'));
46
- //$average_count = $_post_count->publish / $_terms_count;
47
48
$terms = get_terms( $taxonomy, array(
49
'orderby' => 'count',
@@ -57,45 +37,12 @@ if ( $terms ) :
57
58
foreach ( $terms as $term ) :
59
60
- // calculate priority based on number of posts
61
- // or maybe take child taxonomy terms into account.?
62
-
63
- $priority = $min_priority + ( $max_priority * $term->count / $postcount );
64
-
65
- // get the latest post in this taxonomy item, to use its post_date as lastmod
66
- $posts = get_posts ( array(
67
- 'numberposts' => 1,
68
- 'no_found_rows' => true,
69
- 'update_post_meta_cache' => false,
70
- 'update_post_term_cache' => false,
71
- 'update_cache' => false,
72
- 'tax_query' => array(
73
- array(
74
- 'taxonomy' => $term->taxonomy,
75
- 'field' => 'slug',
76
- 'terms' => $term->slug
77
- )
78
- )
79
- )
80
- );
81
?>
82
<url>
83
<loc><?php echo get_term_link( $term ); ?></loc>
84
- <priority><?php echo number_format($priority,1) ?></priority>
85
- <lastmod><?php echo mysql2date('Y-m-d\TH:i:s+00:00', $posts[0]->post_date_gmt, false); ?></lastmod>
86
- <changefreq><?php
87
- $lastactivityage = (gmdate('U') - mysql2date('U', $posts[0]->post_date_gmt));
88
- if(($lastactivityage/86400) < 1) { // last activity less than 1 day old
89
- echo 'hourly';
90
- } else if(($lastactivityage/86400) < 7) { // last activity less than 1 week old
91
- echo 'daily';
92
- } else if(($lastactivityage/86400) < 30) { // last activity between 1 week and one month old
93
- echo 'weekly';
94
- } else if(($lastactivityage/86400) < 365) { // last activity between 1 month and 1 year old
95
- echo 'monthly';
96
- } else {
97
- echo 'yearly';
98
- } ?></changefreq>
99
</url>
100
<?php
101
endforeach;
5
* @package XML Sitemap Feed plugin for WordPress
6
*/
7
8
status_header('200'); // force header('HTTP/1.1 200 OK') for sites without posts
9
header('Content-Type: text/xml; charset=' . get_bloginfo('charset', 'UTF-8'), true);
10
11
echo '<?xml version="1.0" encoding="'.get_bloginfo('charset', 'UTF-8').'"?>
14
<!-- generator="XML & Google News Sitemap Feed plugin for WordPress" -->
15
<!-- generator-url="http://status310.net/wordpress-plugins/xml-sitemap-feed/" -->
16
<!-- generator-version="'.XMLSF_VERSION.'" -->
17
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
18
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
20
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
21
';
22
23
+ global $xmlsf;
24
25
$taxonomy = get_query_var('taxonomy');
26
$lang = get_query_var('lang');
27
28
$terms = get_terms( $taxonomy, array(
29
'orderby' => 'count',
37
38
foreach ( $terms as $term ) :
39
40
?>
41
<url>
42
<loc><?php echo get_term_link( $term ); ?></loc>
43
+ <priority><?php echo $xmlsf->get_priority('taxonomy',$term); ?></priority>
44
+ <lastmod><?php echo $xmlsf->get_lastmod('taxonomy',$term); ?></lastmod>
45
+ <changefreq><?php echo $xmlsf->get_changefreq('taxonomy',$term); ?></changefreq>
46
</url>
47
<?php
48
endforeach;
includes/feed-sitemap.php CHANGED
@@ -48,11 +48,10 @@ foreach ( $xmlsf->have_post_types() as $post_type ) {
48
foreach ( $xmlsf->get_taxonomies() as $taxonomy ) {
49
50
if ( wp_count_terms( $taxonomy ) > 0 ) {
51
- $obj = get_taxonomy($taxonomy);
52
?>
53
<sitemap>
54
- <loc><?php echo $xmlsf->get_index_url('taxonomy', $taxonomy); ?></loc>
55
- <lastmod><?php echo mysql2date('Y-m-d\TH:i:s+00:00', get_lastdate( 'gmt', $obj->object_type[0] ), false); ?></lastmod>
56
</sitemap>
57
<?php
58
// TODO add lastmod ?
48
foreach ( $xmlsf->get_taxonomies() as $taxonomy ) {
49
50
if ( wp_count_terms( $taxonomy ) > 0 ) {
51
?>
52
<sitemap>
53
+ <loc><?php echo $xmlsf->get_index_url('taxonomy',$taxonomy); ?></loc>
54
+ <lastmod><?php echo $xmlsf->get_lastmod('taxonomy',$taxonomy); ?></lastmod>
55
</sitemap>
56
<?php
57
// TODO add lastmod ?
languages/xml-sitemap-feed-fr_FR.mo CHANGED
Binary file
languages/xml-sitemap-feed-fr_FR.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
msgstr ""
3
"Project-Id-Version: XML Sitemap and Google News feeds/4.0\n"
4
"Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2013-03-26 15:31+0100\n"
6
- "PO-Revision-Date: 2013-03-26 15:34+0100\n"
7
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
8
"Language-Team: \n"
9
"Language: \n"
@@ -21,7 +21,7 @@ msgid "Donate to keep the free %s plugin development & support going!"
21
msgstr "Faites un don pour aider le développement et support de l'extension %s. Merci !"
22
23
#: ../includes/admin.php:15
24
- #: ../includes/admin.php:237
25
msgid "XML Sitemap & Google News Feeds"
26
msgstr "Flux XML Sitemap & Google News"
27
@@ -32,24 +32,24 @@ msgstr "Ces options contrôlent le XML Sitemap par l'extension %s."
32
33
#: ../includes/admin.php:16
34
#, php-format
35
- msgid "XML Sitemaps will be disabled automatically when you set the option %1$s (above) to %2$s."
36
- msgstr "Les XML Sitemaps seront désactivé automatiquement si l'option %1$s (en haut) est mis à %2$s."
37
38
#: ../includes/admin.php:16
39
- msgid "Search Engine Visibility"
40
msgstr ""
41
42
#: ../includes/admin.php:16
43
- msgid "Discourage search engines from indexing this site"
44
msgstr ""
45
46
#: ../includes/admin.php:16
47
#, php-format
48
- msgid "XML Sitemaps are disabled because you have set the option %1$s (above) to %2$s."
49
- msgstr "Les XML Sitemaps sont désactivé parce-que l'option %1$s (en haut) est mis à %2$s."
50
51
#: ../includes/admin.php:40
52
- #: ../includes/admin.php:360
53
msgid "XML Sitemaps"
54
msgstr "XML Sitemaps"
55
@@ -58,160 +58,203 @@ msgid "Regular XML Sitemaps"
58
msgstr "XML Sitemaps normaux"
59
60
#: ../includes/admin.php:43
61
- #: ../includes/admin.php:49
62
msgid "View"
63
msgstr ""
64
65
- #: ../includes/admin.php:47
66
msgid "Google News Sitemap"
67
msgstr "Google News Sitemap"
68
69
- #: ../includes/admin.php:59
70
- #: ../includes/admin.php:369
71
msgid "Include post types"
72
msgstr "Types d'articles à inclure"
73
74
- #: ../includes/admin.php:91
75
- #: ../includes/admin.php:295
76
- #: ../includes/admin.php:329
77
msgid "Settings"
78
msgstr ""
79
80
- #: ../includes/admin.php:106
81
- msgid "year of publication"
82
- msgstr "année de la publication"
83
84
- #: ../includes/admin.php:107
85
- msgid "month of publication"
86
- msgstr "mois de la publication"
87
88
- #: ../includes/admin.php:111
89
msgid "Split by"
90
msgstr "Trier par"
91
92
- #: ../includes/admin.php:121
93
- msgid "Split by year if you experience slow or blank sitemaps. In very rare cases, split by month is needed."
94
- msgstr "Trie par an si tu vois des sitemaps blancs ou très lentes. Aux très rares cas, un trie par mois est nécessaire."
95
96
- #: ../includes/admin.php:126
97
- #: ../includes/admin.php:328
98
msgid "Priority"
99
msgstr "Priorité"
100
101
- #: ../includes/admin.php:128
102
- msgid "Priority can be overridden on individual posts."
103
- msgstr "La Priorité peut être remplacée par article."
104
-
105
- #: ../includes/admin.php:128
106
- msgid "Maximum Priority (1.0) is reserved for the front page, individual posts and, when allowed, posts with high comment count."
107
- msgstr "La Priorité maximum (1.0) est réservé à la page d'accueil, articles individuels et, si permis, articles avec beaucoup des commentaires."
108
109
- #: ../includes/admin.php:133
110
msgid "Automatically adjusts Priority according to relative age and comment count."
111
msgstr "Ajuste la Priorité automatiquement selon l'âge relatif et le nombre des commentaires."
112
113
- #: ../includes/admin.php:133
114
msgid "Sticky posts will not be subject to reduction by age. Individual posts with fixed Priority will always keep that value."
115
msgstr "Articles mise en avant ne seront pas soumis à la réduction selon l'âge. Articles avec Priorité fixe garderont cette valeur."
116
117
- #: ../includes/admin.php:138
118
msgid "Update Lastmod and Changefreq on comments."
119
msgstr "Mise à jour de Lastmod et Changefreq à la soumission des commentaires."
120
121
- #: ../includes/admin.php:138
122
msgid "Set this if discussion on your site warrants reindexation upon each new comment."
123
msgstr "Configurez ceci si la discussion sur votre site nécessite la ré-indexation après chaque nouveau commentaire."
124
125
- #: ../includes/admin.php:147
126
- msgid "Priority settings do not affect ranking in search results in any way. They are only meant to suggest search engines which URLs to index first. Once a URL has been indexed, its Priority becomes meaningless until its Lastmod is updated."
127
- msgstr "Les paramètres de Priorité n'affectent pas le classement dans les résultats de recherche. Ils ont pour seul but de proposer des moteurs de recherche les URL à premier indice. Une fois qu'un URL a été indexé, sa priorité devient vide de sens jusqu'à le moment son Lastmod est mis à jour."
128
129
- #: ../includes/admin.php:157
130
- #: ../includes/admin.php:372
131
msgid "Include taxonomies"
132
msgstr "Taxonomies à inclure"
133
134
- #: ../includes/admin.php:181
135
msgid "No taxonomies available for the currently included post types."
136
msgstr "Aucun taxonomie disponible pour les types d'articles actuellement inclus."
137
138
- #: ../includes/admin.php:184
139
- msgid "It is generally not recommended to include taxonomy pages, unless their content brings added value. For example, when you use category descriptions with information that is not present elsewhere on your site or if taxonomy pages list posts with an excerpt that is different from, but complementary to the post content. In these cases you might consider including certain taxonomies. Otherwise, you might even consider disallowing indexation by adding specific robots.txt rules below."
140
- msgstr "Généralement, il est déconseillé à inclure les pages des taxonomies, sauf si ils représentent une valeur ajoutée. Par exemple, lorsque on utilise des descriptions des catégories que donnent des informations pas présents ailleurs sur le site. Sinon, vous pourriez même envisager interdire l'indexation en ajoutant des règles spécifiques robots.txt ci-dessous."
141
142
- #: ../includes/admin.php:194
143
msgid "Google"
144
- msgstr ""
145
146
- #: ../includes/admin.php:195
147
msgid "Bing"
148
- msgstr ""
149
150
- #: ../includes/admin.php:199
151
- #: ../includes/admin.php:375
152
msgid "Ping on Publish"
153
msgstr "Ping en Publiant"
154
155
- #: ../includes/admin.php:218
156
#, php-format
157
msgid "Successfully pinged for %1$s on %2$s GMT."
158
msgstr "Pingé avec succès pour %1$s le %2$s GMT."
159
160
- #: ../includes/admin.php:227
161
#, php-format
162
msgid "Rules to append to the %s generated by WordPress."
163
msgstr "Règles à ajouter au %s produit par WordPress."
164
165
- #: ../includes/admin.php:228
166
msgid "Only add rules here when you know what you are doing, otherwise you might break search engine access to your site."
167
msgstr "Ajoutez des règles ici seulement si vous saviez le faire, vous risquez bloquer l'accès aux moteurs de recherche."
168
169
- #: ../includes/admin.php:228
170
msgid "These rules will not have effect when you are using a static robots.txt file."
171
msgstr "Ces règles ne seront pas effectué si vous utilisez un fichier robots.txt statique."
172
173
- #: ../includes/admin.php:235
174
msgid "Clear all XML Sitemap Feed options from the database and start fresh with the default settings."
175
msgstr "Supprimez tous les options Flux XML Sitemap et redémarrez avec les valeurs par défaut."
176
177
- #: ../includes/admin.php:237
178
#, php-format
179
msgid "Disabling and reenabling the %s plugin will have the same effect."
180
msgstr "La désactivation et la réactivation de l'extension % s auront le même effet."
181
182
- #: ../includes/admin.php:311
183
msgid "XML Sitemap"
184
msgstr "XML Sitemap"
185
186
- #: ../includes/admin.php:329
187
#, php-format
188
msgid "Leave empty for automatic Priority as configured on %1$s > %2$s."
189
msgstr "Laissez vide pour la Priorité automatique comme configuré dans %1$s > %2$s."
190
191
- #: ../includes/admin.php:329
192
msgid "Reading"
193
msgstr ""
194
195
- #: ../includes/admin.php:363
196
- msgid "Enable XML sitemaps"
197
- msgstr "Activez XML Sitemaps"
198
-
199
- #: ../includes/admin.php:381
200
msgid "Additional robots.txt rules"
201
msgstr "Règles robots.txt additionelles"
202
203
- #: ../includes/admin.php:384
204
msgid "Reset XML sitemaps"
205
msgstr "Remise à nouveau"
206
207
#~ msgid "Note:"
208
#~ msgstr "Attention :"
209
210
#~ msgid "year"
211
#~ msgstr "an"
212
213
- #~ msgid "month"
214
- #~ msgstr "mois"
215
-
216
#~ msgid "Divide by"
217
#~ msgstr "Trier par"
2
msgstr ""
3
"Project-Id-Version: XML Sitemap and Google News feeds/4.0\n"
4
"Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2013-04-29 19:59+0100\n"
6
+ "PO-Revision-Date: 2013-04-29 21:03+0100\n"
7
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
8
"Language-Team: \n"
9
"Language: \n"
21
msgstr "Faites un don pour aider le développement et support de l'extension %s. Merci !"
22
23
#: ../includes/admin.php:15
24
+ #: ../includes/admin.php:269
25
msgid "XML Sitemap & Google News Feeds"
26
msgstr "Flux XML Sitemap & Google News"
27
32
33
#: ../includes/admin.php:16
34
#, php-format
35
+ msgid "XML Sitemaps will be disabled automatically when you check the option %1$s at %2$s above."
36
+ msgstr "Les XML Sitemaps seront désactivés automatiquement si l'option %1$s sous %2$s en haut est activée."
37
38
#: ../includes/admin.php:16
39
+ msgid "Discourage search engines from indexing this site"
40
msgstr ""
41
42
#: ../includes/admin.php:16
43
+ msgid "Search Engine Visibility"
44
msgstr ""
45
46
#: ../includes/admin.php:16
47
#, php-format
48
+ msgid "XML Sitemaps are disabled because you have checked the option %1$s at %2$s above."
49
+ msgstr "Les XML Sitemaps sont désactivés parce-que l'option %1$s sous %2$s en haut est activée."
50
51
#: ../includes/admin.php:40
52
+ #: ../includes/admin.php:410
53
msgid "XML Sitemaps"
54
msgstr "XML Sitemaps"
55
58
msgstr "XML Sitemaps normaux"
59
60
#: ../includes/admin.php:43
61
+ #: ../includes/admin.php:48
62
msgid "View"
63
msgstr ""
64
65
+ #: ../includes/admin.php:46
66
+ #: ../includes/admin.php:173
67
msgid "Google News Sitemap"
68
msgstr "Google News Sitemap"
69
70
+ #: ../includes/admin.php:58
71
+ #: ../includes/admin.php:419
72
msgid "Include post types"
73
msgstr "Types d'articles à inclure"
74
75
+ #: ../includes/admin.php:82
76
+ #: ../includes/admin.php:327
77
+ #: ../includes/admin.php:369
78
msgid "Settings"
79
msgstr ""
80
81
+ #: ../includes/admin.php:97
82
+ msgid "Year"
83
+ msgstr "Année"
84
85
+ #: ../includes/admin.php:98
86
+ msgid "Month"
87
+ msgstr "Mois"
88
89
+ #: ../includes/admin.php:102
90
msgid "Split by"
91
msgstr "Trier par"
92
93
+ #: ../includes/admin.php:105
94
+ #: ../includes/admin.php:140
95
+ msgid "None"
96
+ msgstr ""
97
+
98
+ #: ../includes/admin.php:112
99
+ msgid "Split by year if you experience errors or slow sitemaps. In very rare cases, split by month is needed."
100
+ msgstr "Trie par an si tu vois des erreurs ou des sitemaps très lentes. Aux très rares cas, un trie par mois est nécessaire."
101
102
+ #: ../includes/admin.php:117
103
+ #: ../includes/admin.php:365
104
msgid "Priority"
105
msgstr "Priorité"
106
107
+ #: ../includes/admin.php:119
108
+ msgid "Priority can be overridden on individual posts. *"
109
+ msgstr "La Priorité peut être remplacée par article. *"
110
111
+ #: ../includes/admin.php:124
112
msgid "Automatically adjusts Priority according to relative age and comment count."
113
msgstr "Ajuste la Priorité automatiquement selon l'âge relatif et le nombre des commentaires."
114
115
+ #: ../includes/admin.php:124
116
msgid "Sticky posts will not be subject to reduction by age. Individual posts with fixed Priority will always keep that value."
117
msgstr "Articles mise en avant ne seront pas soumis à la réduction selon l'âge. Articles avec Priorité fixe garderont cette valeur."
118
119
+ #: ../includes/admin.php:129
120
msgid "Update Lastmod and Changefreq on comments."
121
msgstr "Mise à jour de Lastmod et Changefreq à la soumission des commentaires."
122
123
+ #: ../includes/admin.php:129
124
msgid "Set this if discussion on your site warrants reindexation upon each new comment."
125
msgstr "Configurez ceci si la discussion sur votre site nécessite la ré-indexation après chaque nouveau commentaire."
126
127
+ #: ../includes/admin.php:133
128
+ msgid "Include:"
129
+ msgstr "Inclure :"
130
+
131
+ #: ../includes/admin.php:138
132
+ msgid "Image tags for"
133
+ msgstr "Balises d'image pour"
134
+
135
+ #: ../includes/admin.php:143
136
+ msgid "Featured Image"
137
+ msgstr ""
138
+
139
+ #: ../includes/admin.php:146
140
+ msgid "Attached images"
141
+ msgstr "Images attachées"
142
+
143
+ #: ../includes/admin.php:154
144
+ msgid "Google News tags"
145
+ msgstr "Balises Google News"
146
+
147
+ #: ../includes/admin.php:154
148
+ msgid "Only set when your site has been or will soon be accepted by Google News. **"
149
+ msgstr "Seulement si ton site est (ou sera bientôt) accepté par Google News. **"
150
151
+ #: ../includes/admin.php:171
152
+ msgid "* Priority settings do not affect ranking in search results in any way. They are only meant to suggest search engines which URLs to index first. Once a URL has been indexed, its Priority becomes meaningless until its Lastmod is updated."
153
+ msgstr "* Les paramètres de Priorité n'affectent pas le classement dans les résultats de recherche. Ils ont pour seul but de proposer des moteurs de recherche les URL à premier indice. Une fois qu'un URL a été indexé, sa priorité devient vide de sens jusqu'à le moment son Lastmod est mis à jour."
154
+
155
+ #: ../includes/admin.php:171
156
+ msgid "Maximum Priority (1.0) is reserved for the front page, individual posts and, when allowed, posts with high comment count."
157
+ msgstr "La Priorité maximum (1.0) est réservé à la page d'accueil, articles individuels et, si permis, articles avec beaucoup des commentaires."
158
+
159
+ #: ../includes/admin.php:173
160
+ #, php-format
161
+ msgid "** Google recommends using a seperate news sitemap. You can do this by checking the option %1$s at %2$s above."
162
+ msgstr "** Google recommande un sitemap dédié News. Utilise l'option %1$s sous %2$s en haut pour cela."
163
+
164
+ #: ../includes/admin.php:173
165
+ #: ../includes/admin.php:413
166
+ msgid "Enable XML sitemaps"
167
+ msgstr "Activez XML Sitemaps"
168
+
169
+ #: ../includes/admin.php:183
170
+ #: ../includes/admin.php:422
171
msgid "Include taxonomies"
172
msgstr "Taxonomies à inclure"
173
174
+ #: ../includes/admin.php:213
175
msgid "No taxonomies available for the currently included post types."
176
msgstr "Aucun taxonomie disponible pour les types d'articles actuellement inclus."
177
178
+ #: ../includes/admin.php:216
179
+ msgid "It is generally not recommended to include taxonomy pages, unless their content brings added value. For example, when you use category descriptions with information that is not present elsewhere on your site or if taxonomy pages list posts with an excerpt that is different from, but complementary to the post content. In these cases you might consider including certain taxonomies. Otherwise, you might even consider disallowing indexation to prevent a possible duplicate content penalty. You can do this by adding specific robots.txt rules below."
180
+ msgstr "Généralement, il est déconseillé à inclure les pages des taxonomies, sauf si ils représentent une valeur ajoutée. Par exemple, lorsque on utilise des descriptions des catégories que donnent des informations pas présents ailleurs sur le site. Sinon, vous pourriez même envisager interdire l'indexation pour éviter punition 'duplicate content' . Ajoute des règles spécifiques robots.txt ci-dessous pour cela."
181
182
+ #: ../includes/admin.php:226
183
msgid "Google"
184
+ msgstr "Google"
185
186
+ #: ../includes/admin.php:227
187
msgid "Bing"
188
+ msgstr "Bing"
189
190
+ #: ../includes/admin.php:231
191
+ #: ../includes/admin.php:425
192
msgid "Ping on Publish"
193
msgstr "Ping en Publiant"
194
195
+ #: ../includes/admin.php:250
196
#, php-format
197
msgid "Successfully pinged for %1$s on %2$s GMT."
198
msgstr "Pingé avec succès pour %1$s le %2$s GMT."
199
200
+ #: ../includes/admin.php:259
201
#, php-format
202
msgid "Rules to append to the %s generated by WordPress."
203
msgstr "Règles à ajouter au %s produit par WordPress."
204
205
+ #: ../includes/admin.php:260
206
msgid "Only add rules here when you know what you are doing, otherwise you might break search engine access to your site."
207
msgstr "Ajoutez des règles ici seulement si vous saviez le faire, vous risquez bloquer l'accès aux moteurs de recherche."
208
209
+ #: ../includes/admin.php:260
210
msgid "These rules will not have effect when you are using a static robots.txt file."
211
msgstr "Ces règles ne seront pas effectué si vous utilisez un fichier robots.txt statique."
212
213
+ #: ../includes/admin.php:267
214
msgid "Clear all XML Sitemap Feed options from the database and start fresh with the default settings."
215
msgstr "Supprimez tous les options Flux XML Sitemap et redémarrez avec les valeurs par défaut."
216
217
+ #: ../includes/admin.php:269
218
#, php-format
219
msgid "Disabling and reenabling the %s plugin will have the same effect."
220
msgstr "La désactivation et la réactivation de l'extension % s auront le même effet."
221
222
+ #: ../includes/admin.php:344
223
msgid "XML Sitemap"
224
msgstr "XML Sitemap"
225
226
+ #: ../includes/admin.php:361
227
+ msgid "Exclude from XML Sitemap"
228
+ msgstr "Exclure de l'XML Sitemap"
229
+
230
+ #: ../includes/admin.php:369
231
#, php-format
232
msgid "Leave empty for automatic Priority as configured on %1$s > %2$s."
233
msgstr "Laissez vide pour la Priorité automatique comme configuré dans %1$s > %2$s."
234
235
+ #: ../includes/admin.php:369
236
msgid "Reading"
237
msgstr ""
238
239
+ #: ../includes/admin.php:431
240
msgid "Additional robots.txt rules"
241
msgstr "Règles robots.txt additionelles"
242
243
+ #: ../includes/admin.php:434
244
msgid "Reset XML sitemaps"
245
msgstr "Remise à nouveau"
246
247
+ #~ msgid "year of publication"
248
+ #~ msgstr "année de la publication"
249
+
250
+ #~ msgid "month of publication"
251
+ #~ msgstr "mois de la publication"
252
+
253
#~ msgid "Note:"
254
#~ msgstr "Attention :"
255
256
#~ msgid "year"
257
#~ msgstr "an"
258
259
#~ msgid "Divide by"
260
#~ msgstr "Trier par"
languages/xml-sitemap-feed-id_ID.mo ADDED
Binary file
languages/xml-sitemap-feed-id_ID.po ADDED
@@ -0,0 +1,304 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: XML Sitemap and Google News feeds/4.0\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2013-04-29 19:59+0100\n"
6
+ "PO-Revision-Date: 2013-07-21 01:07+0800\n"
7
+ "Last-Translator: RavanH <ravanhagen@gmail.com>\n"
8
+ "Language-Team: <nasrulhaq81@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: __;_e;_n\n"
13
+ "X-Poedit-Basepath: .\n"
14
+ "X-Poedit-SourceCharset: UTF-8\n"
15
+ "X-Generator: Poedit 1.5.7\n"
16
+ "Language: id_ID\n"
17
+ "X-Poedit-SearchPath-0: ..\n"
18
+
19
+ #: ../includes/admin.php:15
20
+ #, php-format
21
+ msgid "Donate to keep the free %s plugin development & support going!"
22
+ msgstr ""
23
+ "Donasi untuk menjaga pengembangan & dukungan plugin gratis %s berlangsung "
24
+
25
+ #: ../includes/admin.php:15 ../includes/admin.php:269
26
+ msgid "XML Sitemap & Google News Feeds"
27
+ msgstr "XML Sitemap & Google News Feeds"
28
+
29
+ #: ../includes/admin.php:15
30
+ #, php-format
31
+ msgid "These settings control the XML Sitemaps generated by the %s plugin."
32
+ msgstr ""
33
+ "Pengaturan ini mengontrol untuk menghasilkan XML Sitemaps oleh plugin %s"
34
+
35
+ #: ../includes/admin.php:16
36
+ #, php-format
37
+ msgid ""
38
+ "XML Sitemaps will be disabled automatically when you check the option %1$s "
39
+ "at %2$s above."
40
+ msgstr ""
41
+ "XML Sitemap akan dimatikan otomatis ketika anda mencentang pilihan %1$s di "
42
+ "%2$s atas"
43
+
44
+ #: ../includes/admin.php:16
45
+ msgid "Discourage search engines from indexing this site"
46
+ msgstr "Halangi mesin pencari mengindex situs ini"
47
+
48
+ #: ../includes/admin.php:16
49
+ msgid "Search Engine Visibility"
50
+ msgstr "Kenampakan mesin pencari"
51
+
52
+ #: ../includes/admin.php:16
53
+ #, php-format
54
+ msgid ""
55
+ "XML Sitemaps are disabled because you have checked the option %1$s at %2$s "
56
+ "above."
57
+ msgstr ""
58
+ "XML Sitemap dimatikan karena anda mencentang pilihan %1$s pada %2$s diatas."
59
+
60
+ #: ../includes/admin.php:40 ../includes/admin.php:410
61
+ msgid "XML Sitemaps"
62
+ msgstr "XML Sitemaps"
63
+
64
+ #: ../includes/admin.php:41
65
+ msgid "Regular XML Sitemaps"
66
+ msgstr "XML Sitemap Reguler"
67
+
68
+ #: ../includes/admin.php:43 ../includes/admin.php:48
69
+ msgid "View"
70
+ msgstr "Lihat"
71
+
72
+ #: ../includes/admin.php:46 ../includes/admin.php:173
73
+ msgid "Google News Sitemap"
74
+ msgstr "Google News Sitemap"
75
+
76
+ #: ../includes/admin.php:58 ../includes/admin.php:419
77
+ msgid "Include post types"
78
+ msgstr "Termasuk tipe post"
79
+
80
+ #: ../includes/admin.php:82 ../includes/admin.php:327
81
+ #: ../includes/admin.php:369
82
+ msgid "Settings"
83
+ msgstr "Pengaturan"
84
+
85
+ #: ../includes/admin.php:97
86
+ msgid "Year"
87
+ msgstr "Tahun"
88
+
89
+ #: ../includes/admin.php:98
90
+ msgid "Month"
91
+ msgstr "Bulan"
92
+
93
+ #: ../includes/admin.php:102
94
+ msgid "Split by"
95
+ msgstr "Dipilah oleh"
96
+
97
+ #: ../includes/admin.php:105 ../includes/admin.php:140
98
+ msgid "None"
99
+ msgstr "Tidak ada"
100
+
101
+ #: ../includes/admin.php:112
102
+ msgid ""
103
+ "Split by year if you experience errors or slow sitemaps. In very rare cases, "
104
+ "split by month is needed."
105
+ msgstr ""
106
+ "Pilah berdasarkan tahun jika sitemap mengalami kesalahan atau lambat. Kasus "
107
+ "yang jarang terjadi, pilah berdasarkan bulan dibutuhkan."
108
+
109
+ #: ../includes/admin.php:117 ../includes/admin.php:365
110
+ msgid "Priority"
111
+ msgstr "Prioritas"
112
+
113
+ #: ../includes/admin.php:119
114
+ msgid "Priority can be overridden on individual posts. *"
115
+ msgstr "Prioritas dapat ditimpa pada tiap post"
116
+
117
+ #: ../includes/admin.php:124
118
+ msgid ""
119
+ "Automatically adjusts Priority according to relative age and comment count."
120
+ msgstr ""
121
+ "Otomatis menyesuaikan Prioritas mengikuti usia post dan jumlah komentar"
122
+
123
+ #: ../includes/admin.php:124
124
+ msgid ""
125
+ "Sticky posts will not be subject to reduction by age. Individual posts with "
126
+ "fixed Priority will always keep that value."
127
+ msgstr ""
128
+ "Post terbaru tidak menjadi subyek mereduksi umur post, Tiap post dengan "
129
+ "Prioritas yang jelas akan selalu menjadi nilai."
130
+
131
+ #: ../includes/admin.php:129
132
+ msgid "Update Lastmod and Changefreq on comments."
133
+ msgstr "Perbarui Lastmod dan Changefreq di komentar."
134
+
135
+ #: ../includes/admin.php:129
136
+ msgid ""
137
+ "Set this if discussion on your site warrants reindexation upon each new "
138
+ "comment."
139
+ msgstr ""
140
+ "Atur ini jika diskusi di situs anda mengingatkan index ulang atas setiap "
141
+ "komentar baru."
142
+
143
+ #: ../includes/admin.php:133
144
+ msgid "Include:"
145
+ msgstr "Termasuk:"
146
+
147
+ #: ../includes/admin.php:138
148
+ msgid "Image tags for"
149
+ msgstr "Tag gambar untuk"
150
+
151
+ #: ../includes/admin.php:143
152
+ msgid "Featured Image"
153
+ msgstr "Fitur Gambar"
154
+
155
+ #: ../includes/admin.php:146
156
+ msgid "Attached images"
157
+ msgstr "Gambar terlampir"
158
+
159
+ #: ../includes/admin.php:154
160
+ msgid "Google News tags"
161
+ msgstr "Tag Google News"
162
+
163
+ #: ../includes/admin.php:154
164
+ msgid ""
165
+ "Only set when your site has been or will soon be accepted by Google News. **"
166
+ msgstr ""
167
+ "Atur ini hanya jika situs anda telah diterima atau akan diteriima oleh "
168
+ "Google News. **"
169
+
170
+ #: ../includes/admin.php:171
171
+ msgid ""
172
+ "* Priority settings do not affect ranking in search results in any way. They "
173
+ "are only meant to suggest search engines which URLs to index first. Once a "
174
+ "URL has been indexed, its Priority becomes meaningless until its Lastmod is "
175
+ "updated."
176
+ msgstr ""
177
+ "* Pengaturan Prioritas tidak berefek pada peringkat hasil pencarian. "
178
+ "Prioritas dimaksudkan hanya menyarankan mesin pencari dengan URL agar "
179
+ "diindex terlebih dahulu. ketika URL terindex, Prioritas tidak bermakna "
180
+ "hingga Lastmod diperbaharui"
181
+
182
+ #: ../includes/admin.php:171
183
+ msgid ""
184
+ "Maximum Priority (1.0) is reserved for the front page, individual posts and, "
185
+ "when allowed, posts with high comment count."
186
+ msgstr ""
187
+ "Prioritas Maksimum (1.0) tersedia dihalaman depan, tiap posting, dan jika "
188
+ "diijinkan, posting dengan komentar tinggi terhitung."
189
+
190
+ #: ../includes/admin.php:173
191
+ #, php-format
192
+ msgid ""
193
+ "** Google recommends using a seperate news sitemap. You can do this by "
194
+ "checking the option %1$s at %2$s above."
195
+ msgstr ""
196
+ "** Google merekomendasikan memakai sitemap terpisah. Anda dapat melakukannya "
197
+ "dengan mencentang pilihan %1$s pada %2$s diatas."
198
+
199
+ #: ../includes/admin.php:173 ../includes/admin.php:413
200
+ msgid "Enable XML sitemaps"
201
+ msgstr "Aktifkan XML sitemap"
202
+
203
+ #: ../includes/admin.php:183 ../includes/admin.php:422
204
+ msgid "Include taxonomies"
205
+ msgstr "Ikutkan Taxonomi"
206
+
207
+ #: ../includes/admin.php:213
208
+ msgid "No taxonomies available for the currently included post types."
209
+ msgstr "Tidak taxonomi tersedia tipe post yang diikutkan saat ini."
210
+
211
+ #: ../includes/admin.php:216
212
+ msgid ""
213
+ "It is generally not recommended to include taxonomy pages, unless their "
214
+ "content brings added value. For example, when you use category descriptions "
215
+ "with information that is not present elsewhere on your site or if taxonomy "
216
+ "pages list posts with an excerpt that is different from, but complementary "
217
+ "to the post content. In these cases you might consider including certain "
218
+ "taxonomies. Otherwise, you might even consider disallowing indexation to "
219
+ "prevent a possible duplicate content penalty. You can do this by adding "
220
+ "specific robots.txt rules below."
221
+ msgstr ""
222
+ "Secara umum tidak merekomendasikan mengikutkan taksonomi halaman, kecuali "
223
+ "kontennya memberi nilai. Sebagai contoh, ketika anda menggunakan deskripsi "
224
+ "kategori dengan informasi yang tidak ada dibagian lain disitus anda atau "
225
+ "jika taksonomi halaman diposting dengan kutipan dalam bentuk berbeda. akan "
226
+ "tetapi menjadi pelengkap pada isi posting. Dalam kasus ini anda diharapkan "
227
+ "mengikutkan beberapa taksonomi. Sebaliknya, anda bisa tidak menginkan "
228
+ "indeksasi untuk menjaga kemungkinan pinalti konten ganda. Anda dapat "
229
+ "melakukan dengan menambah aturan spesifik robots.txt dibawah."
230
+
231
+ #: ../includes/admin.php:226
232
+ msgid "Google"
233
+ msgstr "Google"
234
+
235
+ #: ../includes/admin.php:227
236
+ msgid "Bing"
237
+ msgstr "Bing"
238
+
239
+ #: ../includes/admin.php:231 ../includes/admin.php:425
240
+ msgid "Ping on Publish"
241
+ msgstr "Ping saat Publikasi"
242
+
243
+ #: ../includes/admin.php:250
244
+ #, php-format
245
+ msgid "Successfully pinged for %1$s on %2$s GMT."
246
+ msgstr "Sukses ping untuk %1$s pada %2$s GMT."
247
+
248
+ #: ../includes/admin.php:259
249
+ #, php-format
250
+ msgid "Rules to append to the %s generated by WordPress."
251
+ msgstr "Aturan yang ditambahkan %s dihasilkan oleh WordPress"
252
+
253
+ #: ../includes/admin.php:260
254
+ msgid ""
255
+ "Only add rules here when you know what you are doing, otherwise you might "
256
+ "break search engine access to your site."
257
+ msgstr ""
258
+ "Tambah aturan disini jika hanya anda memahami, sebaliknya anda bisa saja "
259
+ "menghentikan akses mesin pencari ke situs anda. "
260
+
261
+ #: ../includes/admin.php:260
262
+ msgid ""
263
+ "These rules will not have effect when you are using a static robots.txt file."
264
+ msgstr ""
265
+ "Pengaturan tidak memiliki efek jika anda menggunakan file statis robots.txt"
266
+
267
+ #: ../includes/admin.php:267
268
+ msgid ""
269
+ "Clear all XML Sitemap Feed options from the database and start fresh with "
270
+ "the default settings."
271
+ msgstr ""
272
+ "Hapus semua pilihan XML Sitemap Feed dari database dan mulai yang baru "
273
+ "melalui pengaturan awal"
274
+
275
+ #: ../includes/admin.php:269
276
+ #, php-format
277
+ msgid "Disabling and reenabling the %s plugin will have the same effect."
278
+ msgstr "Mengaktifkan dan menyalakan plugin %s akan berdampak sama."
279
+
280
+ #: ../includes/admin.php:344
281
+ msgid "XML Sitemap"
282
+ msgstr "XML Sitemap"
283
+
284
+ #: ../includes/admin.php:361
285
+ msgid "Exclude from XML Sitemap"
286
+ msgstr "Mengecualikan dari XML Sitemap"
287
+
288
+ #: ../includes/admin.php:369
289
+ #, php-format
290
+ msgid "Leave empty for automatic Priority as configured on %1$s > %2$s."
291
+ msgstr ""
292
+ "Biarkan kosong untuk Prioritas otomatis seperti dikonfigurasi di %1$s > %2$s."
293
+
294
+ #: ../includes/admin.php:369
295
+ msgid "Reading"
296
+ msgstr "Membaca"
297
+
298
+ #: ../includes/admin.php:431
299
+ msgid "Additional robots.txt rules"
300
+ msgstr "Aturan tambahan robots.txt"
301
+
302
+ #: ../includes/admin.php:434
303
+ msgid "Reset XML sitemaps"
304
+ msgstr "Atur ulang XML Sitemaps"
languages/xml-sitemap-feed-nl_NL.mo CHANGED
Binary file
languages/xml-sitemap-feed-nl_NL.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
msgstr ""
3
"Project-Id-Version: XML Sitemap and Google News feeds/4.0\n"
4
"Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2013-03-26 15:31+0100\n"
6
- "PO-Revision-Date: 2013-03-26 15:36+0100\n"
7
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
8
"Language-Team: \n"
9
"Language: \n"
@@ -21,7 +21,7 @@ msgid "Donate to keep the free %s plugin development & support going!"
21
msgstr "Doneer om de ontwikkeling en ondersteuning van de %s plugin gaande te houden!"
22
23
#: ../includes/admin.php:15
24
- #: ../includes/admin.php:237
25
msgid "XML Sitemap & Google News Feeds"
26
msgstr "XML Sitemap & Google News Feeds"
27
@@ -32,24 +32,24 @@ msgstr "Deze instellingen beheersen de XML Sitemaps gegenereerd door de %s plugi
32
33
#: ../includes/admin.php:16
34
#, php-format
35
- msgid "XML Sitemaps will be disabled automatically when you set the option %1$s (above) to %2$s."
36
- msgstr "XML Sitemaps worden automatisch uitgeschakeld als je de optie %1$s (boven) op %2$s zet."
37
38
#: ../includes/admin.php:16
39
- msgid "Search Engine Visibility"
40
msgstr ""
41
42
#: ../includes/admin.php:16
43
- msgid "Discourage search engines from indexing this site"
44
msgstr ""
45
46
#: ../includes/admin.php:16
47
#, php-format
48
- msgid "XML Sitemaps are disabled because you have set the option %1$s (above) to %2$s."
49
- msgstr "XML Sitemaps zijn uitgeschakeld omdat de optie %1$s (boven) op %2$s staat."
50
51
#: ../includes/admin.php:40
52
- #: ../includes/admin.php:360
53
msgid "XML Sitemaps"
54
msgstr "XML Sitemaps"
55
@@ -58,161 +58,204 @@ msgid "Regular XML Sitemaps"
58
msgstr "Standaard XML Sitemaps"
59
60
#: ../includes/admin.php:43
61
- #: ../includes/admin.php:49
62
msgid "View"
63
msgstr "Weergave"
64
65
- #: ../includes/admin.php:47
66
msgid "Google News Sitemap"
67
msgstr "Google News Sitemap"
68
69
- #: ../includes/admin.php:59
70
- #: ../includes/admin.php:369
71
msgid "Include post types"
72
msgstr "Post types bijsluiten"
73
74
- #: ../includes/admin.php:91
75
- #: ../includes/admin.php:295
76
- #: ../includes/admin.php:329
77
msgid "Settings"
78
msgstr ""
79
80
- #: ../includes/admin.php:106
81
- msgid "year of publication"
82
- msgstr "jaar van publicatie"
83
84
- #: ../includes/admin.php:107
85
- msgid "month of publication"
86
- msgstr "maand van publicatie"
87
88
- #: ../includes/admin.php:111
89
msgid "Split by"
90
msgstr "Verdeel naar"
91
92
- #: ../includes/admin.php:121
93
- msgid "Split by year if you experience slow or blank sitemaps. In very rare cases, split by month is needed."
94
- msgstr "Verdeel naar jaar als je trage of lege sitemaps ondervindt. In zeldzame gevallen is een verdeling naar maand nodig."
95
96
- #: ../includes/admin.php:126
97
- #: ../includes/admin.php:328
98
msgid "Priority"
99
msgstr "Prioriteit"
100
101
- #: ../includes/admin.php:128
102
- msgid "Priority can be overridden on individual posts."
103
- msgstr "De Priority kan per post worden aangepast."
104
-
105
- #: ../includes/admin.php:128
106
- msgid "Maximum Priority (1.0) is reserved for the front page, individual posts and, when allowed, posts with high comment count."
107
- msgstr "Maximum Priority (1.0) is gereserveerd voor de voorpagina, individuele posts en, indien toegestaan, posts met veel commentaren."
108
109
- #: ../includes/admin.php:133
110
msgid "Automatically adjusts Priority according to relative age and comment count."
111
msgstr "Pas de Priority automatisch aan naar relatieve leeftijd en aantal commentaren."
112
113
- #: ../includes/admin.php:133
114
msgid "Sticky posts will not be subject to reduction by age. Individual posts with fixed Priority will always keep that value."
115
msgstr "Sticky posts worden niet onderworpen aan een reductie naar leeftijd. Posts met een vastgezette Priority behouden deze."
116
117
- #: ../includes/admin.php:138
118
msgid "Update Lastmod and Changefreq on comments."
119
msgstr "Pas de Lastmod en Changefreq aan bij commentaren."
120
121
- #: ../includes/admin.php:138
122
msgid "Set this if discussion on your site warrants reindexation upon each new comment."
123
msgstr "Activeer dit als discussies op je site het waard zijn om na ieder commentaar opnieuw geïndexeerd te worden."
124
125
- #: ../includes/admin.php:147
126
- msgid "Priority settings do not affect ranking in search results in any way. They are only meant to suggest search engines which URLs to index first. Once a URL has been indexed, its Priority becomes meaningless until its Lastmod is updated."
127
- msgstr "Priority beïnvloed de positie in zoekresultaten op geen enkele wijze. Het is slechts bedoeld om aan te geven welke URLs het eerst geïndexeerd dienen te worden. Zodra een URL geïndexeerd is, wordt de prioriteit betekenisloos totdat de Lastmod is veranderd."
128
129
- #: ../includes/admin.php:157
130
- #: ../includes/admin.php:372
131
msgid "Include taxonomies"
132
msgstr "Taxonomieën bijsluiten"
133
134
- #: ../includes/admin.php:181
135
msgid "No taxonomies available for the currently included post types."
136
msgstr "Geen taxonomieën beschikbaar voor de huidige bijgesloten post types."
137
138
- #: ../includes/admin.php:184
139
- msgid "It is generally not recommended to include taxonomy pages, unless their content brings added value. For example, when you use category descriptions with information that is not present elsewhere on your site or if taxonomy pages list posts with an excerpt that is different from, but complementary to the post content. In these cases you might consider including certain taxonomies. Otherwise, you might even consider disallowing indexation by adding specific robots.txt rules below."
140
- msgstr "Het wordt over het algemeen afgeraden om taxonomieën bij te sluiten, tenzij deze een toegevoegde waarde vertegenwoordigen. Bijvoorbeeld als je categoriebeschrijvingen gebruikt die unieke informatie bevatten of als excerpts op taxonomiepagina's anders maar aanvullend zijn op de inhoud van de artikelen. In deze gevallen zou je kunnen overwegen bepaalde taxonomieën bij te sluiten. Maar in andere gevallen zou je zelfs kunnen overwegen om indexatie te verbieden door specifieke robots.txt regels hieronder toe te voegen."
141
142
- #: ../includes/admin.php:194
143
msgid "Google"
144
msgstr "Google"
145
146
- #: ../includes/admin.php:195
147
msgid "Bing"
148
msgstr "Bing"
149
150
- #: ../includes/admin.php:199
151
- #: ../includes/admin.php:375
152
msgid "Ping on Publish"
153
msgstr "Ping bij Publiceren"
154
155
- #: ../includes/admin.php:218
156
#, php-format
157
msgid "Successfully pinged for %1$s on %2$s GMT."
158
msgstr "Succesvol gepinged voor %1$s op %2$s GMT."
159
160
- #: ../includes/admin.php:227
161
#, php-format
162
msgid "Rules to append to the %s generated by WordPress."
163
msgstr "Regels om aan de WordPress gegenereerde %s toe te voegen."
164
165
- #: ../includes/admin.php:228
166
msgid "Only add rules here when you know what you are doing, otherwise you might break search engine access to your site."
167
msgstr "Definieer hier alleen regels als je weet wat je doet, anders zou je de toegang tot je site kunnen verstoren."
168
169
- #: ../includes/admin.php:228
170
msgid "These rules will not have effect when you are using a static robots.txt file."
171
msgstr "Deze regels hebben geen effect als je een statisch robots.txt bestand gebruikt."
172
173
- #: ../includes/admin.php:235
174
msgid "Clear all XML Sitemap Feed options from the database and start fresh with the default settings."
175
msgstr "Wis alle XML Sitemap Feed opties van de database en start opnieuw met de standaard instellingen."
176
177
- #: ../includes/admin.php:237
178
#, php-format
179
msgid "Disabling and reenabling the %s plugin will have the same effect."
180
msgstr "Uit- en weer inschakelen van de %s plugin heeft hetzelfde effect."
181
182
- #: ../includes/admin.php:311
183
msgid "XML Sitemap"
184
msgstr "XML Sitemap"
185
186
- #: ../includes/admin.php:329
187
#, php-format
188
msgid "Leave empty for automatic Priority as configured on %1$s > %2$s."
189
msgstr "Laat leeg voor automatische Priority zoals geconfigureerd op %1$s > %2$s."
190
191
- #: ../includes/admin.php:329
192
msgid "Reading"
193
msgstr ""
194
195
- #: ../includes/admin.php:363
196
- msgid "Enable XML sitemaps"
197
- msgstr "XML sitemaps activeren"
198
-
199
- #: ../includes/admin.php:381
200
msgid "Additional robots.txt rules"
201
msgstr "Aanvullende robots.txt regels"
202
203
- #: ../includes/admin.php:384
204
msgid "Reset XML sitemaps"
205
msgstr "XML sitemaps resetten"
206
207
#~ msgid "Note:"
208
#~ msgstr "Opmerking:"
209
210
#~ msgid "year"
211
#~ msgstr "jaar"
212
213
- #~ msgid "month"
214
- #~ msgstr "maand"
215
-
216
#~ msgid "Divide by"
217
#~ msgstr "Verdeel naar"
218
2
msgstr ""
3
"Project-Id-Version: XML Sitemap and Google News feeds/4.0\n"
4
"Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2013-04-29 19:59+0100\n"
6
+ "PO-Revision-Date: 2013-04-29 20:50+0100\n"
7
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
8
"Language-Team: \n"
9
"Language: \n"
21
msgstr "Doneer om de ontwikkeling en ondersteuning van de %s plugin gaande te houden!"
22
23
#: ../includes/admin.php:15
24
+ #: ../includes/admin.php:269
25
msgid "XML Sitemap & Google News Feeds"
26
msgstr "XML Sitemap & Google News Feeds"
27
32
33
#: ../includes/admin.php:16
34
#, php-format
35
+ msgid "XML Sitemaps will be disabled automatically when you check the option %1$s at %2$s above."
36
+ msgstr "XML Sitemaps worden automatisch uitgeschakeld als je de optie %1$s bij %2$s aanvinkt."
37
38
#: ../includes/admin.php:16
39
+ msgid "Discourage search engines from indexing this site"
40
msgstr ""
41
42
#: ../includes/admin.php:16
43
+ msgid "Search Engine Visibility"
44
msgstr ""
45
46
#: ../includes/admin.php:16
47
#, php-format
48
+ msgid "XML Sitemaps are disabled because you have checked the option %1$s at %2$s above."
49
+ msgstr "XML Sitemaps zijn uitgeschakeld omdat de optie %1$s bij %2$s aangevinkt is."
50
51
#: ../includes/admin.php:40
52
+ #: ../includes/admin.php:410
53
msgid "XML Sitemaps"
54
msgstr "XML Sitemaps"
55
58
msgstr "Standaard XML Sitemaps"
59
60
#: ../includes/admin.php:43
61
+ #: ../includes/admin.php:48
62
msgid "View"
63
msgstr "Weergave"
64
65
+ #: ../includes/admin.php:46
66
+ #: ../includes/admin.php:173
67
msgid "Google News Sitemap"
68
msgstr "Google News Sitemap"
69
70
+ #: ../includes/admin.php:58
71
+ #: ../includes/admin.php:419
72
msgid "Include post types"
73
msgstr "Post types bijsluiten"
74
75
+ #: ../includes/admin.php:82
76
+ #: ../includes/admin.php:327
77
+ #: ../includes/admin.php:369
78
msgid "Settings"
79
msgstr ""
80
81
+ #: ../includes/admin.php:97
82
+ msgid "Year"
83
+ msgstr "Jaar"
84
85
+ #: ../includes/admin.php:98
86
+ msgid "Month"
87
+ msgstr "Maand"
88
89
+ #: ../includes/admin.php:102
90
msgid "Split by"
91
msgstr "Verdeel naar"
92
93
+ #: ../includes/admin.php:105
94
+ #: ../includes/admin.php:140
95
+ msgid "None"
96
+ msgstr ""
97
+
98
+ #: ../includes/admin.php:112
99
+ msgid "Split by year if you experience errors or slow sitemaps. In very rare cases, split by month is needed."
100
+ msgstr "Verdeel naar jaar als je errors of trage sitemaps ondervindt. In zeldzame gevallen is een verdeling naar maand nodig."
101
102
+ #: ../includes/admin.php:117
103
+ #: ../includes/admin.php:365
104
msgid "Priority"
105
msgstr "Prioriteit"
106
107
+ #: ../includes/admin.php:119
108
+ msgid "Priority can be overridden on individual posts. *"
109
+ msgstr "De Priority kan per post worden aangepast. *"
110
111
+ #: ../includes/admin.php:124
112
msgid "Automatically adjusts Priority according to relative age and comment count."
113
msgstr "Pas de Priority automatisch aan naar relatieve leeftijd en aantal commentaren."
114
115
+ #: ../includes/admin.php:124
116
msgid "Sticky posts will not be subject to reduction by age. Individual posts with fixed Priority will always keep that value."
117
msgstr "Sticky posts worden niet onderworpen aan een reductie naar leeftijd. Posts met een vastgezette Priority behouden deze."
118
119
+ #: ../includes/admin.php:129
120
msgid "Update Lastmod and Changefreq on comments."
121
msgstr "Pas de Lastmod en Changefreq aan bij commentaren."
122
123
+ #: ../includes/admin.php:129
124
msgid "Set this if discussion on your site warrants reindexation upon each new comment."
125
msgstr "Activeer dit als discussies op je site het waard zijn om na ieder commentaar opnieuw geïndexeerd te worden."
126
127
+ #: ../includes/admin.php:133
128
+ msgid "Include:"
129
+ msgstr "Bijsluiten:"
130
+
131
+ #: ../includes/admin.php:138
132
+ msgid "Image tags for"
133
+ msgstr "Afbeeldingstags voor"
134
+
135
+ #: ../includes/admin.php:143
136
+ msgid "Featured Image"
137
+ msgstr ""
138
+
139
+ #: ../includes/admin.php:146
140
+ msgid "Attached images"
141
+ msgstr "Bijgevoegde afbeeldingen"
142
+
143
+ #: ../includes/admin.php:154
144
+ msgid "Google News tags"
145
+ msgstr "Google News tags"
146
147
+ #: ../includes/admin.php:154
148
+ msgid "Only set when your site has been or will soon be accepted by Google News. **"
149
+ msgstr "Alleen als je site door Google News geaccepteerd is of zal worden. **"
150
+
151
+ #: ../includes/admin.php:171
152
+ msgid "* Priority settings do not affect ranking in search results in any way. They are only meant to suggest search engines which URLs to index first. Once a URL has been indexed, its Priority becomes meaningless until its Lastmod is updated."
153
+ msgstr "* Prioriteit beïnvloed de positie in zoekresultaten op geen enkele wijze. Het is slechts bedoeld om aan te geven welke URLs het eerst geïndexeerd dienen te worden. Zodra een URL geïndexeerd is, wordt de prioriteit betekenisloos totdat de Lastmod is veranderd."
154
+
155
+ #: ../includes/admin.php:171
156
+ msgid "Maximum Priority (1.0) is reserved for the front page, individual posts and, when allowed, posts with high comment count."
157
+ msgstr "Maximum Priority (1.0) is gereserveerd voor de voorpagina, individuele posts en, indien toegestaan, posts met veel commentaren."
158
+
159
+ #: ../includes/admin.php:173
160
+ #, php-format
161
+ msgid "** Google recommends using a seperate news sitemap. You can do this by checking the option %1$s at %2$s above."
162
+ msgstr "** Google raadt het gebruik van een aparte news sitemap aan. Doe dit door de optie %1$s bij %2$s hier boven aan te vinken."
163
+
164
+ #: ../includes/admin.php:173
165
+ #: ../includes/admin.php:413
166
+ msgid "Enable XML sitemaps"
167
+ msgstr "XML sitemaps activeren"
168
+
169
+ #: ../includes/admin.php:183
170
+ #: ../includes/admin.php:422
171
msgid "Include taxonomies"
172
msgstr "Taxonomieën bijsluiten"
173
174
+ #: ../includes/admin.php:213
175
msgid "No taxonomies available for the currently included post types."
176
msgstr "Geen taxonomieën beschikbaar voor de huidige bijgesloten post types."
177
178
+ #: ../includes/admin.php:216
179
+ msgid "It is generally not recommended to include taxonomy pages, unless their content brings added value. For example, when you use category descriptions with information that is not present elsewhere on your site or if taxonomy pages list posts with an excerpt that is different from, but complementary to the post content. In these cases you might consider including certain taxonomies. Otherwise, you might even consider disallowing indexation to prevent a possible duplicate content penalty. You can do this by adding specific robots.txt rules below."
180
+ msgstr "Het wordt over het algemeen afgeraden om taxonomieën bij te sluiten, tenzij deze een toegevoegde waarde vertegenwoordigen. Bijvoorbeeld als je categoriebeschrijvingen gebruikt die unieke informatie bevatten of als excerpts op taxonomiepagina's anders maar aanvullend zijn op de inhoud van de artikelen. In deze gevallen zou je kunnen overwegen bepaalde taxonomieën bij te sluiten. Maar in andere gevallen zou je zelfs kunnen overwegen om indexatie te verbieden om mogelijke bestraffing op 'duplicate content' te voorkomen. Dit kan door specifieke robots.txt regels hieronder toe te voegen."
181
182
+ #: ../includes/admin.php:226
183
msgid "Google"
184
msgstr "Google"
185
186
+ #: ../includes/admin.php:227
187
msgid "Bing"
188
msgstr "Bing"
189
190
+ #: ../includes/admin.php:231
191
+ #: ../includes/admin.php:425
192
msgid "Ping on Publish"
193
msgstr "Ping bij Publiceren"
194
195
+ #: ../includes/admin.php:250
196
#, php-format
197
msgid "Successfully pinged for %1$s on %2$s GMT."
198
msgstr "Succesvol gepinged voor %1$s op %2$s GMT."
199
200
+ #: ../includes/admin.php:259
201
#, php-format
202
msgid "Rules to append to the %s generated by WordPress."
203
msgstr "Regels om aan de WordPress gegenereerde %s toe te voegen."
204
205
+ #: ../includes/admin.php:260
206
msgid "Only add rules here when you know what you are doing, otherwise you might break search engine access to your site."
207
msgstr "Definieer hier alleen regels als je weet wat je doet, anders zou je de toegang tot je site kunnen verstoren."
208
209
+ #: ../includes/admin.php:260
210
msgid "These rules will not have effect when you are using a static robots.txt file."
211
msgstr "Deze regels hebben geen effect als je een statisch robots.txt bestand gebruikt."
212
213
+ #: ../includes/admin.php:267
214
msgid "Clear all XML Sitemap Feed options from the database and start fresh with the default settings."
215
msgstr "Wis alle XML Sitemap Feed opties van de database en start opnieuw met de standaard instellingen."
216
217
+ #: ../includes/admin.php:269
218
#, php-format
219
msgid "Disabling and reenabling the %s plugin will have the same effect."
220
msgstr "Uit- en weer inschakelen van de %s plugin heeft hetzelfde effect."
221
222