Version Description
Custom domains and URLs. Major Google News sitemap settings changes. Plus bugfixes.
=
Download this release
Release Info
Developer | RavanH |
Plugin | XML Sitemap & Google News feeds |
Version | 4.3.2 |
Comparing to | |
See all releases |
Code changes from version 4.0.1 to 4.3.2
- hacks.php +34 -13
- includes/admin.php +738 -105
- includes/core.php +906 -243
- includes/feed-sitemap-custom.php +50 -0
- includes/feed-sitemap-home.php +13 -2
- includes/feed-sitemap-news.php +152 -71
- includes/feed-sitemap-post_type.php +51 -181
- includes/feed-sitemap-taxonomy.php +5 -68
- includes/feed-sitemap.php +29 -47
- includes/xsl/sitemap-index.xsl.php +1 -1
- includes/xsl/sitemap-news.xsl.php +18 -6
- includes/xsl/sitemap.xsl.php +4 -1
- languages/instructions.txt +12 -8
- languages/xml-sitemap-feed-es_ES.mo +0 -0
- languages/xml-sitemap-feed-es_ES.po +528 -0
- languages/xml-sitemap-feed-fr_FR.mo +0 -0
- languages/xml-sitemap-feed-fr_FR.po +213 -33
- languages/xml-sitemap-feed-id_ID.mo +0 -0
- languages/xml-sitemap-feed-id_ID.po +304 -0
- languages/xml-sitemap-feed-it_IT.mo +0 -0
- languages/xml-sitemap-feed-it_IT.po +539 -0
- languages/xml-sitemap-feed-nl_NL.mo +0 -0
- languages/xml-sitemap-feed-nl_NL.po +572 -44
- languages/xml-sitemap-feed-xx_XX.po +399 -31
- languages/xml-sitemap-feed.pot +403 -32
- readme.txt +130 -82
- xml-sitemap.php +23 -19
hacks.php
CHANGED
@@ -194,11 +194,22 @@ if( !function_exists('get_firstmodified') ) {
|
|
194 |
* @uses apply_filters() Calls 'get_lastdate' filter
|
195 |
*
|
196 |
* @param string $timezone The location to get the time. Can be 'gmt', 'blog', or 'server'.
|
|
|
197 |
* @return string The date of the last post.
|
198 |
*/
|
199 |
if( !function_exists('get_lastdate') ) {
|
200 |
-
function get_lastdate($timezone = 'server', $
|
201 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
}
|
203 |
}
|
204 |
|
@@ -215,14 +226,14 @@ if( !function_exists('get_lastdate') ) {
|
|
215 |
* @return string The date of the oldest modified post.
|
216 |
*/
|
217 |
if( !function_exists('get_lastmodified') ) {
|
218 |
-
function get_lastmodified($timezone = 'server', $post_type = 'any') {
|
219 |
-
|
220 |
|
221 |
-
|
222 |
-
if ( $lastdate > $lastmodified )
|
223 |
-
|
224 |
|
225 |
-
return apply_filters( 'get_lastmodified', $
|
226 |
}
|
227 |
}
|
228 |
|
@@ -239,7 +250,7 @@ if( !function_exists('get_lastmodified') ) {
|
|
239 |
* @return string The date.
|
240 |
*/
|
241 |
if( !function_exists('_get_time') ) {
|
242 |
-
function _get_time( $timezone, $field, $post_type = 'any', $which = 'last' ) {
|
243 |
global $wpdb;
|
244 |
|
245 |
if ( !in_array( $field, array( 'date', 'modified' ) ) )
|
@@ -249,7 +260,7 @@ if( !function_exists('_get_time') ) {
|
|
249 |
|
250 |
$order = ( $which == 'last' ) ? 'DESC' : 'ASC';
|
251 |
|
252 |
-
$key = ( $post_type == 'any' ) ? "{$which}post{$field}:$timezone" : "{$which}posttype{$post_type}{$field}:$timezone";
|
253 |
|
254 |
$date = wp_cache_get( $key, 'timeinfo' );
|
255 |
|
@@ -273,18 +284,28 @@ if( !function_exists('_get_time') ) {
|
|
273 |
$post_types = "'" . addslashes($post_type) . "'";
|
274 |
}
|
275 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
switch ( $timezone ) {
|
277 |
case 'gmt':
|
278 |
-
$date = $wpdb->get_var("SELECT post_{$field}_gmt FROM $wpdb->posts WHERE
|
279 |
break;
|
280 |
case 'blog':
|
281 |
-
$date = $wpdb->get_var("SELECT post_{$field} FROM $wpdb->posts WHERE
|
282 |
break;
|
283 |
case 'server':
|
284 |
-
$date = $wpdb->get_var("SELECT DATE_ADD(post_{$field}_gmt, INTERVAL '$add_seconds_server' SECOND) FROM $wpdb->posts WHERE
|
285 |
break;
|
286 |
}
|
287 |
|
|
|
288 |
if ( $date )
|
289 |
wp_cache_set( $key, $date, 'timeinfo' );
|
290 |
}
|
194 |
* @uses apply_filters() Calls 'get_lastdate' filter
|
195 |
*
|
196 |
* @param string $timezone The location to get the time. Can be 'gmt', 'blog', or 'server'.
|
197 |
+
* @param $post_types The post type(s). Can be string or array.
|
198 |
* @return string The date of the last post.
|
199 |
*/
|
200 |
if( !function_exists('get_lastdate') ) {
|
201 |
+
function get_lastdate($timezone = 'server', $post_types = 'any', $m = false) {
|
202 |
+
|
203 |
+
if (!is_array($post_types))
|
204 |
+
$post_types = array($post_types);
|
205 |
+
|
206 |
+
$lastmodified = array();
|
207 |
+
foreach ($post_types as $post_type)
|
208 |
+
$lastmodified[] = _get_time( $timezone, 'date', $post_type, 'last', $m );
|
209 |
+
|
210 |
+
sort($lastmodified);
|
211 |
+
|
212 |
+
return apply_filters( 'get_lastdate', array_shift(array_filter($lastmodified)), $timezone );
|
213 |
}
|
214 |
}
|
215 |
|
226 |
* @return string The date of the oldest modified post.
|
227 |
*/
|
228 |
if( !function_exists('get_lastmodified') ) {
|
229 |
+
function get_lastmodified($timezone = 'server', $post_type = 'any', $m = false) {
|
230 |
+
//$lastmodified = _get_time( $timezone, 'modified', $post_type, 'last', $m );
|
231 |
|
232 |
+
//$lastdate = get_lastdate($timezone, $post_type, $m);
|
233 |
+
//if ( $lastdate > $lastmodified )
|
234 |
+
// $lastmodified = $lastdate;
|
235 |
|
236 |
+
return apply_filters( 'get_lastmodified', _get_time( $timezone, 'modified', $post_type, 'last', $m ), $timezone );
|
237 |
}
|
238 |
}
|
239 |
|
250 |
* @return string The date.
|
251 |
*/
|
252 |
if( !function_exists('_get_time') ) {
|
253 |
+
function _get_time( $timezone, $field, $post_type = 'any', $which = 'last', $m = 0 ) {
|
254 |
global $wpdb;
|
255 |
|
256 |
if ( !in_array( $field, array( 'date', 'modified' ) ) )
|
260 |
|
261 |
$order = ( $which == 'last' ) ? 'DESC' : 'ASC';
|
262 |
|
263 |
+
$key = ( $post_type == 'any' ) ? "{$which}post{$field}{$m}:$timezone" : "{$which}posttype{$post_type}{$field}{$m}:$timezone";
|
264 |
|
265 |
$date = wp_cache_get( $key, 'timeinfo' );
|
266 |
|
284 |
$post_types = "'" . addslashes($post_type) . "'";
|
285 |
}
|
286 |
|
287 |
+
$where = "$wpdb->posts.post_status='publish' AND $wpdb->posts.post_type IN ({$post_types}) AND $wpdb->posts.post_date_gmt ";
|
288 |
+
// If a month is specified in the querystring, load that month
|
289 |
+
$m = preg_replace('|[^0-9]|', '', $m);
|
290 |
+
if ( !empty($m) ) {
|
291 |
+
$where .= " AND YEAR($wpdb->posts.post_date)=" . substr($m, 0, 4);
|
292 |
+
if ( strlen($m) > 5 )
|
293 |
+
$where .= " AND MONTH($wpdb->posts.post_date)=" . substr($m, 4, 2);
|
294 |
+
}
|
295 |
+
|
296 |
switch ( $timezone ) {
|
297 |
case 'gmt':
|
298 |
+
$date = $wpdb->get_var("SELECT post_{$field}_gmt FROM $wpdb->posts WHERE $where ORDER BY $wpdb->posts.post_{$field}_gmt {$order} LIMIT 1");
|
299 |
break;
|
300 |
case 'blog':
|
301 |
+
$date = $wpdb->get_var("SELECT post_{$field} FROM $wpdb->posts WHERE $where ORDER BY $wpdb->posts.post_{$field}_gmt {$order} LIMIT 1");
|
302 |
break;
|
303 |
case 'server':
|
304 |
+
$date = $wpdb->get_var("SELECT DATE_ADD(post_{$field}_gmt, INTERVAL '$add_seconds_server' SECOND) FROM $wpdb->posts WHERE $where ORDER BY $wpdb->posts.post_{$field}_gmt {$order} LIMIT 1");
|
305 |
break;
|
306 |
}
|
307 |
|
308 |
+
|
309 |
if ( $date )
|
310 |
wp_cache_set( $key, $date, 'timeinfo' );
|
311 |
}
|
includes/admin.php
CHANGED
@@ -9,10 +9,27 @@
|
|
9 |
* SETTINGS
|
10 |
*/
|
11 |
|
12 |
-
//
|
13 |
-
|
14 |
-
public function
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
<script type="text/javascript">
|
17 |
jQuery( document ).ready( function() {
|
18 |
jQuery( "input[name=\'blog_public\']" ).on( \'change\', function() {
|
@@ -20,109 +37,480 @@
|
|
20 |
var $this = jQuery(this);
|
21 |
$this.attr("disabled") ? $this.removeAttr("disabled") : $this.attr("disabled", "disabled");
|
22 |
});
|
23 |
-
|
24 |
-
jQuery( "#xmlsf_sitemaps_index" ).on( \'change\', function() {
|
25 |
-
jQuery("#xmlsf_post_types input,#xmlsf_taxonomies input").each(function() {
|
26 |
var $this = jQuery(this);
|
27 |
$this.attr("disabled") ? $this.removeAttr("disabled") : $this.attr("disabled", "disabled");
|
28 |
});
|
29 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
});
|
31 |
</script>';
|
32 |
}
|
33 |
-
|
34 |
-
public function sitemaps_settings_field() {
|
35 |
-
$options = parent::get_sitemaps();
|
36 |
-
$disabled = ('1' == get_option('blog_public')) ? false : true;
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
echo '
|
49 |
-
</
|
50 |
}
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
public function post_types_settings_field() {
|
53 |
$options = parent::get_post_types();
|
54 |
-
$
|
55 |
-
$
|
|
|
56 |
|
57 |
-
echo '<
|
58 |
';
|
59 |
foreach ( get_post_types(array('public'=>true),'objects') as $post_type ) {
|
60 |
-
|
|
|
|
|
61 |
|
|
|
|
|
62 |
echo '
|
63 |
-
<
|
|
|
|
|
|
|
|
|
|
|
64 |
$post_type->name.'][active]" id="xmlsf_post_types_'.
|
65 |
-
$post_type->name.'" value="1"'.
|
66 |
-
checked( !empty($options[$post_type->name]["active"]), true, false).
|
67 |
-
disabled($disabled, true, false).' /> '.
|
68 |
$post_type->label.'</label> ('.
|
69 |
$count->publish.')';
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
echo '
|
83 |
-
<input type="
|
84 |
-
$post_type->name.'][
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
echo '
|
93 |
-
<br />';
|
94 |
}
|
|
|
95 |
echo '
|
96 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
}
|
98 |
|
99 |
public function taxonomies_settings_field() {
|
100 |
$options = parent::get_taxonomies();
|
101 |
-
$
|
102 |
-
$
|
|
|
103 |
|
104 |
-
echo '<div id="xmlsf_taxonomies">
|
105 |
-
';
|
106 |
foreach ( get_taxonomies(array('public'=>true),'objects') as $taxonomy ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
$count = wp_count_terms( $taxonomy->name );
|
108 |
-
|
109 |
-
<label><input type="checkbox" name="
|
110 |
$taxonomy->name.']" id="xmlsf_taxonomies_'.
|
111 |
$taxonomy->name.'" value="'.
|
112 |
$taxonomy->name.'"'.
|
113 |
-
checked(in_array($taxonomy->name,$options), true, false).
|
114 |
-
disabled($disabled, true, false).' /> '.
|
115 |
$taxonomy->label.'</label> ('.
|
116 |
-
$count.')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
echo '
|
119 |
-
|
120 |
}
|
121 |
|
122 |
-
public function
|
123 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
}
|
125 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
//sanitize callback functions
|
127 |
|
128 |
public function sanitize_robots_settings($new) {
|
@@ -131,77 +519,322 @@
|
|
131 |
|
132 |
public function sanitize_sitemaps_settings($new) {
|
133 |
$old = parent::get_sitemaps();
|
134 |
-
|
135 |
-
|
136 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
}
|
138 |
|
139 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
$old = parent::get_post_types();
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
set_transient('xmlsf_flush_rewrite_rules','');
|
143 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
}
|
145 |
|
146 |
public function sanitize_taxonomies_settings($new) {
|
147 |
$old = parent::get_taxonomies();
|
148 |
-
|
|
|
149 |
set_transient('xmlsf_flush_rewrite_rules','');
|
|
|
150 |
return $new;
|
151 |
}
|
152 |
|
153 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
return $new;
|
155 |
}
|
|
|
156 |
|
157 |
-
//
|
158 |
-
public function intval($setting = '') {
|
159 |
-
if ($setting == '')
|
160 |
-
return '';
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
}
|
168 |
-
|
169 |
-
return ( $val != 0 ) ? $val.$prc : 0;
|
170 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
|
|
|
172 |
|
173 |
/**
|
174 |
* CONSTRUCTOR
|
175 |
*/
|
176 |
|
177 |
-
function XMLSitemapFeed() {
|
178 |
-
//constructor in php4
|
179 |
-
$this->__construct(); // just call the php5 one.
|
180 |
-
}
|
181 |
-
|
182 |
function __construct() {
|
|
|
|
|
|
|
183 |
|
184 |
-
// SETTINGS
|
185 |
-
add_settings_section('xmlsf_main_section', __('XML Sitemaps','xml-sitemap-feed'), array($this,'privacy_settings_section'), 'reading');
|
186 |
// sitemaps
|
187 |
-
register_setting('reading', '
|
188 |
-
add_settings_field('
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
|
|
|
|
|
|
198 |
//robots only when permalinks are set
|
199 |
if(''!=get_option('permalink_structure')) {
|
200 |
-
register_setting('reading', '
|
201 |
-
add_settings_field('
|
202 |
}
|
203 |
-
|
204 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
}
|
206 |
|
207 |
}
|
9 |
* SETTINGS
|
10 |
*/
|
11 |
|
12 |
+
// TODO refer to support forum !
|
13 |
+
|
14 |
+
public function sitemaps_settings_field() {
|
15 |
+
$options = parent::get_sitemaps();
|
16 |
+
$disabled = ('1' == get_option('blog_public')) ? false : true;
|
17 |
+
$prefix = parent::prefix();
|
18 |
+
|
19 |
+
echo '<fieldset id="xmlsf_sitemaps"><legend class="screen-reader-text">'.__('XML Sitemaps','xml-sitemap-feed').'</legend>
|
20 |
+
<label><input type="checkbox" name="'.$prefix.'sitemaps[sitemap]" id="xmlsf_sitemaps_index" value="'.XMLSF_NAME.'" '.checked(isset($options['sitemap']), true, false).' '.disabled($disabled, true, false).' /> '.__('XML Sitemap Index','xml-sitemap-feed').'</label>';//xmlsf
|
21 |
+
if (isset($options['sitemap']))
|
22 |
+
echo '<span class="description"> – <a href="#xmlsf" id="xmlsf_link">'.translate('Settings').'</a> – <a href="'.trailingslashit(get_bloginfo('url')). ( ('' == get_option('permalink_structure')) ? '?feed=sitemap' : $options['sitemap'] ) .'" target="_blank">'.translate('View').'</a></span>';
|
23 |
+
|
24 |
+
echo '<br />
|
25 |
+
<label><input type="checkbox" name="'.$prefix.'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>';
|
26 |
+
if (isset($options['sitemap-news']))
|
27 |
+
echo '<span class="description"> – <a href="#xmlnf" id="xmlnf_link">'.translate('Settings').'</a> – <a href="'.trailingslashit(get_bloginfo('url')). ( ('' == get_option('permalink_structure')) ? '?feed=sitemap-news' : $options['sitemap-news'] ) .'" target="_blank">'.translate('View').'</a></span>';
|
28 |
+
else
|
29 |
+
// echo '<span class="description"> '.__('Only set when your site has been or will soon be accepted by Google News.','xml-sitemap-feed').'</span>';
|
30 |
+
echo '
|
31 |
+
</fieldset>';
|
32 |
+
echo '
|
33 |
<script type="text/javascript">
|
34 |
jQuery( document ).ready( function() {
|
35 |
jQuery( "input[name=\'blog_public\']" ).on( \'change\', function() {
|
37 |
var $this = jQuery(this);
|
38 |
$this.attr("disabled") ? $this.removeAttr("disabled") : $this.attr("disabled", "disabled");
|
39 |
});
|
40 |
+
jQuery("#xmlsf_ping input").each(function() {
|
|
|
|
|
41 |
var $this = jQuery(this);
|
42 |
$this.attr("disabled") ? $this.removeAttr("disabled") : $this.attr("disabled", "disabled");
|
43 |
});
|
44 |
});
|
45 |
+
jQuery( "#xmlsf_link" ).click( function(event) {
|
46 |
+
event.preventDefault();
|
47 |
+
jQuery("html, body").animate({
|
48 |
+
scrollTop: jQuery("a[name=\'xmlsf\']").offset().top - 30
|
49 |
+
}, 1000);
|
50 |
+
});
|
51 |
+
jQuery( "#xmlnf_link" ).click( function(event) {
|
52 |
+
event.preventDefault();
|
53 |
+
jQuery("html, body").animate({
|
54 |
+
scrollTop: jQuery("a[name=\'xmlnf\']").offset().top - 30
|
55 |
+
}, 1000);
|
56 |
+
});
|
57 |
});
|
58 |
</script>';
|
59 |
}
|
|
|
|
|
|
|
|
|
60 |
|
61 |
+
public function ping_settings_field() {
|
62 |
+
$options = parent::get_ping();
|
63 |
+
$defaults = parent::defaults('ping');
|
64 |
+
$update_services = get_option('ping_sites');
|
65 |
+
$pinged = parent::get_pong();
|
66 |
+
$prefix = parent::prefix();
|
67 |
+
$names = array(
|
68 |
+
'google' => array (
|
69 |
+
'name' => __('Google','xml-sitemap-feed'),
|
70 |
+
),
|
71 |
+
'bing' => array (
|
72 |
+
'name' => __('Bing & Yahoo','xml-sitemap-feed'),
|
73 |
+
),
|
74 |
+
'yandex' => array (
|
75 |
+
'name' => __('Yandex','xml-sitemap-feed'),
|
76 |
+
),
|
77 |
+
'baidu' => array (
|
78 |
+
'name' => __('Baidu','xml-sitemap-feed'),
|
79 |
+
),
|
80 |
+
'others' => array (
|
81 |
+
'name' => __('Ping-O-Matic','xml-sitemap-feed'),
|
82 |
+
)
|
83 |
+
);
|
84 |
+
foreach ( $names as $key => $values ) {
|
85 |
+
if (array_key_exists($key,$defaults) && is_array($values))
|
86 |
+
$defaults[$key] += $values;
|
87 |
+
}
|
88 |
+
echo '
|
89 |
+
<fieldset id="xmlsf_ping"><legend class="screen-reader-text">'.__('Ping on Publish','xml-sitemap-feed').'</legend>
|
90 |
+
';
|
91 |
+
foreach ( $defaults as $key => $values ) {
|
92 |
+
|
93 |
+
echo '
|
94 |
+
<input type="hidden" name="'.$prefix.'ping['.
|
95 |
+
$key.'][uri]" value="'.
|
96 |
+
$values['uri'].'" />';
|
97 |
+
if ( isset($values['type']) && $values['type'] == 'RPC' ) {
|
98 |
+
$active = ( strpos($update_services,untrailingslashit($values['uri'])) === false ) ? false : true;
|
99 |
+
} else {
|
100 |
+
$active = !empty($options[$key]["active"]) ? true : false;
|
101 |
+
}
|
102 |
+
echo '
|
103 |
+
<label><input type="checkbox" name="'.$prefix.'ping['.
|
104 |
+
$key.'][active]" id="xmlsf_ping_'.
|
105 |
+
$key.'" value="1"'.
|
106 |
+
checked( $active, true, false).' /> ';
|
107 |
+
echo isset($names[$key]) && !empty($names[$key]['name']) ? $names[$key]['name'] : $key ;
|
108 |
+
echo '</label>';
|
109 |
+
|
110 |
+
echo ' <span class="description">';
|
111 |
+
if (isset($pinged[$key]))
|
112 |
+
foreach ((array)$pinged[$key] as $pretty => $time)
|
113 |
+
echo sprintf(__('Successfully pinged for %1$s on %2$s GMT.','xml-sitemap-feed'),$pretty, $time).' ';
|
114 |
+
echo '</span><br />';
|
115 |
+
}
|
116 |
+
|
117 |
echo '
|
118 |
+
</fieldset>';
|
119 |
}
|
120 |
|
121 |
+
public function robots_settings_field() {
|
122 |
+
$prefix = parent::prefix();
|
123 |
+
echo '<label>'.sprintf(__('Rules to append to the %s generated by WordPress.','xml-sitemap-feed'),'<a href="'.trailingslashit(get_bloginfo('url')).'robots.txt" target="_blank">robots.txt</a>').'<br /><textarea name="'.$prefix.'robots" id="xmlsf_robots" class="large-text" cols="50" rows="6" />'.esc_attr( parent::get_robots() ).'</textarea></label>
|
124 |
+
<p class="description"><span style="color: red" class="error">'.__('Only add rules here when you know what you are doing, otherwise you might break search engine access to your site.','xml-sitemap-feed').'</span><br />'.__('These rules will not have effect when you are using a static robots.txt file.','xml-sitemap-feed').'</p>';
|
125 |
+
}
|
126 |
+
|
127 |
+
public function reset_settings_field() {
|
128 |
+
$prefix = parent::prefix();
|
129 |
+
echo '
|
130 |
+
<label><input type="checkbox" name="'.$prefix.'sitemaps[reset]" value="1" /> '.
|
131 |
+
__('Clear all XML Sitemap Feed options from the database and start fresh with the default settings.','xml-sitemap-feed').'</label>';
|
132 |
+
echo '
|
133 |
+
<p class="description">'.sprintf(__('Disabling and reenabling the %s plugin will have the same effect.','xml-sitemap-feed'),__('XML Sitemap & Google News Feeds','xml-sitemap-feed')).'</p>';
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* XML SITEMAP SECTION
|
138 |
+
*/
|
139 |
+
|
140 |
+
public function xml_sitemap_settings() {
|
141 |
+
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" title="'.sprintf(__('Donate to keep the free %s plugin development & support going!','xml-sitemap-feed'),__('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:right;margin:4px 0 0 10px" alt="'.sprintf(__('Donate to keep the free %s plugin development & support going!','xml-sitemap-feed'),__('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')).'</p>';
|
142 |
+
}
|
143 |
+
|
144 |
public function post_types_settings_field() {
|
145 |
$options = parent::get_post_types();
|
146 |
+
$defaults = parent::defaults('post_types');
|
147 |
+
$prefix = parent::prefix();
|
148 |
+
$do_note = false;
|
149 |
|
150 |
+
echo '<fieldset id="xmlsf_post_types"><legend class="screen-reader-text">'.__('XML Sitemaps for post types','xml-sitemap-feed').'</legend>
|
151 |
';
|
152 |
foreach ( get_post_types(array('public'=>true),'objects') as $post_type ) {
|
153 |
+
// skip unallowed post types
|
154 |
+
if (in_array($post_type->name,parent::disabled_post_types()))
|
155 |
+
continue;
|
156 |
|
157 |
+
$count = wp_count_posts( $post_type->name );
|
158 |
+
|
159 |
echo '
|
160 |
+
<input type="hidden" name="'.$prefix.'post_types['.
|
161 |
+
$post_type->name.'][name]" value="'.
|
162 |
+
$post_type->name.'" />';
|
163 |
+
|
164 |
+
echo '
|
165 |
+
<label><input type="checkbox" name="'.$prefix.'post_types['.
|
166 |
$post_type->name.'][active]" id="xmlsf_post_types_'.
|
167 |
+
$post_type->name.'" value="1" '.
|
168 |
+
checked( !empty($options[$post_type->name]["active"]), true, false).' /> '.
|
|
|
169 |
$post_type->label.'</label> ('.
|
170 |
$count->publish.')';
|
171 |
|
172 |
+
if (!empty($options[$post_type->name]['active'])) {
|
173 |
+
|
174 |
+
echo ' – <span class="description"><a id="xmlsf_post_types_'.$post_type->name.'_link" href="#xmlsf_post_types_'.$post_type->name.'_settings">'.translate('Settings').'</a></span><br />
|
175 |
+
<script type="text/javascript">
|
176 |
+
jQuery( document ).ready( function() {
|
177 |
+
jQuery("#xmlsf_post_types_'.$post_type->name.'_settings").hide();
|
178 |
+
jQuery("#xmlsf_post_types_'.$post_type->name.'_link").click( function(event) {
|
179 |
+
event.preventDefault();
|
180 |
+
jQuery("#xmlsf_post_types_'.$post_type->name.'_settings").toggle("slow");
|
181 |
+
});
|
182 |
+
});
|
183 |
+
</script>
|
184 |
+
<ul style="margin-left:18px" id="xmlsf_post_types_'.$post_type->name.'_settings">';
|
185 |
+
|
186 |
+
|
187 |
+
if ( isset($defaults[$post_type->name]['archive']) ) {
|
188 |
+
$archives = array (
|
189 |
+
'yearly' => __('Year','xml-sitemap-feed'),
|
190 |
+
'monthly' => __('Month','xml-sitemap-feed')
|
191 |
+
);
|
192 |
+
$archive = !empty($options[$post_type->name]['archive']) ? $options[$post_type->name]['archive'] : $defaults[$post_type->name]['archive'];
|
193 |
+
echo '
|
194 |
+
<li><label>'.__('Split by','xml-sitemap-feed').' <select name="'.$prefix.'post_types['.
|
195 |
+
$post_type->name.'][archive]" id="xmlsf_post_types_'.
|
196 |
+
$post_type->name.'_archive">
|
197 |
+
<option value="">'.translate('None').'</option>';
|
198 |
+
foreach ($archives as $value => $translation)
|
199 |
+
echo '
|
200 |
+
<option value="'.$value.'" '.
|
201 |
+
selected( $archive == $value, true, false).
|
202 |
+
'>'.$translation.'</option>';
|
203 |
+
echo '</select>
|
204 |
+
</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>';
|
205 |
+
}
|
206 |
+
|
207 |
+
$priority_val = !empty($options[$post_type->name]['priority']) ? $options[$post_type->name]['priority'] : $defaults[$post_type->name]['priority'];
|
208 |
+
echo '
|
209 |
+
<li><label>'.__('Priority','xml-sitemap-feed').' <input type="number" step="0.1" min="0.1" max="0.9" name="'.$prefix.'post_types['.
|
210 |
+
$post_type->name.'][priority]" id="xmlsf_post_types_'.
|
211 |
+
$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>';
|
212 |
+
|
213 |
+
echo '
|
214 |
+
<li><label><input type="checkbox" name="'.$prefix.'post_types['.
|
215 |
+
$post_type->name.'][dynamic_priority]" value="1" '.
|
216 |
+
checked( !empty($options[$post_type->name]['dynamic_priority']), true, false).' /> '.__('Automatically adjusts Priority according to relative age and comment count.','xml-sitemap-feed').'</label> <span class="description">'.__('Sticky posts will not be subject to reduction by age. Individual posts with fixed Priority will always keep that value.','xml-sitemap-feed').'</span></li>';
|
217 |
+
|
218 |
echo '
|
219 |
+
<li><label><input type="checkbox" name="'.$prefix.'post_types['.
|
220 |
+
$post_type->name.'][update_lastmod_on_comments]" value="1" '.
|
221 |
+
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>';
|
222 |
+
|
223 |
+
$image = isset($options[$post_type->name]['tags']['image']) ? $options[$post_type->name]['tags']['image'] : $defaults[$post_type->name]['tags']['image'];
|
224 |
+
echo '
|
225 |
+
<li><label>'.__('Add image tags for','xml-sitemap-feed').' <select name="'.$prefix.'post_types['.
|
226 |
+
$post_type->name.'][tags][image]">
|
227 |
+
<option value="">'.translate('None').'</option>
|
228 |
+
<option value="featured" '.
|
229 |
+
selected( $image == "featured", true, false).
|
230 |
+
'>'.translate('Featured Image').'</option>
|
231 |
+
<option value="attached" '.
|
232 |
+
selected( $image == "attached", true, false).
|
233 |
+
'>'.__('Attached images','xml-sitemap-feed').'</option>
|
234 |
+
</select></label></li>
|
235 |
|
236 |
+
</ul>';
|
237 |
+
} else {
|
238 |
+
echo '<br />';
|
239 |
+
}
|
|
|
|
|
240 |
}
|
241 |
+
|
242 |
echo '
|
243 |
+
<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">'.translate('[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>
|
244 |
+
<script type="text/javascript">
|
245 |
+
jQuery( document ).ready( function() {
|
246 |
+
jQuery("#xmlsf_post_types_note_1_more").hide();
|
247 |
+
jQuery("#xmlsf_post_types_note_1_link").click( function(event) {
|
248 |
+
event.preventDefault();
|
249 |
+
jQuery("#xmlsf_post_types_note_1_link").hide();
|
250 |
+
jQuery("#xmlsf_post_types_note_1_more").show("slow");
|
251 |
+
});
|
252 |
+
});
|
253 |
+
</script>';
|
254 |
+
echo '
|
255 |
+
</fieldset>';
|
256 |
}
|
257 |
|
258 |
public function taxonomies_settings_field() {
|
259 |
$options = parent::get_taxonomies();
|
260 |
+
$active = parent::get_option('post_types');
|
261 |
+
$prefix = parent::prefix();
|
262 |
+
$output = '';
|
263 |
|
|
|
|
|
264 |
foreach ( get_taxonomies(array('public'=>true),'objects') as $taxonomy ) {
|
265 |
+
// skip unallowed post types
|
266 |
+
if (in_array($taxonomy->name,parent::disabled_taxonomies()))
|
267 |
+
continue;
|
268 |
+
|
269 |
+
$skip = true;
|
270 |
+
foreach ( $taxonomy->object_type as $post_type)
|
271 |
+
if (!empty($active[$post_type]['active']) && $active[$post_type]['active'] == '1')
|
272 |
+
$skip = false;
|
273 |
+
if ($skip) continue; // skip if none of the associated post types are active
|
274 |
+
|
275 |
$count = wp_count_terms( $taxonomy->name );
|
276 |
+
$output .= '
|
277 |
+
<label><input type="checkbox" name="'.$prefix.'taxonomies['.
|
278 |
$taxonomy->name.']" id="xmlsf_taxonomies_'.
|
279 |
$taxonomy->name.'" value="'.
|
280 |
$taxonomy->name.'"'.
|
281 |
+
checked(in_array($taxonomy->name,$options), true, false).' /> '.
|
|
|
282 |
$taxonomy->label.'</label> ('.
|
283 |
+
$count.') ';
|
284 |
+
|
285 |
+
// if ( in_array($taxonomy->name,$options) && empty($taxonomy->show_tagcloud) )
|
286 |
+
// 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>';
|
287 |
+
|
288 |
+
$output .= '
|
289 |
+
<br />';
|
290 |
+
}
|
291 |
+
|
292 |
+
if ($output) {
|
293 |
+
echo '
|
294 |
+
<fieldset id="xmlsf_taxonomies"><legend class="screen-reader-text">'.__('XML Sitemaps for taxonomies','xml-sitemap-feed').'</legend>
|
295 |
+
';
|
296 |
+
|
297 |
+
echo $output;
|
298 |
+
|
299 |
+
echo '
|
300 |
+
<p class="description">'.__('It is generally not recommended to include taxonomy pages, unless their content brings added value.','xml-sitemap-feed').' <a href="#xmlsf_taxonomies_note_1_more" id="xmlsf_taxonomies_note_1_link">'.translate('[more]').'</a> <span id="xmlsf_taxonomies_note_1_more">'.__('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, if you fear <a href="http://moz.com/learn/seo/duplicate-content">negative affects of duplicate content</a> or PageRank spread, you might even consider disallowing indexation of taxonomies.','xml-sitemap-feed').' '.sprintf(__('You can do this by adding specific robots.txt rules in the %s field above.','xml-sitemap-feed'),'<strong>'.__('Additional robots.txt rules','xml-sitemap-feed').'</strong>');
|
301 |
+
echo '</span></p>
|
302 |
+
<script type="text/javascript">
|
303 |
+
jQuery( document ).ready( function() {
|
304 |
+
jQuery("#xmlsf_taxonomies_note_1_more").hide();
|
305 |
+
jQuery("#xmlsf_taxonomies_note_1_link").click( function(event) {
|
306 |
+
event.preventDefault();
|
307 |
+
jQuery("#xmlsf_taxonomies_note_1_link").hide();
|
308 |
+
jQuery("#xmlsf_taxonomies_note_1_more").show("slow");
|
309 |
+
});
|
310 |
+
});
|
311 |
+
</script>
|
312 |
+
</fieldset>';
|
313 |
+
} else {
|
314 |
+
echo '
|
315 |
+
<p style="color: red" class="error">'.__('No taxonomies available for the currently included post types.','xml-sitemap-feed').'</p>';
|
316 |
+
}
|
317 |
+
}
|
318 |
+
|
319 |
+
public function urls_settings_field() {
|
320 |
+
$urls = parent::get_urls();
|
321 |
+
$prefix = parent::prefix();
|
322 |
+
$lines = array();
|
323 |
+
|
324 |
+
if(!empty($urls)) {
|
325 |
+
foreach($urls as $arr) {
|
326 |
+
if(is_array($arr))
|
327 |
+
$lines[] = implode(" ",$arr);
|
328 |
+
}
|
329 |
}
|
330 |
+
|
331 |
+
echo '<label>'.__('Additional URLs to append to the XML Sitemap.','xml-sitemap-feed').'<br /><textarea name="'.$prefix.'urls" id="xmlsf_urls" class="large-text" cols="50" rows="4" />'. implode("\n",$lines) .'</textarea></label>
|
332 |
+
<p class="description">'.__('Add the full URL, including protocol (http/https) and domain, of any static page or WordPress page that you want to append to the ones already included by the settings above. Optionally add a priority value between 0 and 1, separated with a space, after the URL. Start each URL on a new line.','xml-sitemap-feed').'</p>';
|
333 |
+
|
334 |
+
}
|
335 |
+
|
336 |
+
public function domains_settings_field() {
|
337 |
+
$default = parent::domain();
|
338 |
+
$domains = (array) parent::get_option('domains');
|
339 |
+
$prefix = parent::prefix();
|
340 |
+
|
341 |
+
echo '<label>'.__('Additional domains to allow in the XML Sitemap.','xml-sitemap-feed').'<br /><textarea name="'.$prefix.'domains" id="xmlsf_domains" class="large-text" cols="50" rows="4" />'. implode("\n",$domains) .'</textarea></label>
|
342 |
+
<p class="description">'.sprintf(__('By default, only the domain %s as used in your WordPress site address is allowed. This means that all URLs that use another domain (custom URLs or using a plugin like Page Links To) are filtered from the XML Sitemap. However, if you are the verified owner of other domains in your Google/Bing Webmaster Tools account, you can include these in the same sitemap. Add these domains, without protocol (http/https) each on a new line. Note that if you enter a domain with www, all URLs without it or with other subdomains will be filtered.','xml-sitemap-feed'),'<strong>'.$default.'</strong>').'</p>';
|
343 |
+
|
344 |
+
}
|
345 |
+
|
346 |
+
|
347 |
+
/**
|
348 |
+
* GOOGLE NEWS SITEMAP SECTION
|
349 |
+
*/
|
350 |
+
|
351 |
+
public function news_sitemap_settings() {
|
352 |
+
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" title="'.sprintf(__('Donate to keep the free %s plugin development & support going!','xml-sitemap-feed'),__('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:right;margin:4px 0 0 10px" alt="'.sprintf(__('Donate to keep the free %s plugin development & support going!','xml-sitemap-feed'),__('XML Sitemap & Google News Feeds','xml-sitemap-feed')).'" width="92" height="26" /></a>'.sprintf(__('These settings control the Google News Sitemap generated by the %s plugin.','xml-sitemap-feed'),__('XML Sitemap & Google News Feeds','xml-sitemap-feed')).' '.__('When you are done configuring and preparing your news content and you are convinced your site adheres to the <a href="https://support.google.com/news/publisher/answer/40787?ref_topic=2484652" target="_blank">Google News guidelines</a>, go ahead and <a href="https://support.google.com/news/publisher/troubleshooter/3179220?#ts=3179198" target="_blank">submit your site for inclusion</a>!','xml-sitemap-feed').'</p>';
|
353 |
+
}
|
354 |
+
|
355 |
+
//TODO: publication name allow tag %category% ... post_types (+ exclusion per post or none + allow inclusion per post), limit to category ...
|
356 |
+
public function news_name_field() {
|
357 |
+
$options = parent::get_option('news_tags');
|
358 |
+
$prefix = parent::prefix();
|
359 |
+
|
360 |
+
$name = !empty($options['name']) ? $options['name'] : '';
|
361 |
echo '
|
362 |
+
<input type="text" name="'.$prefix.'news_tags[name]" id="xmlsf_news_name" value="'.$name.'" class="regular-text"> <span class="description">'.sprintf(__('By default, the general %s setting will be used.','xml-sitemap-feed'),'<a href="options-general.php">'.translate('Site Title').'</a>').'</span>';
|
363 |
}
|
364 |
|
365 |
+
public function news_image_field() {
|
366 |
+
$options = parent::get_option('news_tags');
|
367 |
+
$prefix = parent::prefix();
|
368 |
+
|
369 |
+
$image = !empty($options['image']) ? $options['image'] : '';
|
370 |
+
echo '
|
371 |
+
<label>'.__('Add image tags for','xml-sitemap-feed').' <select name="'.$prefix.'news_tags[image]">
|
372 |
+
<option value="">'.translate('None').'</option>
|
373 |
+
<option value="featured" '.
|
374 |
+
selected( $image == "featured", true, false).
|
375 |
+
'>'.translate('Featured Image').'</option>
|
376 |
+
<option value="attached" '.
|
377 |
+
selected( $image == "attached", true, false).
|
378 |
+
'>'.__('Attached images','xml-sitemap-feed').'</option>
|
379 |
+
';
|
380 |
+
echo '</select></label>';
|
381 |
}
|
382 |
|
383 |
+
public function news_access_field() {
|
384 |
+
$options = parent::get_option('news_tags');
|
385 |
+
$prefix = parent::prefix();
|
386 |
+
|
387 |
+
$access = !empty($options['access']) ? $options['access'] : '';
|
388 |
+
$access_default = !empty($access['default']) ? $access['default'] : '';
|
389 |
+
// $access_private = !empty($access['private']) ? $access['private'] : '';
|
390 |
+
$access_password = !empty($access['password']) ? $access['password'] : '';
|
391 |
+
echo '
|
392 |
+
<fieldset id="xmlsf_news_access"><legend class="screen-reader-text">'.__('Access (<access> tag)','xml-sitemap-feed').'</legend>
|
393 |
+
'.sprintf(__('The <access> tag specifies whether an article is available to all readers (%1$s), or only to those with a free (%2$s) or paid membership (%3$s) to your site.','xml-sitemap-feed'),translate('Public'),__('Registration','xml-sitemap-feed'),__('Subscription','xml-sitemap-feed')).'
|
394 |
+
|
395 |
+
<ul>';
|
396 |
+
|
397 |
+
echo '
|
398 |
+
<li><label>'.__('Tag normal posts as','xml-sitemap-feed').' <select name="'.$prefix.'news_tags[access][default]" id="xmlsf_news_tags_access_default">
|
399 |
+
<option value="">'.translate('Public').'</option>
|
400 |
+
<option value="Registration" '.selected( "Registration" == $access_default, true, false).'>'.__('Registration','xml-sitemap-feed').'</option>
|
401 |
+
<option value="Subscription" '.selected( "Subscription" == $access_default, true, false).'>'.__('Subscription','xml-sitemap-feed').'</option>
|
402 |
+
</select></label></li>';
|
403 |
+
/* TODO consider allowing private posts into the news sitemap; find a way to change 404 response into user configurable redirect/excerpt with login form/...
|
404 |
+
echo '
|
405 |
+
|
406 |
+
<li><label>'.sprintf(__('Tag %s posts as','xml-sitemap-feed'),translate('Private')).' <select name="'.$prefix.'news_tags[access][private]" id="xmlsf_news_tags_access_private">
|
407 |
+
<option value="Registration" '.selected( "Registration" == $access_private, true, false).'>'.__('Registration','xml-sitemap-feed').'</option>
|
408 |
+
<option value="Subscription" '.selected( "Subscription" == $access_private, true, false).'>'.__('Subscription','xml-sitemap-feed').'</option>
|
409 |
+
</select></label></li>';*/
|
410 |
+
echo '
|
411 |
+
|
412 |
+
<li><label>'.sprintf(__('Tag %s posts as','xml-sitemap-feed'),translate('Password Protected')).' <select name="'.$prefix.'news_tags[access][password]" id="xmlsf_news_tags_access_password">
|
413 |
+
<option value="Registration" '.selected( "Registration" == $access_password, true, false).'>'.__('Registration','xml-sitemap-feed').'</option>
|
414 |
+
<option value="Subscription" '.selected( "Subscription" == $access_password, true, false).'>'.__('Subscription','xml-sitemap-feed').'</option>
|
415 |
+
</select></label></li>';
|
416 |
+
echo '
|
417 |
+
</ul>
|
418 |
+
|
419 |
+
<p class="description">'.__('Note: The <access> tag is required when applicable. Do not leave it to Public when your content is not.','xml-sitemap-feed').' <a href="https://support.google.com/news/publisher/answer/93992" target="_blank">'.translate('More information...').'</a></p>
|
420 |
+
</fieldset>';
|
421 |
+
}
|
422 |
+
|
423 |
+
public function news_genres_field() {
|
424 |
+
$options = parent::get_option('news_tags');
|
425 |
+
$prefix = parent::prefix();
|
426 |
+
$gn_genres = parent::gn_genres();
|
427 |
+
/* $gn_genres_tr = array(
|
428 |
+
'gn-pressrelease' => __('Press Release','xml-sitemap-feed'),
|
429 |
+
'gn-satire' => __('Satire','xml-sitemap-feed'),
|
430 |
+
'gn-blog' => __('Blog','xml-sitemap-feed'),
|
431 |
+
'gn-oped' => __('Op-Ed','xml-sitemap-feed'),
|
432 |
+
'gn-opinion' => __('Opinion','xml-sitemap-feed'),
|
433 |
+
'gn-usergenerated' => __('User-Generated','xml-sitemap-feed')
|
434 |
+
);
|
435 |
+
*/
|
436 |
+
$genres = !empty($options['genres']) ? $options['genres'] : array();
|
437 |
+
$genres_default = !empty($genres['default']) ? $genres['default'] : '';
|
438 |
+
echo '
|
439 |
+
<fieldset id="xmlsf_news_genres"><legend class="screen-reader-text">'.__('Genres (<genres> tag)','xml-sitemap-feed').'</legend>
|
440 |
+
'.__('The <genres> tag specifies one or more properties for an article, namely, whether it is a press release, a blog post, an opinion, an op-ed piece, user-generated content, or satire.','xml-sitemap-feed').' '.__('You can assign Google News genres when writing a new post.','xml-sitemap-feed');
|
441 |
+
echo '<input type="hidden" name="'.$prefix.'news_tags[genres][active]" value="';
|
442 |
+
echo !empty($genres['active']) ? $genres['active'] : '';
|
443 |
+
echo '" />';
|
444 |
+
/* echo '
|
445 |
+
<p><label><input type="checkbox" name="'.$prefix.'news_tags[genres][active]" id="xmlsf_news_tags_genres" value="1"'.
|
446 |
+
checked( !empty($genres['active']), true, false).' /> '
|
447 |
+
.__('Use Google News genres','xml-sitemap-feed').'</label> </p>';
|
448 |
+
*/
|
449 |
+
echo '
|
450 |
+
<ul>
|
451 |
+
<li><label>'.__('Default genre:','xml-sitemap-feed').' <select name="'.$prefix.'news_tags[genres][default]" id="xmlsf_news_tags_genres_default">
|
452 |
+
<option value="">'.translate('None').'</option>';
|
453 |
+
foreach ( $gn_genres as $slug => $name) {
|
454 |
+
echo '
|
455 |
+
<option value="'.$name.'" '.selected( $name == $genres_default, true, false ).'>'.$name.'</option>';
|
456 |
+
}
|
457 |
+
echo '
|
458 |
+
</select></label></li>
|
459 |
+
</ul>
|
460 |
+
<p class="description">'.__('Note: The <genres> tag is required when applicable and restricted to the list provided above.','xml-sitemap-feed').' <a href="https://support.google.com/news/publisher/answer/93992" target="_blank">'.translate('More information...').'</a></p>
|
461 |
+
</fieldset>';
|
462 |
+
|
463 |
+
}
|
464 |
+
|
465 |
+
public function news_keywords_field() {
|
466 |
+
$options = parent::get_option('news_tags');
|
467 |
+
$prefix = parent::prefix();
|
468 |
+
|
469 |
+
$keywords = !empty($options['keywords']) ? $options['keywords'] : array();
|
470 |
+
$keywords_from = !empty($keywords['from']) ? $keywords['from'] : '';
|
471 |
+
echo '
|
472 |
+
<fieldset id="xmlsf_news_keywords"><legend class="screen-reader-text">'.__('Topics (<keywords> tag)','xml-sitemap-feed').'</legend>
|
473 |
+
'.__('The <keywords> tag is used to help classify the articles you submit to Google News by <strong>topic</strong>.','xml-sitemap-feed').'
|
474 |
+
<ul>
|
475 |
+
<li><label>'.sprintf(__('Use %s for topics.','xml-sitemap-feed'),' <select name="'.$prefix.'news_tags[keywords][from]" id="xmlsf_news_tags_keywords_from">
|
476 |
+
<option value="">'.translate('None').'</option>
|
477 |
+
<option value="category" '.selected( "category" == $keywords_from, true, false).'>'.translate('Categories').'</option>
|
478 |
+
<option value="post_tag" '.selected( "post_tag" == $keywords_from, true, false).'>'.translate('Tags').'</option>
|
479 |
+
</select>').'</label></li>';
|
480 |
+
if ("category" != $keywords_from) {
|
481 |
+
echo '
|
482 |
+
<li><label>'.__('Default topic(s):','xml-sitemap-feed').' <input type="text" name="'.$prefix.'news_tags[keywords][default]" id="xmlsf_news_tags_keywords_default" value="';
|
483 |
+
echo !empty($keywords['default']) ? $keywords['default'] : '';
|
484 |
+
echo '" class="regular-text"></label> <span class="description">'.__('Separate with a comma.','xml-sitemap-feed').'</span></li>';
|
485 |
+
}
|
486 |
+
echo '
|
487 |
+
</ul>
|
488 |
+
<p class="description">'.__('Keywords may be drawn from, but are not limited to, the list of <a href="http://www.google.com/support/news_pub/bin/answer.py?answer=116037" target="_blank">existing Google News keywords</a>.','xml-sitemap-feed').'</p>
|
489 |
+
</fieldset>';
|
490 |
+
}
|
491 |
+
|
492 |
+
public function news_locations_field() {
|
493 |
+
$options = parent::get_option('news_tags');
|
494 |
+
$prefix = parent::prefix();
|
495 |
+
|
496 |
+
$locations = !empty($options['locations']) ? $options['locations'] : array();
|
497 |
+
echo '
|
498 |
+
<fieldset id="xmlsf_news_locations"><legend class="screen-reader-text">'.__('Locations (<geo_locations> tag)','xml-sitemap-feed').'</legend>
|
499 |
+
'.__('The <geo_locations> tag is used identify the geographic location of your articles.','xml-sitemap-feed').' '.__('You can assign locations when writing a new post.','xml-sitemap-feed');
|
500 |
+
echo '<input type="hidden" name="'.$prefix.'news_tags[locations][active]" value="';
|
501 |
+
echo !empty($locations['active']) ? $locations['active'] : '';
|
502 |
+
echo '" />';
|
503 |
+
echo '
|
504 |
+
<ul>
|
505 |
+
<li><label>'.__('Default location:','xml-sitemap-feed').' <input type="text" name="'.$prefix.'news_tags[locations][default]" id="xmlsf_news_tags_locations_default" value="';
|
506 |
+
echo !empty($locations['default']) ? $locations['default'] : '';
|
507 |
+
echo '" class="regular-text"></label> <span class="description">'.__('Separate with a comma.','xml-sitemap-feed').'</span></li>
|
508 |
+
</ul>
|
509 |
+
<p class="description">'.__('You should list location entities from smallest entity to largest. For example: <code>Detroit, Michigan, USA</code> or <code>Rhône-Alpes, France</code>.','xml-sitemap-feed').' <a href="https://support.google.com/news/publisher/answer/1662970" target="_blank">'.translate('More information...').'</a></p>
|
510 |
+
</fieldset>';
|
511 |
+
}
|
512 |
+
|
513 |
+
|
514 |
//sanitize callback functions
|
515 |
|
516 |
public function sanitize_robots_settings($new) {
|
519 |
|
520 |
public function sanitize_sitemaps_settings($new) {
|
521 |
$old = parent::get_sitemaps();
|
522 |
+
|
523 |
+
if (isset($new['reset']) && $new['reset'] == '1') // if reset is checked, set transient to clear all settings
|
524 |
+
set_transient('xmlsf_clear_settings','');
|
525 |
+
|
526 |
+
// if( '1' == get_option('blog_public') ) {
|
527 |
+
if ($old != $new && !isset($new['reset'])) // when sitemaps are added or removed, set transient to flush rewrite rules
|
528 |
+
set_transient('xmlsf_flush_rewrite_rules','');
|
529 |
+
|
530 |
+
if (empty($old['sitemap-news']) && !empty($new['sitemap-news']))
|
531 |
+
set_transient('xmlsf_create_genres','');
|
532 |
+
|
533 |
+
$sanitized = $new;
|
534 |
+
// } else {
|
535 |
+
// $sanitized = $old;
|
536 |
+
// }
|
537 |
+
|
538 |
+
return $sanitized;
|
539 |
}
|
540 |
|
541 |
+
public function sanitize_ping_settings($new) {
|
542 |
+
|
543 |
+
if( '1' == get_option('blog_public') ) {
|
544 |
+
$defaults = parent::defaults('ping');
|
545 |
+
$sanitized = array();
|
546 |
+
$update_services = get_option('ping_sites');
|
547 |
+
$update_services_new = $update_services;
|
548 |
+
|
549 |
+
foreach ($defaults as $key => $values) {
|
550 |
+
if(!isset($new[$key]))
|
551 |
+
continue;
|
552 |
+
|
553 |
+
if (isset($values['type']) && $values['type'] == 'RPC') {
|
554 |
+
if ( isset($values['uri']) ) {
|
555 |
+
if ( !empty($new[$key]['active']) && strpos($update_services,untrailingslashit($values['uri'])) === false )
|
556 |
+
$update_services_new .= "\n" . $values['uri'];
|
557 |
+
elseif ( empty($new[$key]['active']) && strpos($update_services,untrailingslashit($values['uri'])) !== false )
|
558 |
+
$update_services_new = str_replace(array(trailingslashit($values['uri']),untrailingslashit($values['uri'])),'',$update_services_new);
|
559 |
+
}
|
560 |
+
} elseif (is_array($new[$key])) {
|
561 |
+
$sanitized += array( $key => $new[$key] );
|
562 |
+
}
|
563 |
+
}
|
564 |
+
|
565 |
+
if($update_services_new != $update_services)
|
566 |
+
update_option('ping_sites',$update_services_new);
|
567 |
+
} else {
|
568 |
+
$sanitized = parent::get_option('ping');
|
569 |
+
}
|
570 |
+
|
571 |
+
return $sanitized;
|
572 |
+
}
|
573 |
+
|
574 |
+
public function sanitize_post_types_settings( $new = array() ) {
|
575 |
$old = parent::get_post_types();
|
576 |
+
$defaults = parent::defaults('post_types');
|
577 |
+
$sanitized = $new;
|
578 |
+
$flush = false;
|
579 |
+
|
580 |
+
foreach ($new as $post_type => $settings) {
|
581 |
+
|
582 |
+
// when post types are (de)activated, set transient to flush rewrite rules
|
583 |
+
if ( ( !empty($old[$post_type]['active']) && empty($settings['active']) ) || ( empty($old[$post_type]['active']) && !empty($settings['active']) ) )
|
584 |
+
$flush = true;
|
585 |
+
|
586 |
+
if ( isset($settings['priority']) && is_numeric($settings['priority']) ) {
|
587 |
+
$sanitized[$post_type]['priority'] = $this->sanitize_priority($settings['priority'],0.1,0.9);
|
588 |
+
/* if ($settings['priority'] <= 0)
|
589 |
+
$sanitized[$post_type]['priority'] = '0.1';
|
590 |
+
elseif ($settings['priority'] >= 1)
|
591 |
+
$sanitized[$post_type]['priority'] = '0.9';*/
|
592 |
+
} else {
|
593 |
+
$sanitized[$post_type]['priority'] = $defaults[$post_type]['priority'];
|
594 |
+
}
|
595 |
+
}
|
596 |
+
|
597 |
+
if ($flush)
|
598 |
set_transient('xmlsf_flush_rewrite_rules','');
|
599 |
+
|
600 |
+
return $sanitized;
|
601 |
+
}
|
602 |
+
|
603 |
+
private function sanitize_priority($priority, $min = 0, $max = 1) {
|
604 |
+
$priority = (float)$priority;
|
605 |
+
if ($priority < $min || $priority === 0 )
|
606 |
+
return (string)$min;
|
607 |
+
elseif ($priority >= $max)
|
608 |
+
return (string)$max;
|
609 |
+
else
|
610 |
+
return (string)$priority;
|
611 |
}
|
612 |
|
613 |
public function sanitize_taxonomies_settings($new) {
|
614 |
$old = parent::get_taxonomies();
|
615 |
+
|
616 |
+
if ($old != $new) // when taxonomy types are added or removed, set transient to flush rewrite rules
|
617 |
set_transient('xmlsf_flush_rewrite_rules','');
|
618 |
+
|
619 |
return $new;
|
620 |
}
|
621 |
|
622 |
+
public function sanitize_urls_settings($new) {
|
623 |
+
$old = parent::get_urls();
|
624 |
+
$input = explode("\n",trim(strip_tags($new)));
|
625 |
+
$sanitized = array();
|
626 |
+
$callback = create_function('$a','return filter_var($a,FILTER_VALIDATE_URL) || is_numeric($a);');
|
627 |
+
|
628 |
+
foreach ($input as $line) {
|
629 |
+
if(empty($line))
|
630 |
+
continue;
|
631 |
+
|
632 |
+
$arr = array_values(array_filter(explode(" ",trim($line)),$callback));
|
633 |
+
|
634 |
+
if(isset($arr[0])) {
|
635 |
+
if(isset($arr[1]))
|
636 |
+
$arr[1] = $this->sanitize_priority($arr[1]);
|
637 |
+
else
|
638 |
+
$arr[1] = '0.5';
|
639 |
+
|
640 |
+
$sanitized[] = array( esc_url($arr[0]) , $arr[1] );
|
641 |
+
}
|
642 |
+
}
|
643 |
+
|
644 |
+
if (empty($old)) {
|
645 |
+
if (!empty($sanitized))
|
646 |
+
set_transient('xmlsf_flush_rewrite_rules','');
|
647 |
+
} else if (empty($sanitized)) {
|
648 |
+
set_transient('xmlsf_flush_rewrite_rules','');
|
649 |
+
}
|
650 |
+
|
651 |
+
return (!empty($sanitized)) ? $sanitized : '';
|
652 |
+
}
|
653 |
+
|
654 |
+
public function sanitize_domains_settings($new) {
|
655 |
+
$default = parent::domain();
|
656 |
+
$input = explode("\n",trim(strip_tags($new)));
|
657 |
+
$sanitized = array();
|
658 |
+
|
659 |
+
foreach ($input as $line) {
|
660 |
+
$line = trim($line);
|
661 |
+
if(!empty($line) && $line != $default && strpos($line,".".$default) === false)
|
662 |
+
$sanitized[] = $line;
|
663 |
+
}
|
664 |
+
|
665 |
+
return (!empty($sanitized)) ? $sanitized : '';
|
666 |
+
}
|
667 |
+
|
668 |
+
public function sanitize_news_tags_settings($new) {
|
669 |
return $new;
|
670 |
}
|
671 |
+
|
672 |
|
673 |
+
// action links
|
|
|
|
|
|
|
674 |
|
675 |
+
public function add_action_link( $links ) {
|
676 |
+
$settings_link = '<a href="' . admin_url('options-reading.php') . '#blog_public">' . translate('Settings') . '</a>';
|
677 |
+
array_unshift( $links, $settings_link );
|
678 |
+
return $links;
|
679 |
+
}
|
680 |
+
|
681 |
+
/**
|
682 |
+
* META BOX
|
683 |
+
*/
|
684 |
+
|
685 |
+
/* Adds a box to the side column */
|
686 |
+
public function add_meta_box()
|
687 |
+
{
|
688 |
+
// Only include metaboxes on post types that are included
|
689 |
+
foreach (parent::get_post_types() as $post_type) {
|
690 |
+
if (isset($post_type["active"]))
|
691 |
+
add_meta_box(
|
692 |
+
'xmlsf_section',
|
693 |
+
__( 'XML Sitemap', 'xml-sitemap-feed' ),
|
694 |
+
array($this,'meta_box'),
|
695 |
+
$post_type['name'],
|
696 |
+
'side'
|
697 |
+
);
|
698 |
}
|
|
|
|
|
699 |
}
|
700 |
+
|
701 |
+
public function meta_box($post)
|
702 |
+
{
|
703 |
+
// Use nonce for verification
|
704 |
+
wp_nonce_field( plugin_basename( __FILE__ ), 'xmlsf_sitemap_nonce' );
|
705 |
+
|
706 |
+
// The actual fields for data entry
|
707 |
+
// Use get_post_meta to retrieve an existing value from the database and use the value for the form
|
708 |
+
$value = get_post_meta( $post->ID, '_xmlsf_exclude', true );
|
709 |
+
$priority = get_post_meta( $post->ID, '_xmlsf_priority', true );
|
710 |
+
$disabled = '';
|
711 |
+
|
712 |
+
// disable options and (visibly) set excluded to true for private posts
|
713 |
+
if ( 'private' == $post->post_status ) {
|
714 |
+
$disabled = ' disabled="disabled"';
|
715 |
+
$value = true;
|
716 |
+
}
|
717 |
+
|
718 |
+
// disable options and (visibly) set priority to 1 for front page
|
719 |
+
if ( $post->ID == get_option('page_on_front') ) {
|
720 |
+
$disabled = ' disabled="disabled"';
|
721 |
+
$priority = '1'; // force excluded to true for private posts
|
722 |
+
}
|
723 |
+
|
724 |
+
echo '<p><label><input type="checkbox" name="xmlsf_exclude" id="xmlsf_exclude" value="1"'.checked(!empty($value), true, false).$disabled.' > ';
|
725 |
+
_e('Exclude from XML Sitemap','xml-sitemap-feed');
|
726 |
+
echo '</label></p>';
|
727 |
+
|
728 |
+
echo '<p><label>';
|
729 |
+
_e('Priority','xml-sitemap-feed');
|
730 |
+
echo ' <input type="number" step="0.1" min="0" max="1" name="xmlsf_priority" id="xmlsf_priority" value="'.$priority.'" class="small-text"'.$disabled.'></label> <span class="description">';
|
731 |
+
printf(__('Leave empty for automatic Priority as configured on %1$s > %2$s.','xml-sitemap-feed'),translate('Settings'),translate('Reading'));
|
732 |
+
echo '</span></p>';
|
733 |
+
}
|
734 |
+
|
735 |
+
/* When the post is saved, save our meta data */
|
736 |
+
function save_metadata( $post_id )
|
737 |
+
{
|
738 |
+
if ( !isset($post_id) )
|
739 |
+
$post_id = (int)$_REQUEST['post_ID'];
|
740 |
+
|
741 |
+
if ( !current_user_can( 'edit_post', $post_id ) || !isset($_POST['xmlsf_sitemap_nonce']) || !wp_verify_nonce($_POST['xmlsf_sitemap_nonce'], plugin_basename( __FILE__ )) )
|
742 |
+
return;
|
743 |
+
|
744 |
+
// _xmlsf_priority
|
745 |
+
if ( isset($_POST['xmlsf_priority']) && is_numeric($_POST['xmlsf_priority']) ) {
|
746 |
+
update_post_meta($post_id, '_xmlsf_priority', $this->sanitize_priority($_POST['xmlsf_priority']) );
|
747 |
+
/* if ($_POST['xmlsf_priority'] < 0 || $_POST['xmlsf_priority'] === 0 )
|
748 |
+
update_post_meta($post_id, '_xmlsf_priority', '0');
|
749 |
+
elseif ($_POST['xmlsf_priority'] >= 1)
|
750 |
+
update_post_meta($post_id, '_xmlsf_priority', '1');
|
751 |
+
else
|
752 |
+
update_post_meta($post_id, '_xmlsf_priority', $_POST['xmlsf_priority']);*/
|
753 |
+
} else {
|
754 |
+
delete_post_meta($post_id, '_xmlsf_priority');
|
755 |
+
}
|
756 |
+
|
757 |
+
// _xmlsf_exclude
|
758 |
+
if ( isset($_POST['xmlsf_exclude']) && $_POST['xmlsf_exclude'] != '' ) {
|
759 |
+
update_post_meta($post_id, '_xmlsf_exclude', $_POST['xmlsf_exclude']);
|
760 |
+
} else {
|
761 |
+
delete_post_meta($post_id, '_xmlsf_exclude');
|
762 |
+
}
|
763 |
|
764 |
+
}
|
765 |
|
766 |
/**
|
767 |
* CONSTRUCTOR
|
768 |
*/
|
769 |
|
|
|
|
|
|
|
|
|
|
|
770 |
function __construct() {
|
771 |
+
$sitemaps = parent::get_sitemaps();
|
772 |
+
$prefix = parent::prefix();
|
773 |
+
$blog_public = get_option('blog_public');
|
774 |
|
|
|
|
|
775 |
// sitemaps
|
776 |
+
register_setting('reading', $prefix.'sitemaps', array($this,'sanitize_sitemaps_settings') );
|
777 |
+
add_settings_field($prefix.'sitemaps', __('Enable XML sitemaps','xml-sitemap-feed'), array($this,'sitemaps_settings_field'), 'reading');
|
778 |
+
|
779 |
+
if ( '1' == $blog_public && ( isset($sitemaps['sitemap']) || isset($sitemaps['sitemap-news']) ) ) {
|
780 |
+
// pings
|
781 |
+
register_setting('reading', $prefix.'ping', array($this,'sanitize_ping_settings') );
|
782 |
+
add_settings_field($prefix.'ping', __('Ping on Publish','xml-sitemap-feed'), array($this,'ping_settings_field'), 'reading');
|
783 |
+
|
784 |
+
if ( is_multisite() ) {
|
785 |
+
register_setting('writing', $prefix.'ping', array($this,'sanitize_ping_settings') );
|
786 |
+
add_settings_field($prefix.'ping', translate('Update Services'), array($this,'ping_settings_field'), 'writing');
|
787 |
+
}
|
788 |
+
}
|
789 |
+
|
790 |
//robots only when permalinks are set
|
791 |
if(''!=get_option('permalink_structure')) {
|
792 |
+
register_setting('reading', $prefix.'robots', array($this,'sanitize_robots_settings') );
|
793 |
+
add_settings_field($prefix.'robots', __('Additional robots.txt rules','xml-sitemap-feed'), array($this,'robots_settings_field'), 'reading');
|
794 |
}
|
795 |
+
|
796 |
+
// TODO put this back in but only for multi-site when activated site-wide...
|
797 |
+
if ( is_multisite() && is_plugin_active_for_network(XMLSF_PLUGIN_BASENAME) )
|
798 |
+
add_settings_field($prefix.'reset', __('Reset XML sitemaps','xml-sitemap-feed'), array($this,'reset_settings_field'), 'reading');
|
799 |
+
|
800 |
+
if ( '1' == $blog_public && isset($sitemaps['sitemap']) ) {
|
801 |
+
// XML SITEMAP SETTINGS
|
802 |
+
add_settings_section('xml_sitemap_section', '<a name="xmlsf"></a>'.__('XML Sitemap','xml-sitemap-feed'), array($this,'xml_sitemap_settings'), 'reading');
|
803 |
+
// post_types
|
804 |
+
register_setting('reading', $prefix.'post_types', array($this,'sanitize_post_types_settings') );
|
805 |
+
add_settings_field($prefix.'post_types', __('Include post types','xml-sitemap-feed'), array($this,'post_types_settings_field'), 'reading', 'xml_sitemap_section');
|
806 |
+
// taxonomies
|
807 |
+
register_setting('reading', $prefix.'taxonomies', array($this,'sanitize_taxonomies_settings') );
|
808 |
+
add_settings_field($prefix.'taxonomies', __('Include taxonomies','xml-sitemap-feed'), array($this,'taxonomies_settings_field'), 'reading', 'xml_sitemap_section');
|
809 |
+
// custom urls
|
810 |
+
register_setting('reading', $prefix.'urls', array($this,'sanitize_urls_settings') );
|
811 |
+
add_settings_field($prefix.'urls', __('Include custom URLs','xml-sitemap-feed'), array($this,'urls_settings_field'), 'reading', 'xml_sitemap_section');
|
812 |
+
|
813 |
+
// custom domains
|
814 |
+
register_setting('reading', $prefix.'domains', array($this,'sanitize_domains_settings') );
|
815 |
+
add_settings_field($prefix.'domains', __('Additional allowed domains','xml-sitemap-feed'), array($this,'domains_settings_field'), 'reading', 'xml_sitemap_section');
|
816 |
+
|
817 |
+
// POST META BOX
|
818 |
+
add_action( 'add_meta_boxes', array($this,'add_meta_box') );
|
819 |
+
add_action( 'save_post', array($this,'save_metadata') );
|
820 |
+
}
|
821 |
+
|
822 |
+
if ( '1' == $blog_public && isset($sitemaps['sitemap-news']) ) {
|
823 |
+
// XML SITEMAP SETTINGS
|
824 |
+
add_settings_section('news_sitemap_section', '<a name="xmlnf"></a>'.__('Google News Sitemap','xml-sitemap-feed'), array($this,'news_sitemap_settings'), 'reading');
|
825 |
+
|
826 |
+
// tags
|
827 |
+
register_setting('reading', $prefix.'news_tags', array($this,'sanitize_news_tags_settings') );
|
828 |
+
add_settings_field($prefix.'news_name', '<label for="xmlsf_news_name">'.__('Publication name','xml-sitemap-feed').'</label>', array($this,'news_name_field'), 'reading', 'news_sitemap_section');
|
829 |
+
add_settings_field($prefix.'news_image', translate('Images'), array($this,'news_image_field'), 'reading', 'news_sitemap_section');
|
830 |
+
add_settings_field($prefix.'news_access', __('Access (<access> tag)','xml-sitemap-feed'), array($this,'news_access_field'), 'reading', 'news_sitemap_section');
|
831 |
+
add_settings_field($prefix.'news_genres', __('Genres (<genres> tag)','xml-sitemap-feed'), array($this,'news_genres_field'), 'reading', 'news_sitemap_section');
|
832 |
+
add_settings_field($prefix.'news_keywords', __('Topics (<keywords> tag)','xml-sitemap-feed'), array($this,'news_keywords_field'), 'reading', 'news_sitemap_section');
|
833 |
+
add_settings_field($prefix.'news_locations', __('Locations (<geo_locations> tag)','xml-sitemap-feed'), array($this,'news_locations_field'), 'reading', 'news_sitemap_section');
|
834 |
+
}
|
835 |
+
|
836 |
+
// ACTION LINK
|
837 |
+
add_filter('plugin_action_links_' . XMLSF_PLUGIN_BASENAME, array($this, 'add_action_link') );
|
838 |
}
|
839 |
|
840 |
}
|
includes/core.php
CHANGED
@@ -9,148 +9,594 @@ class XMLSitemapFeed {
|
|
9 |
* Plugin variables
|
10 |
*/
|
11 |
|
|
|
12 |
public $base_name = 'sitemap';
|
13 |
|
|
|
14 |
public $extension = 'xml';
|
15 |
|
|
|
|
|
|
|
|
|
16 |
private $yes_mother = false;
|
17 |
|
18 |
private $defaults = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
-
private
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
|
22 |
// sitemaps
|
23 |
-
if ( '1' == get_option('blog_public') )
|
24 |
$this->defaults['sitemaps'] = array(
|
25 |
-
'sitemap' => XMLSF_NAME
|
26 |
);
|
27 |
else
|
28 |
$this->defaults['sitemaps'] = array();
|
29 |
|
30 |
// post_types
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
$this->
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
'
|
43 |
-
'
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
55 |
|
56 |
// taxonomies
|
57 |
-
$this->defaults['taxonomies'] = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
-
//
|
60 |
-
$this->defaults['robots'] = '';
|
61 |
-
}
|
62 |
|
|
|
|
|
|
|
|
|
|
|
63 |
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
if (empty($this->defaults))
|
67 |
$this->build_defaults();
|
68 |
|
69 |
-
if (
|
70 |
-
return
|
71 |
-
else
|
72 |
-
return
|
|
|
73 |
|
|
|
74 |
}
|
75 |
|
76 |
-
public function
|
77 |
-
|
78 |
-
|
79 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
-
|
|
|
|
|
|
|
|
|
82 |
|
83 |
-
return (empty($return)) ? array() : $return;
|
84 |
}
|
85 |
-
|
86 |
-
public function get_post_types()
|
|
|
|
|
87 |
|
88 |
-
|
89 |
-
|
|
|
90 |
|
91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
-
|
|
|
94 |
}
|
95 |
|
96 |
-
public function get_taxonomies()
|
|
|
|
|
97 |
|
98 |
-
|
99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
}
|
105 |
|
106 |
-
public function get_robots()
|
|
|
|
|
|
|
107 |
|
108 |
-
|
109 |
-
|
|
|
110 |
|
111 |
-
|
|
|
112 |
}
|
113 |
-
|
114 |
-
public function get_do_tags( $type = 'post' ) {
|
115 |
|
116 |
-
|
117 |
-
return array();
|
118 |
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
|
126 |
-
|
|
|
127 |
}
|
128 |
-
|
129 |
|
130 |
/**
|
131 |
-
*
|
132 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
|
150 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
}
|
152 |
|
153 |
-
public function get_home_urls()
|
|
|
154 |
$urls = array();
|
155 |
|
156 |
global $polylang,$q_config;
|
@@ -158,93 +604,92 @@ class XMLSitemapFeed {
|
|
158 |
if ( isset($polylang) )
|
159 |
foreach ($polylang->get_languages_list() as $term)
|
160 |
$urls[] = $polylang->get_home_url($term);
|
161 |
-
elseif ( isset($q_config) )
|
162 |
-
foreach($q_config['enabled_languages'] as $language)
|
163 |
-
$urls[] = qtrans_convertURL($url,$language);
|
164 |
else
|
165 |
-
$urls[] =
|
166 |
|
167 |
return $urls;
|
168 |
}
|
169 |
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
if ('1' == $options['force_lang'] )
|
181 |
-
foreach ( $input as $url )
|
182 |
-
foreach($polylang->get_languages_list() as $language)
|
183 |
-
$return[] = $polylang->add_language_to_link($url,$language);
|
184 |
-
else
|
185 |
-
foreach ( $input as $url )
|
186 |
-
foreach($polylang->get_languages_list() as $language)
|
187 |
-
$return[] = add_query_arg('lang', $language->slug, $url);
|
188 |
-
} else { // not an array? do nothing, Polylang does all the work :)
|
189 |
-
$return = $input;
|
190 |
}
|
191 |
-
|
192 |
-
return $
|
193 |
}
|
194 |
|
195 |
-
|
196 |
-
|
197 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
|
|
205 |
|
206 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
}
|
208 |
-
|
209 |
|
210 |
/**
|
211 |
* ROBOTSTXT
|
212 |
*/
|
213 |
|
214 |
// add sitemap location in robots.txt generated by WP
|
215 |
-
public function robots($output)
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
echo "\n# XML & Google News Sitemap Feeds - version ".XMLSF_VERSION." (http://status301.net/wordpress-plugins/xml-sitemap-feed/)";
|
220 |
|
221 |
-
if (
|
222 |
-
|
|
|
|
|
223 |
echo "\nSitemap: " . trailingslashit(get_bloginfo('url')) . $pretty;
|
224 |
-
|
225 |
-
|
226 |
-
|
|
|
227 |
echo "\n\n";
|
228 |
}
|
229 |
|
230 |
// add robots.txt rules
|
231 |
-
public function robots_txt($output)
|
232 |
-
|
|
|
233 |
}
|
234 |
|
235 |
-
/**
|
236 |
-
* DE-ACTIVATION
|
237 |
-
*/
|
238 |
-
|
239 |
-
public function deactivate() {
|
240 |
-
global $wp_rewrite;
|
241 |
-
remove_action('generate_rewrite_rules', array($this, 'rewrite_rules') );
|
242 |
-
$wp_rewrite->flush_rules();
|
243 |
-
delete_option('xmlsf_version');
|
244 |
-
foreach ( $this->defaults() as $option => $settings )
|
245 |
-
delete_option('xmlsf_'.$option);
|
246 |
-
}
|
247 |
-
|
248 |
/**
|
249 |
* REWRITES
|
250 |
*/
|
@@ -256,7 +701,8 @@ class XMLSitemapFeed {
|
|
256 |
* @param string $request
|
257 |
*/
|
258 |
|
259 |
-
public function trailingslash($request)
|
|
|
260 |
if (pathinfo($request, PATHINFO_EXTENSION)) {
|
261 |
return untrailingslashit($request);
|
262 |
}
|
@@ -269,8 +715,8 @@ class XMLSitemapFeed {
|
|
269 |
* @param string $wp_rewrite
|
270 |
*/
|
271 |
|
272 |
-
public function rewrite_rules($wp_rewrite)
|
273 |
-
|
274 |
$xmlsf_rules = array();
|
275 |
$sitemaps = $this->get_sitemaps();
|
276 |
|
@@ -280,20 +726,22 @@ class XMLSitemapFeed {
|
|
280 |
if (!empty($sitemaps['sitemap'])) {
|
281 |
// home urls
|
282 |
$xmlsf_rules[ $this->base_name . '-home\.' . $this->extension . '$' ] = $wp_rewrite->index . '?feed=sitemap-home';
|
283 |
-
// all urls (still works but redundant)
|
284 |
-
//$xmlsf_rules[ $this->base_name . '-posttype-any\.' . $this->extension . '$' ] = $wp_rewrite->index . '?feed=sitemap-any';
|
285 |
-
// rule catch posts split by category (unsupported)
|
286 |
-
//$xmlsf_rules[ $this->base_name . '\.([a-z0-9_-]+)?\.' . $this->extension . '$' ] = $wp_rewrite->index . '?feed=sitemap_post&category_name=$matches[1]';
|
287 |
|
288 |
// add rules for post types (can be split by month or year)
|
289 |
foreach ( $this->get_post_types() as $post_type ) {
|
290 |
-
|
|
|
291 |
}
|
292 |
-
|
293 |
// add rules for taxonomies
|
294 |
foreach ( $this->get_taxonomies() as $taxonomy ) {
|
295 |
-
$xmlsf_rules[ $this->base_name . '-taxonomy-' . $taxonomy . '\.' . $this->extension . '$' ] = $wp_rewrite->index . '?feed=sitemap-taxonomy
|
296 |
}
|
|
|
|
|
|
|
|
|
|
|
297 |
}
|
298 |
|
299 |
$wp_rewrite->rules = $xmlsf_rules + $wp_rewrite->rules;
|
@@ -302,11 +750,21 @@ class XMLSitemapFeed {
|
|
302 |
/**
|
303 |
* REQUEST FILTER
|
304 |
*/
|
|
|
305 |
|
306 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
if ( isset($request['feed']) && strpos($request['feed'],'sitemap') == 0 ) {
|
308 |
|
309 |
if ( $request['feed'] == 'sitemap' ) {
|
|
|
310 |
// setup actions and filters
|
311 |
add_action('do_feed_sitemap', array($this, 'load_template_index'), 10, 1);
|
312 |
|
@@ -326,7 +784,12 @@ class XMLSitemapFeed {
|
|
326 |
// modify request parameters
|
327 |
$types_arr = explode(',',XMLSF_NEWS_POST_TYPE);
|
328 |
$request['post_type'] = (in_array('any',$types_arr)) ? 'any' : $types_arr;
|
329 |
-
|
|
|
|
|
|
|
|
|
|
|
330 |
$request['no_found_rows'] = true;
|
331 |
$request['update_post_meta_cache'] = false;
|
332 |
//$request['update_post_term_cache'] = false; // << TODO test: can we disable or do we need this for terms?
|
@@ -343,58 +806,54 @@ class XMLSitemapFeed {
|
|
343 |
|
344 |
if ( strpos($request['feed'],'sitemap-posttype') == 0 ) {
|
345 |
foreach ( $this->get_post_types() as $post_type ) {
|
346 |
-
if ( $request['feed'] == 'sitemap-
|
347 |
// setup actions and filters
|
348 |
-
add_action('do_feed_sitemap-
|
349 |
add_filter( 'post_limits', array($this, 'filter_limits') );
|
350 |
|
351 |
// modify request parameters
|
352 |
$request['post_type'] = $post_type['name'];
|
|
|
353 |
$request['orderby'] = 'modified';
|
354 |
-
|
355 |
-
// TODO test this with qTranslate !!
|
356 |
$request['no_found_rows'] = true;
|
357 |
$request['update_post_meta_cache'] = false;
|
358 |
$request['update_post_term_cache'] = false;
|
|
|
|
|
|
|
|
|
359 |
|
360 |
return $request;
|
361 |
}
|
362 |
}
|
363 |
}
|
364 |
|
365 |
-
if ( $request['feed']
|
366 |
-
|
367 |
-
|
368 |
-
//
|
369 |
-
|
370 |
-
// modify request parameters
|
371 |
-
$request['lang'] = implode( ',', $this->get_languages() );
|
372 |
-
// TODO test this with qTranslate !!
|
373 |
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
|
|
|
|
|
|
378 |
|
379 |
-
|
|
|
|
|
380 |
}
|
381 |
|
382 |
-
|
383 |
-
if ( $request['feed'] == 'sitemap-any' ) {
|
384 |
// setup actions and filters
|
385 |
-
add_action('do_feed_sitemap-
|
386 |
-
add_filter('post_limits', array($this, 'filter_limits'));
|
387 |
-
|
388 |
-
// modify request parameters
|
389 |
-
$request['post_type'] = 'any';
|
390 |
-
$request['orderby'] = 'modified';
|
391 |
-
|
392 |
-
$request['no_found_rows'] = true;
|
393 |
-
$request['update_post_meta_cache'] = false;
|
394 |
-
$request['update_post_term_cache'] = false;
|
395 |
|
396 |
return $request;
|
397 |
-
}
|
398 |
|
399 |
}
|
400 |
|
@@ -406,142 +865,340 @@ class XMLSitemapFeed {
|
|
406 |
*/
|
407 |
|
408 |
// set up the sitemap index template
|
409 |
-
public function load_template_index()
|
|
|
410 |
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap.php' );
|
411 |
}
|
412 |
|
413 |
// set up the sitemap home page(s) template
|
414 |
-
public function load_template_base()
|
|
|
415 |
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap-home.php' );
|
416 |
}
|
417 |
|
418 |
// set up the post types sitemap template
|
419 |
-
public function load_template()
|
|
|
420 |
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap-post_type.php' );
|
421 |
}
|
422 |
|
423 |
// set up the taxonomy sitemap template
|
424 |
-
public function load_template_taxonomy()
|
|
|
425 |
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap-taxonomy.php' );
|
426 |
}
|
427 |
|
428 |
// set up the news sitemap template
|
429 |
-
public function load_template_news()
|
|
|
430 |
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap-news.php' );
|
431 |
}
|
432 |
|
|
|
|
|
|
|
|
|
|
|
|
|
433 |
/**
|
434 |
-
*
|
435 |
*/
|
436 |
|
437 |
// override default feed limit
|
438 |
-
public function filter_limits( $limits )
|
|
|
439 |
return 'LIMIT 0, 50000';
|
440 |
}
|
441 |
|
442 |
// override default feed limit for taxonomy sitemaps
|
443 |
-
public function filter_limits_taxonomy( $limits )
|
|
|
444 |
return 'LIMIT 0, 1';
|
445 |
}
|
446 |
|
447 |
// override default feed limit for GN
|
448 |
-
public function filter_news_limits( $limits )
|
|
|
449 |
return 'LIMIT 0, 1000';
|
450 |
}
|
451 |
|
452 |
// Create a new filtering function that will add a where clause to the query,
|
453 |
// used for the Google News Sitemap
|
454 |
-
public function filter_news_where( $where = '' )
|
|
|
455 |
// only posts from the last 2 days
|
456 |
return $where . " AND post_date > '" . date('Y-m-d H:i:s', strtotime('-49 hours')) . "'";
|
457 |
}
|
458 |
|
|
|
459 |
/**
|
460 |
-
*
|
461 |
*/
|
462 |
|
463 |
-
public function
|
|
|
|
|
|
|
464 |
|
465 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
466 |
|
467 |
-
if (
|
468 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
469 |
|
470 |
-
|
|
|
471 |
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
476 |
|
477 |
-
|
478 |
-
|
479 |
-
|
|
|
480 |
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
delete_option('XMLSitemapFeed_option2');
|
485 |
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
|
|
|
492 |
if (get_option('xmlsf_version') != XMLSF_VERSION) {
|
493 |
// rewrite rules not available on plugins_loaded
|
494 |
-
// don't flush rules from init as Polylang chokes on that
|
495 |
// just remove the rules and let WP renew them when ready...
|
496 |
delete_option('rewrite_rules');
|
497 |
|
498 |
-
|
|
|
|
|
|
|
|
|
|
|
499 |
|
500 |
update_option('xmlsf_version', XMLSF_VERSION);
|
501 |
}
|
502 |
|
503 |
}
|
504 |
|
505 |
-
private function flush_rules($hard = false)
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
return;
|
510 |
|
511 |
global $wp_rewrite;
|
|
|
512 |
$wp_rewrite->flush_rules($hard);
|
513 |
|
514 |
$this->yes_mother = true;
|
515 |
}
|
516 |
|
517 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
518 |
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
} else
|
525 |
|
526 |
-
if (
|
527 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
528 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
529 |
|
530 |
// Include the admin class file
|
531 |
include_once( XMLSF_PLUGIN_DIR . '/includes/admin.php' );
|
532 |
|
533 |
}
|
534 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
535 |
/**
|
536 |
* CONSTRUCTOR
|
537 |
*/
|
538 |
|
539 |
-
function
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
|
|
|
|
|
|
|
|
545 |
|
546 |
// REQUEST main filtering function
|
547 |
add_filter('request', array($this, 'filter_request'), 1 );
|
@@ -553,15 +1210,21 @@ class XMLSitemapFeed {
|
|
553 |
add_action('generate_rewrite_rules', array($this, 'rewrite_rules') );
|
554 |
add_filter('user_trailingslashit', array($this, 'trailingslash') );
|
555 |
|
|
|
|
|
|
|
556 |
// REGISTER SETTINGS, SETTINGS FIELDS, UPGRADE checks...
|
557 |
add_action('admin_init', array($this,'admin_init'));
|
558 |
|
559 |
// ROBOTSTXT
|
560 |
add_action('do_robotstxt', array($this, 'robots'), 0 );
|
561 |
add_filter('robots_txt', array($this, 'robots_txt'), 0 );
|
|
|
|
|
|
|
562 |
|
563 |
// DE-ACTIVATION
|
564 |
-
register_deactivation_hook( XMLSF_PLUGIN_DIR . '/xml-sitemap.php', array($this, '
|
565 |
}
|
566 |
|
567 |
}
|
9 |
* Plugin variables
|
10 |
*/
|
11 |
|
12 |
+
// Pretty permalinks base name
|
13 |
public $base_name = 'sitemap';
|
14 |
|
15 |
+
// Pretty permalinks extension
|
16 |
public $extension = 'xml';
|
17 |
|
18 |
+
// Database options prefix
|
19 |
+
private $prefix = 'xmlsf_';
|
20 |
+
|
21 |
+
// Flushed flag
|
22 |
private $yes_mother = false;
|
23 |
|
24 |
private $defaults = array();
|
25 |
+
private $disabled_post_types = array('attachment'); /* attachment post type is disabled... images are included via tags in the post and page sitemaps */
|
26 |
+
private $disabled_taxonomies = array('post_format'); /* post format taxonomy is brute force disabled for now; might come back... */
|
27 |
+
private $gn_genres = array(
|
28 |
+
'gn-pressrelease' => 'PressRelease',
|
29 |
+
'gn-satire' => 'Satire',
|
30 |
+
'gn-blog' => 'Blog',
|
31 |
+
'gn-oped' => 'OpEd',
|
32 |
+
'gn-opinion' => 'Opinion',
|
33 |
+
'gn-usergenerated' => 'UserGenerated'
|
34 |
+
);
|
35 |
+
|
36 |
+
// Global values used for priority and changefreq calculation
|
37 |
+
private $domain;
|
38 |
+
private $firstdate;
|
39 |
+
private $lastmodified;
|
40 |
+
private $postmodified = array();
|
41 |
+
private $termmodified = array();
|
42 |
+
private $blogpage;
|
43 |
+
private $images = array();
|
44 |
|
45 |
+
// make some private parts public ;)
|
46 |
+
|
47 |
+
public function prefix()
|
48 |
+
{
|
49 |
+
return $this->prefix;
|
50 |
+
}
|
51 |
+
|
52 |
+
public function gn_genres()
|
53 |
+
{
|
54 |
+
return $this->gn_genres;
|
55 |
+
}
|
56 |
+
|
57 |
+
public function domain()
|
58 |
+
{
|
59 |
+
// allowed domain
|
60 |
+
if (empty($this->domain)) {
|
61 |
+
$url_parsed = parse_url(home_url()); // second parameter PHP_URL_HOST for only PHP5 + ...
|
62 |
+
$this->domain = str_replace("www.","",$url_parsed['host']);
|
63 |
+
}
|
64 |
+
|
65 |
+
return $this->domain;
|
66 |
+
}
|
67 |
|
68 |
+
// default options
|
69 |
+
private function build_defaults()
|
70 |
+
{
|
71 |
// sitemaps
|
72 |
+
if ( '1' == get_option('blog_public') )
|
73 |
$this->defaults['sitemaps'] = array(
|
74 |
+
'sitemap' => XMLSF_NAME
|
75 |
);
|
76 |
else
|
77 |
$this->defaults['sitemaps'] = array();
|
78 |
|
79 |
// post_types
|
80 |
+
$this->defaults['post_types'] = array();
|
81 |
+
foreach ( get_post_types(array('public'=>true),'names') as $name ) { // want 'publicly_queryable' but that excludes pages for some weird reason
|
82 |
+
// skip unallowed post types
|
83 |
+
if (in_array($name,$this->disabled_post_types))
|
84 |
+
continue;
|
85 |
+
|
86 |
+
$this->defaults['post_types'][$name] = array(
|
87 |
+
'name' => $name,
|
88 |
+
'active' => '',
|
89 |
+
'archive' => '',
|
90 |
+
'priority' => '0.5',
|
91 |
+
'dynamic_priority' => '',
|
92 |
+
'tags' => array('image' => 'attached'/*,'video' => ''*/)
|
93 |
+
);
|
94 |
+
}
|
95 |
+
|
96 |
+
if ( defined('XMLSF_POST_TYPE') && XMLSF_POST_TYPE != 'any' )
|
97 |
+
$active_arr = array_map('trim',explode(',',XMLSF_POST_TYPE));
|
98 |
+
else
|
99 |
+
$active_arr = array('post','page');
|
100 |
+
|
101 |
+
foreach ( $active_arr as $name )
|
102 |
+
if ( isset($this->defaults['post_types'][$name]) )
|
103 |
+
$this->defaults['post_types'][$name]['active'] = '1';
|
104 |
+
|
105 |
+
if ( isset($this->defaults['post_types']['post']) ) {
|
106 |
+
if (wp_count_posts('post')->publish > 500)
|
107 |
+
$this->defaults['post_types']['post']['archive'] = 'yearly';
|
108 |
+
$this->defaults['post_types']['post']['priority'] = '0.7';
|
109 |
+
$this->defaults['post_types']['post']['dynamic_priority'] = '1';
|
110 |
+
}
|
111 |
+
|
112 |
+
if ( isset($this->defaults['post_types']['page']) ) {
|
113 |
+
unset($this->defaults['post_types']['page']['archive']);
|
114 |
+
$this->defaults['post_types']['page']['priority'] = '0.3';
|
115 |
}
|
116 |
|
117 |
// taxonomies
|
118 |
+
$this->defaults['taxonomies'] = array(); // by default do not include any taxonomies
|
119 |
+
|
120 |
+
// news sitemap settings
|
121 |
+
$this->defaults['news_sitemap'] = array();
|
122 |
+
|
123 |
+
// ping search engines
|
124 |
+
$this->defaults['ping'] = array(
|
125 |
+
'google' => array (
|
126 |
+
'active' => '1',
|
127 |
+
'uri' => 'http://www.google.com/webmasters/tools/ping?sitemap=',
|
128 |
+
'type' => 'GET'
|
129 |
+
),
|
130 |
+
'bing' => array (
|
131 |
+
'active' => '1',
|
132 |
+
'uri' => 'http://www.bing.com/ping?sitemap=',
|
133 |
+
'type' => 'GET'
|
134 |
+
),
|
135 |
+
'yandex' => array (
|
136 |
+
'active' => '',
|
137 |
+
'uri' => 'http://ping.blogs.yandex.ru/RPC2',
|
138 |
+
'type' => 'RPC'
|
139 |
+
),
|
140 |
+
'baidu' => array (
|
141 |
+
'active' => '',
|
142 |
+
'uri' => 'http://ping.baidu.com/ping/RPC2',
|
143 |
+
'type' => 'RPC'
|
144 |
+
),
|
145 |
+
'others' => array (
|
146 |
+
'active' => '1',
|
147 |
+
'uri' => 'http://rpc.pingomatic.com/',
|
148 |
+
'type' => 'RPC'
|
149 |
+
),
|
150 |
+
);
|
151 |
|
152 |
+
$this->defaults['pong'] = array(); // for storing last ping timestamps and status
|
|
|
|
|
153 |
|
154 |
+
// robots
|
155 |
+
$this->defaults['robots'] = "Disallow: */xmlrpc.php\nDisallow: */wp-*.php\nDisallow: */trackback/\nDisallow: *?wptheme=\nDisallow: *?comments=\nDisallow: *?replytocom\nDisallow: */comment-page-\nDisallow: *?s=\nDisallow: */wp-content/\nAllow: */wp-content/uploads/\n";
|
156 |
+
|
157 |
+
// additional urls
|
158 |
+
$this->defaults['urls'] = array();
|
159 |
|
160 |
+
// additional allowed domains
|
161 |
+
$this->defaults['domains'] = array();
|
162 |
+
|
163 |
+
// news sitemap tags settings
|
164 |
+
$this->defaults['news_tags'] = array(
|
165 |
+
'name' => '',
|
166 |
+
'image' => 'featured',
|
167 |
+
'access' => array(
|
168 |
+
'default' => '',
|
169 |
+
'private' => 'Registration',
|
170 |
+
'password' => 'Subscription'
|
171 |
+
),
|
172 |
+
'genres' => array(
|
173 |
+
'active' => '1',
|
174 |
+
'default' => ''
|
175 |
+
),
|
176 |
+
'keywords' => array(
|
177 |
+
'from' => 'category',
|
178 |
+
'default' => ''
|
179 |
+
),
|
180 |
+
'locations' => array(
|
181 |
+
'active' => '1',
|
182 |
+
'default' => ''
|
183 |
+
)
|
184 |
+
);
|
185 |
+
|
186 |
+
|
187 |
+
}
|
188 |
|
189 |
+
/**
|
190 |
+
* QUERY FUNCTIONS
|
191 |
+
*/
|
192 |
+
|
193 |
+
public function defaults($key = false)
|
194 |
+
{
|
195 |
if (empty($this->defaults))
|
196 |
$this->build_defaults();
|
197 |
|
198 |
+
if ($key) {
|
199 |
+
$return = ( isset($this->defaults[$key]) ) ? $this->defaults[$key] : '';
|
200 |
+
} else {
|
201 |
+
$return = $this->defaults;
|
202 |
+
}
|
203 |
|
204 |
+
return apply_filters( 'xmlsf_defaults', $return, $key );
|
205 |
}
|
206 |
|
207 |
+
public function get_option($option)
|
208 |
+
{
|
209 |
+
return get_option($this->prefix.$option, $this->defaults($option));
|
210 |
+
}
|
211 |
+
|
212 |
+
public function get_sitemaps()
|
213 |
+
{
|
214 |
+
$return = $this->get_option('sitemaps');
|
215 |
+
|
216 |
+
// make sure it's an array we are returning
|
217 |
+
return (!empty($return)) ? (array)$return : array();
|
218 |
+
}
|
219 |
+
|
220 |
+
public function get_ping()
|
221 |
+
{
|
222 |
+
$return = $this->get_option('ping');
|
223 |
+
|
224 |
+
// make sure it's an array we are returning
|
225 |
+
return (!empty($return)) ? (array)$return : array();
|
226 |
+
}
|
227 |
+
|
228 |
+
public function get_pong()
|
229 |
+
{
|
230 |
+
$return = $this->get_option('pong');
|
231 |
+
|
232 |
+
// make sure it's an array we are returning
|
233 |
+
return (!empty($return)) ? (array)$return : array();
|
234 |
+
}
|
235 |
+
|
236 |
+
public function disabled_post_types()
|
237 |
+
{
|
238 |
+
return $this->disabled_post_types;
|
239 |
|
240 |
+
}
|
241 |
+
|
242 |
+
public function disabled_taxonomies()
|
243 |
+
{
|
244 |
+
return $this->disabled_taxonomies;
|
245 |
|
|
|
246 |
}
|
247 |
+
|
248 |
+
public function get_post_types()
|
249 |
+
{
|
250 |
+
$return = $this->get_option('post_types');
|
251 |
|
252 |
+
// make sure it's an array we are returning
|
253 |
+
return (!empty($return)) ? (array)$return : array();
|
254 |
+
}
|
255 |
|
256 |
+
public function have_post_types()
|
257 |
+
{
|
258 |
+
$post_types = $this->get_option('post_types');
|
259 |
+
$return = array();
|
260 |
+
|
261 |
+
foreach ( $post_types as $type => $values ) {
|
262 |
+
if(!empty($values['active'])) {
|
263 |
+
$count = wp_count_posts( $values['name'] );
|
264 |
+
if ($count->publish > 0) {
|
265 |
+
$values['count'] = $count->publish;
|
266 |
+
$return[$type] = $values;
|
267 |
+
}
|
268 |
+
}
|
269 |
+
}
|
270 |
|
271 |
+
// make sure it's an array we are returning
|
272 |
+
return (!empty($return)) ? (array)$return : array();
|
273 |
}
|
274 |
|
275 |
+
public function get_taxonomies()
|
276 |
+
{
|
277 |
+
$return = $this->get_option('taxonomies');
|
278 |
|
279 |
+
// make sure it's an array we are returning
|
280 |
+
return (!empty($return)) ? (array)$return : array();
|
281 |
+
}
|
282 |
+
|
283 |
+
public function get_urls()
|
284 |
+
{
|
285 |
+
$return = $this->get_option('urls');
|
286 |
+
|
287 |
+
// make sure it's an array we are returning
|
288 |
+
if(!empty($return)) {
|
289 |
+
if(is_array($return))
|
290 |
+
return $return;
|
291 |
+
else
|
292 |
+
return explode("\n",$return);
|
293 |
+
} else {
|
294 |
+
return array();
|
295 |
+
}
|
296 |
+
}
|
297 |
|
298 |
+
public function get_domains()
|
299 |
+
{
|
300 |
+
$return = array_merge( array( $this->domain() ), (array)$this->get_option('domains') );
|
301 |
+
|
302 |
+
// make sure it's an array we are returning
|
303 |
+
return (!empty($return)) ? (array)$return : array();
|
304 |
+
}
|
305 |
|
306 |
+
public function get_archives($post_type = 'post', $type = '')
|
307 |
+
{
|
308 |
+
global $wpdb;
|
309 |
+
$return = array();
|
310 |
+
if ( 'monthly' == $type ) {
|
311 |
+
$query = "SELECT YEAR(post_date) AS `year`, LPAD(MONTH(post_date),2,'0') AS `month`, count(ID) as posts FROM $wpdb->posts WHERE post_type = '$post_type' AND post_status = 'publish' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC";
|
312 |
+
$key = md5($query);
|
313 |
+
$cache = wp_cache_get( 'xmlsf_get_archives' , 'general');
|
314 |
+
if ( !isset( $cache[ $key ] ) ) {
|
315 |
+
$arcresults = $wpdb->get_results($query);
|
316 |
+
$cache[ $key ] = $arcresults;
|
317 |
+
wp_cache_set( 'xmlsf_get_archives', $cache, 'general' );
|
318 |
+
} else {
|
319 |
+
$arcresults = $cache[ $key ];
|
320 |
+
}
|
321 |
+
if ( $arcresults ) {
|
322 |
+
foreach ( (array) $arcresults as $arcresult ) {
|
323 |
+
$return[$arcresult->year.$arcresult->month] = $this->get_index_url( 'posttype', $post_type, $arcresult->year . $arcresult->month );
|
324 |
+
}
|
325 |
+
}
|
326 |
+
} elseif ('yearly' == $type) {
|
327 |
+
$query = "SELECT YEAR(post_date) AS `year`, count(ID) as posts FROM $wpdb->posts WHERE post_type = '$post_type' AND post_status = 'publish' GROUP BY YEAR(post_date) ORDER BY post_date DESC";
|
328 |
+
$key = md5($query);
|
329 |
+
$cache = wp_cache_get( 'xmlsf_get_archives' , 'general');
|
330 |
+
if ( !isset( $cache[ $key ] ) ) {
|
331 |
+
$arcresults = $wpdb->get_results($query);
|
332 |
+
$cache[ $key ] = $arcresults;
|
333 |
+
wp_cache_set( 'xmlsf_get_archives', $cache, 'general' );
|
334 |
+
} else {
|
335 |
+
$arcresults = $cache[ $key ];
|
336 |
+
}
|
337 |
+
if ($arcresults) {
|
338 |
+
foreach ( (array) $arcresults as $arcresult) {
|
339 |
+
$return[$arcresult->year] = $this->get_index_url( 'posttype', $post_type, $arcresult->year );
|
340 |
+
}
|
341 |
+
}
|
342 |
+
} else {
|
343 |
+
$return[0] = $this->get_index_url('posttype', $post_type); // $sitemap = 'home', $type = false, $param = false
|
344 |
+
}
|
345 |
+
return $return;
|
346 |
}
|
347 |
|
348 |
+
public function get_robots()
|
349 |
+
{
|
350 |
+
return ( $robots = $this->get_option('robots') ) ? $robots : '';
|
351 |
+
}
|
352 |
|
353 |
+
public function do_tags( $type = 'post' )
|
354 |
+
{
|
355 |
+
$return = $this->get_option('post_types');
|
356 |
|
357 |
+
// make sure it's an array we are returning
|
358 |
+
return ( isset($return[$type]) && !empty($return[$type]['tags']) ) ? (array)$return[$type]['tags'] : array();
|
359 |
}
|
|
|
|
|
360 |
|
361 |
+
public function is_home($id) {
|
|
|
362 |
|
363 |
+
if ( empty($this->blogpage) ) {
|
364 |
+
$blogpage = get_option('page_for_posts');
|
365 |
+
|
366 |
+
if ( !empty($blogpage) ) {
|
367 |
+
global $polylang;
|
368 |
+
if ( isset($polylang) )
|
369 |
+
$this->blogpage = $polylang->get_translations('post', $blogpage);
|
370 |
+
else
|
371 |
+
$this->blogpage = array($blogpage);
|
372 |
+
} else {
|
373 |
+
$this->blogpage = array('-1');
|
374 |
+
}
|
375 |
+
}
|
376 |
|
377 |
+
return in_array($id,$this->blogpage);
|
378 |
+
|
379 |
}
|
|
|
380 |
|
381 |
/**
|
382 |
+
* TEMPLATE FUNCTIONS
|
383 |
*/
|
384 |
+
|
385 |
+
public function modified($sitemap = 'post_type', $term = '')
|
386 |
+
{
|
387 |
+
if ('post_type' == $sitemap) :
|
388 |
+
|
389 |
+
global $post;
|
390 |
+
|
391 |
+
// if blog page look for last post date
|
392 |
+
if ( $post->post_type == 'page' && $this->is_home($post->ID) )
|
393 |
+
return get_lastmodified('GMT','post');
|
394 |
+
|
395 |
+
if ( empty($this->postmodified[$post->ID]) ) {
|
396 |
+
$postmodified = get_post_modified_time( 'Y-m-d H:i:s', true, $post->ID );
|
397 |
+
$options = $this->get_option('post_types');
|
398 |
+
|
399 |
+
if( !empty($options[$post->post_type]['update_lastmod_on_comments']) )
|
400 |
+
$lastcomment = get_comments( array(
|
401 |
+
'status' => 'approve',
|
402 |
+
'number' => 1,
|
403 |
+
'post_id' => $post->ID,
|
404 |
+
) );
|
405 |
+
|
406 |
+
if ( isset($lastcomment[0]->comment_date_gmt) )
|
407 |
+
if ( mysql2date( 'U', $lastcomment[0]->comment_date_gmt ) > mysql2date( 'U', $postmodified ) )
|
408 |
+
$postmodified = $lastcomment[0]->comment_date_gmt;
|
409 |
+
|
410 |
+
$this->postmodified[$post->ID] = $postmodified;
|
411 |
+
}
|
412 |
+
|
413 |
+
return $this->postmodified[$post->ID];
|
414 |
+
|
415 |
+
elseif ( !empty($term) ) :
|
416 |
+
|
417 |
+
if ( is_object($term) ) {
|
418 |
+
if ( !isset($this->termmodified[$term->term_id]) ) {
|
419 |
+
// get the latest post in this taxonomy item, to use its post_date as lastmod
|
420 |
+
$posts = get_posts ( array(
|
421 |
+
'post_type' => 'any',
|
422 |
+
'numberposts' => 1,
|
423 |
+
'no_found_rows' => true,
|
424 |
+
'update_post_meta_cache' => false,
|
425 |
+
'update_post_term_cache' => false,
|
426 |
+
'update_cache' => false,
|
427 |
+
'tax_query' => array(
|
428 |
+
array(
|
429 |
+
'taxonomy' => $term->taxonomy,
|
430 |
+
'field' => 'slug',
|
431 |
+
'terms' => $term->slug
|
432 |
+
)
|
433 |
+
)
|
434 |
+
)
|
435 |
+
);
|
436 |
+
$this->termmodified[$term->term_id] = isset($posts[0]->post_date_gmt) ? $posts[0]->post_date_gmt : '';
|
437 |
+
}
|
438 |
+
return $this->termmodified[$term->term_id];
|
439 |
+
} else {
|
440 |
+
$obj = get_taxonomy($term);
|
441 |
+
return get_lastdate( 'gmt', $obj->object_type );
|
442 |
+
// uses get_lastdate() function defined in xml-sitemap/hacks.php !
|
443 |
+
// which is a shortcut: returns last post date, not last modified date...
|
444 |
+
// TODO find the long way around (take tax type, get all terms,
|
445 |
+
// do tax_query with all terms for one post and get its lastmod date)
|
446 |
+
}
|
447 |
|
448 |
+
else :
|
449 |
+
|
450 |
+
return '0000-00-00 00:00:00';
|
451 |
+
|
452 |
+
endif;
|
453 |
+
}
|
454 |
+
|
455 |
+
public function get_images($sitemap = '')
|
456 |
+
{
|
457 |
+
global $post;
|
458 |
+
if ( empty($this->images[$post->ID]) ) {
|
459 |
+
if ('news' == $sitemap) {
|
460 |
+
$options = $this->get_option('news_tags');
|
461 |
+
$which = isset($options['image']) ? $options['image'] : '';
|
462 |
+
} else {
|
463 |
+
$options = $this->get_option('post_types');
|
464 |
+
$which = isset($options[$post->post_type]['tags']['image']) ? $options[$post->post_type]['tags']['image'] : '';
|
465 |
+
}
|
466 |
+
if('attached' == $which) {
|
467 |
+
$args = array( 'post_type' => 'attachment', 'post_mime_type' => 'image', 'numberposts' => -1, 'post_status' =>'inherit', 'post_parent' => $post->ID );
|
468 |
+
$attachments = get_posts($args);
|
469 |
+
if ($attachments) {
|
470 |
+
foreach ( $attachments as $attachment ) {
|
471 |
+
$url = wp_get_attachment_image_src( $attachment->ID, 'full' );
|
472 |
+
$this->images[$post->ID][] = array(
|
473 |
+
'loc' => esc_url( $url[0] ),
|
474 |
+
'title' => apply_filters( 'the_title_xmlsitemap', $attachment->post_title ),
|
475 |
+
'caption' => apply_filters( 'the_title_xmlsitemap', $attachment->post_excerpt )
|
476 |
+
);
|
477 |
+
}
|
478 |
+
}
|
479 |
+
} elseif ('featured' == $which) {
|
480 |
+
if (has_post_thumbnail( $post->ID ) ) {
|
481 |
+
$attachment = get_post(get_post_thumbnail_id( $post->ID ));
|
482 |
+
$url = wp_get_attachment_image_src( $attachment->ID, 'full' );
|
483 |
+
$this->images[$post->ID][] = array(
|
484 |
+
'loc' => esc_url( $url[0] ),
|
485 |
+
'title' => apply_filters( 'the_title_xmlsitemap', $attachment->post_title ),
|
486 |
+
'caption' => apply_filters( 'the_title_xmlsitemap', $attachment->post_excerpt )
|
487 |
+
);
|
488 |
+
}
|
489 |
+
}
|
490 |
}
|
491 |
+
return ( isset($this->images[$post->ID]) ) ? $this->images[$post->ID] : false;
|
492 |
+
}
|
493 |
+
|
494 |
+
public function get_lastmod($sitemap = 'post_type', $term = '')
|
495 |
+
{
|
496 |
+
$return = trim(mysql2date('Y-m-d\TH:i:s+00:00', $this->modified($sitemap,$term), false));
|
497 |
+
return !empty($return) ? '<lastmod>'.$return.'</lastmod>' : '';
|
498 |
+
}
|
499 |
+
|
500 |
+
public function get_changefreq($sitemap = 'post_type', $term = '')
|
501 |
+
{
|
502 |
+
$modified = trim($this->modified($sitemap,$term));
|
503 |
+
|
504 |
+
if (empty($modified))
|
505 |
+
return 'weekly';
|
506 |
+
|
507 |
+
$lastactivityage = ( gmdate('U') - mysql2date( 'U', $modified ) ); // post age
|
508 |
+
|
509 |
+
if ( ($lastactivityage/86400) < 1 ) { // last activity less than 1 day old
|
510 |
+
$changefreq = 'hourly';
|
511 |
+
} else if ( ($lastactivityage/86400) < 7 ) { // last activity less than 1 week old
|
512 |
+
$changefreq = 'daily';
|
513 |
+
} else if ( ($lastactivityage/86400) < 30 ) { // last activity less than one month old
|
514 |
+
$changefreq = 'weekly';
|
515 |
+
} else if ( ($lastactivityage/86400) < 365 ) { // last activity less than 1 year old
|
516 |
+
$changefreq = 'monthly';
|
517 |
+
} else {
|
518 |
+
$changefreq = 'yearly'; // over a year old...
|
519 |
+
}
|
520 |
+
|
521 |
+
return $changefreq;
|
522 |
+
}
|
523 |
+
|
524 |
+
public function get_priority($sitemap = 'post_type', $term = '')
|
525 |
+
{
|
526 |
+
if ( 'post_type' == $sitemap ) :
|
527 |
+
global $post;
|
528 |
+
$options = $this->get_option('post_types');
|
529 |
+
$defaults = $this->defaults('post_types');
|
530 |
+
$priority_meta = get_metadata('post', $post->ID, '_xmlsf_priority' , true);
|
531 |
+
|
532 |
+
if ( !empty($priority_meta) || $priority_meta == '0' ) {
|
533 |
+
|
534 |
+
$priority = $priority_meta;
|
535 |
+
|
536 |
+
} elseif ( !empty($options[$post->post_type]['dynamic_priority']) ) {
|
537 |
+
|
538 |
+
$post_modified = mysql2date('U',$post->post_modified_gmt);
|
539 |
+
|
540 |
+
if ( empty($this->lastmodified) )
|
541 |
+
$this->lastmodified = mysql2date('U',get_lastmodified('GMT',$post->post_type));
|
542 |
+
// last posts or page modified date in Unix seconds
|
543 |
+
// uses get_lastmodified() function defined in xml-sitemap/hacks.php !
|
544 |
+
|
545 |
+
if ( empty($this->firstdate) )
|
546 |
+
$this->firstdate = mysql2date('U',get_firstdate('GMT',$post->post_type));
|
547 |
+
// uses get_firstdate() function defined in xml-sitemap/hacks.php !
|
548 |
+
|
549 |
+
if ( isset($options[$post->post_type]['priority']) )
|
550 |
+
$priority_value = $options[$post->post_type]['priority'];
|
551 |
+
else
|
552 |
+
$priority_value = $defaults[$post->post_type]['priority'];
|
553 |
+
|
554 |
+
// reduce by age
|
555 |
+
// NOTE : home/blog page gets same treatment as sticky post
|
556 |
+
if ( is_sticky($post->ID) || $this->is_home($post->ID) )
|
557 |
+
$priority = $priority_value;
|
558 |
+
else
|
559 |
+
$priority = ( $this->lastmodified > $this->firstdate ) ? $priority_value - $priority_value * ( $this->lastmodified - $post_modified ) / ( $this->lastmodified - $this->firstdate ) : $priority_value;
|
560 |
+
|
561 |
+
if ( $post->comment_count > 0 )
|
562 |
+
$priority = $priority + 0.1 + ( 0.9 - $priority ) * $post->comment_count / wp_count_comments($post->post_type)->approved;
|
563 |
+
|
564 |
+
// and a final trim for cases where we end up above 1 (sticky posts with many comments)
|
565 |
+
if ($priority > 1)
|
566 |
+
$priority = 1;
|
567 |
+
|
568 |
+
} else {
|
569 |
+
|
570 |
+
$priority = ( isset($options[$post->post_type]['priority']) && is_numeric($options[$post->post_type]['priority']) ) ? $options[$post->post_type]['priority'] : $defaults[$post->post_type]['priority'];
|
571 |
|
572 |
+
}
|
573 |
+
|
574 |
+
elseif ( ! empty($term) ) :
|
575 |
+
|
576 |
+
$max_priority = 0.4;
|
577 |
+
$min_priority = 0.0;
|
578 |
+
// TODO make these values optional
|
579 |
+
|
580 |
+
$tax_obj = get_taxonomy($term->taxonomy);
|
581 |
+
$postcount = 0;
|
582 |
+
foreach ($tax_obj->object_type as $post_type) {
|
583 |
+
$_post_count = wp_count_posts($post_type);
|
584 |
+
$postcount += $_post_count->publish;
|
585 |
+
}
|
586 |
+
|
587 |
+
$priority = ( $postcount > 0 ) ? $min_priority + ( $max_priority * $term->count / $postcount ) : $min_priority;
|
588 |
|
589 |
+
else :
|
590 |
+
|
591 |
+
$priority = 0.5;
|
592 |
+
|
593 |
+
endif;
|
594 |
+
|
595 |
+
return number_format($priority,1);
|
596 |
}
|
597 |
|
598 |
+
public function get_home_urls()
|
599 |
+
{
|
600 |
$urls = array();
|
601 |
|
602 |
global $polylang,$q_config;
|
604 |
if ( isset($polylang) )
|
605 |
foreach ($polylang->get_languages_list() as $term)
|
606 |
$urls[] = $polylang->get_home_url($term);
|
|
|
|
|
|
|
607 |
else
|
608 |
+
$urls[] = home_url();
|
609 |
|
610 |
return $urls;
|
611 |
}
|
612 |
|
613 |
+
public function get_excluded($post_type)
|
614 |
+
{
|
615 |
+
$exclude = array();
|
616 |
+
|
617 |
+
if ( $post_type == 'page' && $id = get_option('page_on_front') ) {
|
618 |
+
global $polylang;
|
619 |
+
if ( isset($polylang) )
|
620 |
+
$exclude += $polylang->get_translations('post', $id);
|
621 |
+
else
|
622 |
+
$exclude[] = $id;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
623 |
}
|
624 |
+
|
625 |
+
return $exclude;
|
626 |
}
|
627 |
|
628 |
+
public function is_allowed_domain($url)
|
629 |
+
{
|
630 |
+
$domains = $this->get_domains();
|
631 |
+
$return = false;
|
632 |
+
$parsed_url = parse_url($url);
|
633 |
+
|
634 |
+
if (isset($parsed_url['host'])) {
|
635 |
+
foreach( $domains as $domain ) {
|
636 |
+
if( $parsed_url['host'] == $domain || strpos($parsed_url['host'],".".$domain) !== false ) {
|
637 |
+
$return = true;
|
638 |
+
break;
|
639 |
+
}
|
640 |
+
}
|
641 |
+
}
|
642 |
+
|
643 |
+
return apply_filters( 'xmlsf_allowed_domain', $return );
|
644 |
+
}
|
645 |
|
646 |
+
public function get_index_url( $sitemap = 'home', $type = false, $param = false )
|
647 |
+
{
|
648 |
+
$root = esc_url( trailingslashit(home_url()) );
|
649 |
+
$name = $this->base_name.'-'.$sitemap;
|
650 |
+
|
651 |
+
if ( $type )
|
652 |
+
$name .= '-'.$type;
|
653 |
|
654 |
+
if ( '' == get_option('permalink_structure') || '1' != get_option('blog_public')) {
|
655 |
+
$name = '?feed='.$name;
|
656 |
+
$name .= $param ? '&m='.$param : '';
|
657 |
+
} else {
|
658 |
+
$name .= $param ? '.'.$param : '';
|
659 |
+
$name .= '.'.$this->extension;
|
660 |
+
}
|
661 |
+
|
662 |
+
return $root . $name;
|
663 |
}
|
664 |
+
|
665 |
|
666 |
/**
|
667 |
* ROBOTSTXT
|
668 |
*/
|
669 |
|
670 |
// add sitemap location in robots.txt generated by WP
|
671 |
+
public function robots($output)
|
672 |
+
{
|
673 |
+
echo "\n# XML Sitemap & Google News Feeds version ".XMLSF_VERSION." - http://status301.net/wordpress-plugins/xml-sitemap-feed/";
|
|
|
|
|
674 |
|
675 |
+
if ( '1' != get_option('blog_public') ) {
|
676 |
+
echo "\n# XML Sitemaps are disabled. Please see Site Visibility on Settings > Reading.";
|
677 |
+
} else {
|
678 |
+
foreach ( $this->get_sitemaps() as $pretty )
|
679 |
echo "\nSitemap: " . trailingslashit(get_bloginfo('url')) . $pretty;
|
680 |
+
|
681 |
+
if ( empty($pretty) )
|
682 |
+
echo "\n# No XML Sitemaps are enabled. Please see XML Sitemaps on Settings > Reading.";
|
683 |
+
}
|
684 |
echo "\n\n";
|
685 |
}
|
686 |
|
687 |
// add robots.txt rules
|
688 |
+
public function robots_txt($output)
|
689 |
+
{
|
690 |
+
return $output . $this->get_option('robots') ;
|
691 |
}
|
692 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
693 |
/**
|
694 |
* REWRITES
|
695 |
*/
|
701 |
* @param string $request
|
702 |
*/
|
703 |
|
704 |
+
public function trailingslash($request)
|
705 |
+
{
|
706 |
if (pathinfo($request, PATHINFO_EXTENSION)) {
|
707 |
return untrailingslashit($request);
|
708 |
}
|
715 |
* @param string $wp_rewrite
|
716 |
*/
|
717 |
|
718 |
+
public function rewrite_rules($wp_rewrite)
|
719 |
+
{
|
720 |
$xmlsf_rules = array();
|
721 |
$sitemaps = $this->get_sitemaps();
|
722 |
|
726 |
if (!empty($sitemaps['sitemap'])) {
|
727 |
// home urls
|
728 |
$xmlsf_rules[ $this->base_name . '-home\.' . $this->extension . '$' ] = $wp_rewrite->index . '?feed=sitemap-home';
|
|
|
|
|
|
|
|
|
729 |
|
730 |
// add rules for post types (can be split by month or year)
|
731 |
foreach ( $this->get_post_types() as $post_type ) {
|
732 |
+
if ( isset($post_type['active']) && '1' == $post_type['active'] )
|
733 |
+
$xmlsf_rules[ $this->base_name . '-posttype-' . $post_type['name'] . '\.([0-9]+)?\.?' . $this->extension . '$' ] = $wp_rewrite->index . '?feed=sitemap-posttype-' . $post_type['name'] . '&m=$matches[1]';
|
734 |
}
|
735 |
+
|
736 |
// add rules for taxonomies
|
737 |
foreach ( $this->get_taxonomies() as $taxonomy ) {
|
738 |
+
$xmlsf_rules[ $this->base_name . '-taxonomy-' . $taxonomy . '\.' . $this->extension . '$' ] = $wp_rewrite->index . '?feed=sitemap-taxonomy-' . $taxonomy;
|
739 |
}
|
740 |
+
|
741 |
+
$urls = $this->get_urls();
|
742 |
+
if(!empty($urls))
|
743 |
+
$xmlsf_rules[ $this->base_name . '-custom\.' . $this->extension . '$' ] = $wp_rewrite->index . '?feed=sitemap-custom';
|
744 |
+
|
745 |
}
|
746 |
|
747 |
$wp_rewrite->rules = $xmlsf_rules + $wp_rewrite->rules;
|
750 |
/**
|
751 |
* REQUEST FILTER
|
752 |
*/
|
753 |
+
public function template( $theme ) {
|
754 |
|
755 |
+
if ( isset($request['feed']) && strpos($request['feed'],'sitemap') == 0 )
|
756 |
+
// clear get_template response to prevent themes functions.php (another source of blank line problems) from loading
|
757 |
+
return '';
|
758 |
+
else
|
759 |
+
return $theme;
|
760 |
+
}
|
761 |
+
|
762 |
+
public function filter_request( $request )
|
763 |
+
{
|
764 |
if ( isset($request['feed']) && strpos($request['feed'],'sitemap') == 0 ) {
|
765 |
|
766 |
if ( $request['feed'] == 'sitemap' ) {
|
767 |
+
|
768 |
// setup actions and filters
|
769 |
add_action('do_feed_sitemap', array($this, 'load_template_index'), 10, 1);
|
770 |
|
784 |
// modify request parameters
|
785 |
$types_arr = explode(',',XMLSF_NEWS_POST_TYPE);
|
786 |
$request['post_type'] = (in_array('any',$types_arr)) ? 'any' : $types_arr;
|
787 |
+
|
788 |
+
// include post status private at some point?
|
789 |
+
// $request['post_status'] = array( 'publish', 'private' );
|
790 |
+
// for now only publish:
|
791 |
+
$request['post_status'] = 'publish';
|
792 |
+
|
793 |
$request['no_found_rows'] = true;
|
794 |
$request['update_post_meta_cache'] = false;
|
795 |
//$request['update_post_term_cache'] = false; // << TODO test: can we disable or do we need this for terms?
|
806 |
|
807 |
if ( strpos($request['feed'],'sitemap-posttype') == 0 ) {
|
808 |
foreach ( $this->get_post_types() as $post_type ) {
|
809 |
+
if ( $request['feed'] == 'sitemap-posttype-'.$post_type['name'] ) {
|
810 |
// setup actions and filters
|
811 |
+
add_action('do_feed_sitemap-posttype-'.$post_type['name'], array($this, 'load_template'), 10, 1);
|
812 |
add_filter( 'post_limits', array($this, 'filter_limits') );
|
813 |
|
814 |
// modify request parameters
|
815 |
$request['post_type'] = $post_type['name'];
|
816 |
+
$request['post_status'] = 'publish';
|
817 |
$request['orderby'] = 'modified';
|
818 |
+
$request['lang'] = '';
|
|
|
819 |
$request['no_found_rows'] = true;
|
820 |
$request['update_post_meta_cache'] = false;
|
821 |
$request['update_post_term_cache'] = false;
|
822 |
+
/*if ('attachment' == $post_type['name']) {
|
823 |
+
$request['post_status'] = 'inherit';
|
824 |
+
$request['post_mime_type'] = 'image,audio'; // ,video,audio
|
825 |
+
}*/
|
826 |
|
827 |
return $request;
|
828 |
}
|
829 |
}
|
830 |
}
|
831 |
|
832 |
+
if ( strpos($request['feed'],'sitemap-taxonomy') == 0 ) {
|
833 |
+
foreach ( $this->get_taxonomies() as $taxonomy ) {
|
834 |
+
if ( $request['feed'] == 'sitemap-taxonomy-'.$taxonomy ) {
|
835 |
+
// setup actions and filters
|
836 |
+
add_action('do_feed_sitemap-taxonomy-'.$taxonomy, array($this, 'load_template_taxonomy'), 10, 1);
|
|
|
|
|
|
|
837 |
|
838 |
+
// modify request parameters
|
839 |
+
$request['taxonomy'] = $taxonomy;
|
840 |
+
$request['lang'] = '';
|
841 |
+
$request['no_found_rows'] = true;
|
842 |
+
$request['update_post_meta_cache'] = false;
|
843 |
+
$request['update_post_term_cache'] = false;
|
844 |
+
$request['post_status'] = 'publish';
|
845 |
|
846 |
+
return $request;
|
847 |
+
}
|
848 |
+
}
|
849 |
}
|
850 |
|
851 |
+
if ( strpos($request['feed'],'sitemap-custom') == 0 ) {
|
|
|
852 |
// setup actions and filters
|
853 |
+
add_action('do_feed_sitemap-custom', array($this, 'load_template_custom'), 10, 1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
854 |
|
855 |
return $request;
|
856 |
+
}
|
857 |
|
858 |
}
|
859 |
|
865 |
*/
|
866 |
|
867 |
// set up the sitemap index template
|
868 |
+
public function load_template_index()
|
869 |
+
{
|
870 |
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap.php' );
|
871 |
}
|
872 |
|
873 |
// set up the sitemap home page(s) template
|
874 |
+
public function load_template_base()
|
875 |
+
{
|
876 |
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap-home.php' );
|
877 |
}
|
878 |
|
879 |
// set up the post types sitemap template
|
880 |
+
public function load_template()
|
881 |
+
{
|
882 |
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap-post_type.php' );
|
883 |
}
|
884 |
|
885 |
// set up the taxonomy sitemap template
|
886 |
+
public function load_template_taxonomy()
|
887 |
+
{
|
888 |
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap-taxonomy.php' );
|
889 |
}
|
890 |
|
891 |
// set up the news sitemap template
|
892 |
+
public function load_template_news()
|
893 |
+
{
|
894 |
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap-news.php' );
|
895 |
}
|
896 |
|
897 |
+
// set up the news sitemap template
|
898 |
+
public function load_template_custom()
|
899 |
+
{
|
900 |
+
load_template( XMLSF_PLUGIN_DIR . '/includes/feed-sitemap-custom.php' );
|
901 |
+
}
|
902 |
+
|
903 |
/**
|
904 |
+
* LIMITS
|
905 |
*/
|
906 |
|
907 |
// override default feed limit
|
908 |
+
public function filter_limits( $limits )
|
909 |
+
{
|
910 |
return 'LIMIT 0, 50000';
|
911 |
}
|
912 |
|
913 |
// override default feed limit for taxonomy sitemaps
|
914 |
+
public function filter_limits_taxonomy( $limits )
|
915 |
+
{
|
916 |
return 'LIMIT 0, 1';
|
917 |
}
|
918 |
|
919 |
// override default feed limit for GN
|
920 |
+
public function filter_news_limits( $limits )
|
921 |
+
{
|
922 |
return 'LIMIT 0, 1000';
|
923 |
}
|
924 |
|
925 |
// Create a new filtering function that will add a where clause to the query,
|
926 |
// used for the Google News Sitemap
|
927 |
+
public function filter_news_where( $where = '' )
|
928 |
+
{
|
929 |
// only posts from the last 2 days
|
930 |
return $where . " AND post_date > '" . date('Y-m-d H:i:s', strtotime('-49 hours')) . "'";
|
931 |
}
|
932 |
|
933 |
+
|
934 |
/**
|
935 |
+
* PINGING
|
936 |
*/
|
937 |
|
938 |
+
public function ping($uri, $timeout = 3)
|
939 |
+
{
|
940 |
+
$options = array();
|
941 |
+
$options['timeout'] = $timeout;
|
942 |
|
943 |
+
$response = wp_remote_request( $uri, $options );
|
944 |
+
|
945 |
+
if ( '200' == wp_remote_retrieve_response_code($response) )
|
946 |
+
$succes = true;
|
947 |
+
else
|
948 |
+
$succes = false;
|
949 |
+
|
950 |
+
return $succes;
|
951 |
+
}
|
952 |
+
|
953 |
+
public function do_pings($new_status, $old_status, $post)
|
954 |
+
{
|
955 |
+
// first check if we've got a post type that is included in our sitemap
|
956 |
+
foreach($this->get_option('post_types') as $post_type)
|
957 |
+
if( $post->post_type == $post_type['name'] ) {
|
958 |
+
$active = true; // got a live one, green light is on.
|
959 |
+
break;
|
960 |
+
}
|
961 |
+
if ( !isset($active) )
|
962 |
+
return;
|
963 |
|
964 |
+
if ( $old_status != 'publish' && $new_status == 'publish' ) {
|
965 |
+
// Post is published from any other status
|
966 |
+
$sitemaps = $this->get_sitemaps();
|
967 |
+
foreach ($this->get_ping() as $se => $data)
|
968 |
+
if( !empty($data['active']) && '1' == $data['active'])
|
969 |
+
foreach ( $sitemaps as $pretty )
|
970 |
+
if ( $this->ping( $data['uri'].urlencode(trailingslashit(get_bloginfo('url')) . $pretty) ) ) {
|
971 |
+
$pong = $this->get_pong();
|
972 |
+
$pong[$se][$pretty] = mysql2date('Y-m-d H:i:s', 'now', false);
|
973 |
+
update_option($this->prefix.'pong',$pong);
|
974 |
+
}
|
975 |
+
}
|
976 |
+
/*
|
977 |
+
if ( $old_status == 'publish' && $new_status == 'publish' ) {
|
978 |
+
// Post is updated
|
979 |
+
// TODO make pinging in this case optional ... later, maybe
|
980 |
+
}
|
981 |
+
*/
|
982 |
+
// see more on http://codex.wordpress.org/Post_Status_Transitions
|
983 |
+
}
|
984 |
+
|
985 |
+
/**
|
986 |
+
* DE-ACTIVATION
|
987 |
+
*/
|
988 |
+
|
989 |
+
public function clear_settings()
|
990 |
+
{
|
991 |
+
delete_option('xmlsf_version');
|
992 |
+
foreach ( $this->defaults() as $option => $settings ) {
|
993 |
+
delete_option('xmlsf_'.$option);
|
994 |
+
}
|
995 |
|
996 |
+
if(!term_exists('gn-genre') || !term_exists('gn-location-1') || !term_exists('gn-location-2') || !term_exists('gn-location-3'))
|
997 |
+
$this->register_gn_taxonomies();
|
998 |
|
999 |
+
$terms = get_terms('gn-genre',array('hide_empty' => false));
|
1000 |
+
foreach ( $terms as $term ) {
|
1001 |
+
wp_delete_term( $term->term_id, 'gn-genre' );
|
1002 |
+
}
|
1003 |
+
$terms = get_terms('gn-location-1',array('hide_empty' => false));
|
1004 |
+
foreach ( $terms as $term ) {
|
1005 |
+
wp_delete_term( $term->term_id, 'gn-genre' );
|
1006 |
+
}
|
1007 |
+
$terms = get_terms('gn-location-2',array('hide_empty' => false));
|
1008 |
+
foreach ( $terms as $term ) {
|
1009 |
+
wp_delete_term( $term->term_id, 'gn-genre' );
|
1010 |
+
}
|
1011 |
+
$terms = get_terms('gn-location-3',array('hide_empty' => false));
|
1012 |
+
foreach ( $terms as $term ) {
|
1013 |
+
wp_delete_term( $term->term_id, 'gn-genre' );
|
1014 |
+
}
|
1015 |
|
1016 |
+
remove_action('generate_rewrite_rules', array($this, 'rewrite_rules') );
|
1017 |
+
global $wp_rewrite;
|
1018 |
+
$wp_rewrite->flush_rules();
|
1019 |
+
}
|
1020 |
|
1021 |
+
/**
|
1022 |
+
* INITIALISATION
|
1023 |
+
*/
|
|
|
1024 |
|
1025 |
+
public function plugins_loaded()
|
1026 |
+
{
|
1027 |
+
// TEXT DOMAIN
|
1028 |
+
if ( is_admin() ) // text domain needed on admin only
|
1029 |
+
load_plugin_textdomain('xml-sitemap-feed', false, dirname(dirname(plugin_basename( __FILE__ ))) . '/languages' );
|
1030 |
|
1031 |
+
// UPGRADE
|
1032 |
if (get_option('xmlsf_version') != XMLSF_VERSION) {
|
1033 |
// rewrite rules not available on plugins_loaded
|
1034 |
+
// and don't flush rules from init as Polylang chokes on that
|
1035 |
// just remove the rules and let WP renew them when ready...
|
1036 |
delete_option('rewrite_rules');
|
1037 |
|
1038 |
+
// upgrade from ping to pong
|
1039 |
+
$pings = get_option($this->prefix.'pings');
|
1040 |
+
if (!empty($pings))
|
1041 |
+
update_option($this->prefix.'pong',$pings);
|
1042 |
+
|
1043 |
+
$this->yes_mother = true; // did you flush and wash your hands?
|
1044 |
|
1045 |
update_option('xmlsf_version', XMLSF_VERSION);
|
1046 |
}
|
1047 |
|
1048 |
}
|
1049 |
|
1050 |
+
private function flush_rules($hard = false)
|
1051 |
+
{
|
1052 |
+
if ($this->yes_mother) // did you flush?
|
1053 |
+
return; // yes, mother!
|
|
|
1054 |
|
1055 |
global $wp_rewrite;
|
1056 |
+
// don't need hard flush by default
|
1057 |
$wp_rewrite->flush_rules($hard);
|
1058 |
|
1059 |
$this->yes_mother = true;
|
1060 |
}
|
1061 |
|
1062 |
+
public function register_gn_taxonomies()
|
1063 |
+
{
|
1064 |
+
register_taxonomy( 'gn-genre', 'post', array(
|
1065 |
+
'hierarchical' => true,
|
1066 |
+
'labels' => array(
|
1067 |
+
'name' => __('Google News Genres','xml-sitemap-feed'),
|
1068 |
+
'singular_name' => __('Google News Genre','xml-sitemap-feed'),
|
1069 |
+
//'menu_name' => __('GN Genres','xml-sitemap-feed'),
|
1070 |
+
),
|
1071 |
+
'public' => false,
|
1072 |
+
'show_ui' => true,
|
1073 |
+
'show_tagcloud' => false,
|
1074 |
+
'query_var' => false,
|
1075 |
+
'capabilities' => array( // prevent creation / deletion
|
1076 |
+
'manage_terms' => 'nobody',
|
1077 |
+
'edit_terms' => 'nobody',
|
1078 |
+
'delete_terms' => 'nobody',
|
1079 |
+
'assign_terms' => 'edit_posts'
|
1080 |
+
)
|
1081 |
+
));
|
1082 |
+
|
1083 |
+
register_taxonomy( 'gn-location-3', 'post', array(
|
1084 |
+
'hierarchical' => false,
|
1085 |
+
'labels' => array(
|
1086 |
+
'name' => __('Google News Country','xml-sitemap-feed'),
|
1087 |
+
//'menu_name' => __('GN Genres','xml-sitemap-feed'),
|
1088 |
+
'separate_items_with_commas' => __('Only one allowed. Must be consistent with other Google News location entities (if set).','xml-sitemap-feed'),
|
1089 |
+
),
|
1090 |
+
'public' => false,
|
1091 |
+
'show_ui' => true,
|
1092 |
+
'show_tagcloud' => false,
|
1093 |
+
'query_var' => false,
|
1094 |
+
'capabilities' => array( // prevent creation / deletion
|
1095 |
+
'manage_terms' => 'nobody',
|
1096 |
+
'edit_terms' => 'nobody',
|
1097 |
+
'delete_terms' => 'nobody',
|
1098 |
+
'assign_terms' => 'edit_posts'
|
1099 |
+
)
|
1100 |
+
));
|
1101 |
+
|
1102 |
+
register_taxonomy( 'gn-location-2', 'post', array(
|
1103 |
+
'hierarchical' => false,
|
1104 |
+
'labels' => array(
|
1105 |
+
'name' => __('Google News State/Province','xml-sitemap-feed'),
|
1106 |
+
//'menu_name' => __('GN Genres','xml-sitemap-feed'),
|
1107 |
+
'separate_items_with_commas' => __('Only one allowed. Must be consistent with other Google News location entities (if set).','xml-sitemap-feed'),
|
1108 |
+
),
|
1109 |
+
'public' => false,
|
1110 |
+
'show_ui' => true,
|
1111 |
+
'show_tagcloud' => false,
|
1112 |
+
'query_var' => false,
|
1113 |
+
'capabilities' => array( // prevent creation / deletion
|
1114 |
+
'manage_terms' => 'nobody',
|
1115 |
+
'edit_terms' => 'nobody',
|
1116 |
+
'delete_terms' => 'nobody',
|
1117 |
+
'assign_terms' => 'edit_posts'
|
1118 |
+
)
|
1119 |
+
));
|
1120 |
+
|
1121 |
+
register_taxonomy( 'gn-location-1', 'post', array(
|
1122 |
+
'hierarchical' => false,
|
1123 |
+
'labels' => array(
|
1124 |
+
'name' => __('Google News City','xml-sitemap-feed'),
|
1125 |
+
//'menu_name' => __('GN Genres','xml-sitemap-feed'),
|
1126 |
+
'separate_items_with_commas' => __('Only one allowed. Must be consistent with other Google News location entities (if set).','xml-sitemap-feed'),
|
1127 |
+
),
|
1128 |
+
'public' => false,
|
1129 |
+
'show_ui' => true,
|
1130 |
+
'show_tagcloud' => false,
|
1131 |
+
'query_var' => false,
|
1132 |
+
'capabilities' => array( // prevent creation / deletion
|
1133 |
+
'manage_terms' => 'nobody',
|
1134 |
+
'edit_terms' => 'nobody',
|
1135 |
+
'delete_terms' => 'nobody',
|
1136 |
+
'assign_terms' => 'edit_posts'
|
1137 |
+
)
|
1138 |
+
));
|
1139 |
|
1140 |
+
}
|
1141 |
+
|
1142 |
+
public function register_news_taxonomy()
|
1143 |
+
{
|
1144 |
+
$sitemaps = $this->get_sitemaps();
|
|
|
1145 |
|
1146 |
+
if (isset($sitemaps['sitemap-news'])) {
|
1147 |
+
|
1148 |
+
// register the taxonomies
|
1149 |
+
$this->register_gn_taxonomies();
|
1150 |
+
|
1151 |
+
// create terms
|
1152 |
+
if (delete_transient('xmlsf_create_genres')) {
|
1153 |
+
foreach ($this->gn_genres as $slug => $name) {
|
1154 |
+
wp_insert_term( $name, 'gn-genre', array(
|
1155 |
+
'slug' => $slug,
|
1156 |
+
) );
|
1157 |
+
}
|
1158 |
+
}
|
1159 |
}
|
1160 |
+
}
|
1161 |
+
|
1162 |
+
public function admin_init()
|
1163 |
+
{
|
1164 |
+
// CATCH TRANSIENT for reset
|
1165 |
+
if (delete_transient('xmlsf_clear_settings'))
|
1166 |
+
$this->clear_settings();
|
1167 |
+
|
1168 |
+
// CATCH TRANSIENT for flushing rewrite rules after the sitemaps setting has changed
|
1169 |
+
if (delete_transient('xmlsf_flush_rewrite_rules'))
|
1170 |
+
$this->flush_rules();
|
1171 |
|
1172 |
// Include the admin class file
|
1173 |
include_once( XMLSF_PLUGIN_DIR . '/includes/admin.php' );
|
1174 |
|
1175 |
}
|
1176 |
|
1177 |
+
// for debugging
|
1178 |
+
public function _e_usage()
|
1179 |
+
{
|
1180 |
+
if (defined('WP_DEBUG') && WP_DEBUG == true) {
|
1181 |
+
echo '<!-- Queries executed '.get_num_queries();
|
1182 |
+
if(function_exists('memory_get_peak_usage'))
|
1183 |
+
echo ' | Peak memory usage '.round(memory_get_peak_usage()/1024/1024,2).'M';
|
1184 |
+
echo ' -->';
|
1185 |
+
}
|
1186 |
+
}
|
1187 |
+
|
1188 |
/**
|
1189 |
* CONSTRUCTOR
|
1190 |
*/
|
1191 |
|
1192 |
+
function __construct()
|
1193 |
+
{
|
1194 |
+
// sitemap element filters
|
1195 |
+
add_filter('the_title_xmlsitemap', 'strip_tags');
|
1196 |
+
add_filter('the_title_xmlsitemap', 'ent2ncr', 8);
|
1197 |
+
add_filter('the_title_xmlsitemap', 'esc_html');
|
1198 |
+
add_filter('bloginfo_xmlsitemap', 'ent2ncr', 8);
|
1199 |
+
|
1200 |
+
// TEMPLATE
|
1201 |
+
add_filter('template', array($this, 'template'), 0); //create_function ( string $args , string $code )
|
1202 |
|
1203 |
// REQUEST main filtering function
|
1204 |
add_filter('request', array($this, 'filter_request'), 1 );
|
1210 |
add_action('generate_rewrite_rules', array($this, 'rewrite_rules') );
|
1211 |
add_filter('user_trailingslashit', array($this, 'trailingslash') );
|
1212 |
|
1213 |
+
// TAXONOMY
|
1214 |
+
add_action('init', array($this,'register_news_taxonomy'), 0 );
|
1215 |
+
|
1216 |
// REGISTER SETTINGS, SETTINGS FIELDS, UPGRADE checks...
|
1217 |
add_action('admin_init', array($this,'admin_init'));
|
1218 |
|
1219 |
// ROBOTSTXT
|
1220 |
add_action('do_robotstxt', array($this, 'robots'), 0 );
|
1221 |
add_filter('robots_txt', array($this, 'robots_txt'), 0 );
|
1222 |
+
|
1223 |
+
// PINGING
|
1224 |
+
add_action('transition_post_status', array($this, 'do_pings'), 10, 3);
|
1225 |
|
1226 |
// DE-ACTIVATION
|
1227 |
+
register_deactivation_hook( XMLSF_PLUGIN_DIR . '/xml-sitemap.php', array($this, 'clear_settings') );
|
1228 |
}
|
1229 |
|
1230 |
}
|
includes/feed-sitemap-custom.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* XML Sitemap Feed Template for displaying an XML Sitemap feed.
|
4 |
+
*
|
5 |
+
* @package XML Sitemap Feed plugin for WordPress
|
6 |
+
*/
|
7 |
+
|
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') . '" -->
|
14 |
+
<!-- generator="XML & Google News Sitemap Feed plugin for WordPress" -->
|
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 |
+
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 |
+
// get our custom urls array
|
24 |
+
global $xmlsf;
|
25 |
+
$urls = $xmlsf->get_urls();
|
26 |
+
|
27 |
+
// and loop away!
|
28 |
+
if ( !empty($urls) ) :
|
29 |
+
foreach ( $urls as $url ) {
|
30 |
+
|
31 |
+
if (empty($url[0]))
|
32 |
+
continue;
|
33 |
+
|
34 |
+
if ( $xmlsf->is_allowed_domain( $url[0] ) ) {
|
35 |
+
?>
|
36 |
+
<url>
|
37 |
+
<loc><?php echo esc_url( $url[0] ); ?></loc>
|
38 |
+
<priority><?php echo ( isset($url[1]) && is_numeric($url[1]) ) ? $url[1] : '0.5'; ?></priority>
|
39 |
+
</url>
|
40 |
+
<?php
|
41 |
+
} else {
|
42 |
+
?>
|
43 |
+
<!-- URL <?php echo esc_url( $url[0] ); ?> skipped: Not within allowed domains. -->
|
44 |
+
<?php
|
45 |
+
}
|
46 |
+
|
47 |
+
}
|
48 |
+
endif;
|
49 |
+
?></urlset>
|
50 |
+
<?php $xmlsf->_e_usage(); ?>
|
includes/feed-sitemap-home.php
CHANGED
@@ -21,15 +21,26 @@ echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?>
|
|
21 |
';
|
22 |
|
23 |
global $xmlsf;
|
|
|
|
|
24 |
foreach ( $xmlsf->get_home_urls() as $url ) {
|
25 |
?>
|
26 |
<url>
|
27 |
<loc><?php echo esc_url( $url ); ?></loc>
|
28 |
-
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s+00:00',
|
29 |
-
<changefreq
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
<priority>1.0</priority>
|
31 |
</url>
|
32 |
<?php
|
33 |
}
|
34 |
?>
|
35 |
</urlset>
|
|
21 |
';
|
22 |
|
23 |
global $xmlsf;
|
24 |
+
$lastmodified = get_lastdate( 'gmt' ); // TODO take language into account !! Dont't use get_lastdate but pull one post for each language instead?
|
25 |
+
$lastactivityage = ( gmdate('U') - mysql2date( 'U', $lastmodified ) );
|
26 |
foreach ( $xmlsf->get_home_urls() as $url ) {
|
27 |
?>
|
28 |
<url>
|
29 |
<loc><?php echo esc_url( $url ); ?></loc>
|
30 |
+
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s+00:00', $lastmodified, false); ?></lastmod>
|
31 |
+
<changefreq><?php
|
32 |
+
if ( ($lastactivityage/86400) < 1 ) { // last activity less than 1 day old
|
33 |
+
echo 'hourly';
|
34 |
+
} else if ( ($lastactivityage/86400) < 7 ) { // last activity less than 1 week old
|
35 |
+
echo 'daily';
|
36 |
+
} else { // over a week old
|
37 |
+
echo 'weekly';
|
38 |
+
}
|
39 |
+
?></changefreq>
|
40 |
<priority>1.0</priority>
|
41 |
</url>
|
42 |
<?php
|
43 |
}
|
44 |
?>
|
45 |
</urlset>
|
46 |
+
<?php $xmlsf->_e_usage(); ?>
|
includes/feed-sitemap-news.php
CHANGED
@@ -5,6 +5,9 @@
|
|
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'), true);
|
10 |
|
@@ -15,19 +18,27 @@ echo '<?xml version="1.0" encoding="'.get_bloginfo('charset').'"?>
|
|
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 |
-
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
|
|
|
|
|
|
|
|
|
19 |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
20 |
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
21 |
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
|
22 |
http://www.google.com/schemas/sitemap-news/0.9
|
23 |
-
http://www.google.com/schemas/sitemap-news/0.9/sitemap-news.xsd
|
|
|
|
|
|
|
|
|
24 |
';
|
25 |
|
26 |
// get site language for default language
|
27 |
// bloginfo_rss('language') returns improper format so
|
28 |
// we explode on hyphen and use only first part.
|
29 |
// TODO this workaround breaks (simplified) chinese :(
|
30 |
-
$language = reset(explode('-',
|
31 |
if ( empty($language) )
|
32 |
$language = 'en';
|
33 |
|
@@ -36,84 +47,162 @@ if ( have_posts() ) :
|
|
36 |
while ( have_posts() ) :
|
37 |
the_post();
|
38 |
|
39 |
-
// check if we are not dealing with an external URL :: Thanks
|
40 |
-
if
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
$lastcomment = array();
|
45 |
-
|
46 |
-
if ($post->comment_count && $post->comment_count > 0) {
|
47 |
-
$lastcomment = get_comments( array(
|
48 |
-
'status' => 'approve',
|
49 |
-
'$number' => 1,
|
50 |
-
'post_id' => $post->ID,
|
51 |
-
) );
|
52 |
-
$lastcommentsdate = mysql2date('U',$lastcomment[0]->comment_date_gmt); // last comment timestamp
|
53 |
-
if ( $lastcommentsdate > $thispostmodified ) {
|
54 |
-
$thispostmodified = $lastcommentsdate; // replace post with comment Unix timestamp
|
55 |
-
$thispostmodified_gmt = $lastcomment[0]->comment_date_gmt; // and replace modified GMT timestamp
|
56 |
-
}
|
57 |
-
}
|
58 |
-
$lastactivityage = (gmdate('U') - $thispostmodified); // post age
|
59 |
-
|
60 |
-
// get the article keywords from categories and tags
|
61 |
-
$keys_arr = get_the_category();
|
62 |
-
if (get_the_tags())
|
63 |
-
$keys_arr = array_merge($keys_arr,get_the_tags());
|
64 |
|
65 |
?>
|
66 |
<url>
|
67 |
-
<loc><?php
|
68 |
<news:news>
|
69 |
<news:publication>
|
70 |
<news:name><?php
|
71 |
-
if(
|
72 |
-
echo apply_filters('
|
|
|
|
|
73 |
else
|
74 |
-
echo
|
75 |
<news:language><?php
|
76 |
$lang = reset(get_the_terms($post->ID,'language'));
|
77 |
echo (is_object($lang)) ? $lang->slug : $language; ?></news:language>
|
78 |
</news:publication>
|
79 |
<news:publication_date><?php
|
80 |
echo mysql2date('Y-m-d\TH:i:s+00:00', $post->post_date_gmt, false); ?></news:publication_date>
|
81 |
-
<news:title><?php
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
}
|
103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
</news:news>
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
</url>
|
114 |
<?php
|
115 |
endwhile;
|
116 |
else :
|
|
|
|
|
117 |
$lastmodified_gmt = get_lastmodified('GMT'); // last posts or page modified date
|
118 |
?>
|
119 |
<url>
|
@@ -131,13 +220,5 @@ else :
|
|
131 |
<?php
|
132 |
endif;
|
133 |
|
134 |
-
// TODO see what we can do for :
|
135 |
-
//<news:access>Subscription</news:access> (for now always leave off)
|
136 |
-
// and
|
137 |
-
//<news:genres>Blog</news:genres> (for now leave up to external taxonomy plugin to set up 'gn_genre')
|
138 |
-
// http://www.google.com/support/news_pub/bin/answer.py?answer=93992
|
139 |
-
|
140 |
-
// Submit:
|
141 |
-
// http://www.google.com/support/news_pub/bin/answer.py?hl=nl&answer=74289
|
142 |
-
|
143 |
?></urlset>
|
|
5 |
* @package XML Sitemap Feed plugin for WordPress
|
6 |
*/
|
7 |
|
8 |
+
global $xmlsf;
|
9 |
+
$options = $xmlsf->get_option('news_tags');
|
10 |
+
|
11 |
status_header('200'); // force header('HTTP/1.1 200 OK') for sites without posts
|
12 |
header('Content-Type: text/xml; charset=' . get_bloginfo('charset'), true);
|
13 |
|
18 |
<!-- generator-url="http://status301.net/wordpress-plugins/xml-sitemap-feed/" -->
|
19 |
<!-- generator-version="'.XMLSF_VERSION.'" -->
|
20 |
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
21 |
+
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" ';
|
22 |
+
|
23 |
+
echo !empty($options['image']) ? '
|
24 |
+
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" ' : '';
|
25 |
+
echo '
|
26 |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
27 |
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
28 |
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
|
29 |
http://www.google.com/schemas/sitemap-news/0.9
|
30 |
+
http://www.google.com/schemas/sitemap-news/0.9/sitemap-news.xsd' ;
|
31 |
+
echo !empty($options['image']) ? '
|
32 |
+
http://www.google.com/schemas/sitemap-image/1.1
|
33 |
+
http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd' : '';
|
34 |
+
echo '">
|
35 |
';
|
36 |
|
37 |
// get site language for default language
|
38 |
// bloginfo_rss('language') returns improper format so
|
39 |
// we explode on hyphen and use only first part.
|
40 |
// TODO this workaround breaks (simplified) chinese :(
|
41 |
+
$language = reset(explode('-', convert_chars(strip_tags(get_bloginfo('language'))) ));
|
42 |
if ( empty($language) )
|
43 |
$language = 'en';
|
44 |
|
47 |
while ( have_posts() ) :
|
48 |
the_post();
|
49 |
|
50 |
+
// check if we are not dealing with an external URL :: Thanks to Francois Deschenes :)
|
51 |
+
// or if post meta says "exclude me please"
|
52 |
+
$exclude = get_post_meta( $post->ID, '_xmlsf_exclude', true );
|
53 |
+
if ( !empty($exclude) || !$xmlsf->is_allowed_domain(get_permalink()) )
|
54 |
+
continue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
?>
|
57 |
<url>
|
58 |
+
<loc><?php echo esc_url( get_permalink() ); ?></loc>
|
59 |
<news:news>
|
60 |
<news:publication>
|
61 |
<news:name><?php
|
62 |
+
if(!empty($options['name']))
|
63 |
+
echo apply_filters( 'the_title_xmlsitemap', $options['name'] );
|
64 |
+
elseif(defined('XMLSF_GOOGLE_NEWS_NAME'))
|
65 |
+
echo apply_filters( 'the_title_xmlsitemap', XMLSF_GOOGLE_NEWS_NAME );
|
66 |
else
|
67 |
+
echo apply_filters( 'the_title_xmlsitemap', get_bloginfo('name') ); ?></news:name>
|
68 |
<news:language><?php
|
69 |
$lang = reset(get_the_terms($post->ID,'language'));
|
70 |
echo (is_object($lang)) ? $lang->slug : $language; ?></news:language>
|
71 |
</news:publication>
|
72 |
<news:publication_date><?php
|
73 |
echo mysql2date('Y-m-d\TH:i:s+00:00', $post->post_date_gmt, false); ?></news:publication_date>
|
74 |
+
<news:title><?php echo apply_filters( 'the_title_xmlsitemap', get_the_title() ); ?></news:title>
|
75 |
+
<?php
|
76 |
+
// access tag
|
77 |
+
$access = '';
|
78 |
+
if (!empty($options['access'])) {
|
79 |
+
// if ( get_post_status() == 'private' ) {
|
80 |
+
// if (!empty($options['access']['private'])) $access = $options['access']['private'];
|
81 |
+
// } else
|
82 |
+
if ( post_password_required() ) {
|
83 |
+
if (!empty($options['access']['password'])) $access = $options['access']['password'];
|
84 |
+
} else {
|
85 |
+
if (!empty($options['access']['default'])) $access = $options['access']['default'];
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
+
if (!empty($access)) {
|
90 |
+
?>
|
91 |
+
<news:access><?php echo $access; ?></news:access>
|
92 |
+
<?php
|
93 |
+
}
|
94 |
+
|
95 |
+
// genres tag
|
96 |
+
$genres = '';
|
97 |
+
$terms = get_the_terms($post->ID,'gn-genre');
|
98 |
+
if ( is_array($terms) ) {
|
99 |
+
$sep = '';
|
100 |
+
foreach($terms as $obj) {
|
101 |
+
if (!empty($obj->name)) {
|
102 |
+
$genres .= $sep . $obj->name;
|
103 |
+
$sep = ', ';
|
104 |
+
}
|
105 |
+
}
|
106 |
+
}
|
107 |
+
|
108 |
+
$genres = trim(apply_filters('the_title_xmlsitemap', $genres));
|
109 |
+
|
110 |
+
if ( empty($genres) && !empty($options['genres']) && !empty($options['genres']['default']) ) {
|
111 |
+
$genres = trim(apply_filters('the_title_xmlsitemap', $options['genres']['default']));
|
112 |
+
}
|
113 |
+
|
114 |
+
if ( !empty($genres) ) {
|
115 |
+
?>
|
116 |
+
<news:genres><?php echo $genres; ?></news:genres>
|
117 |
+
<?php
|
118 |
+
}
|
119 |
+
|
120 |
+
// keywords tag
|
121 |
+
$keywords = '';
|
122 |
+
if( !empty($options['keywords']) ) {
|
123 |
+
if ( !empty($options['keywords']['from']) ) {
|
124 |
+
$terms = get_the_terms( $post->ID, $options['keywords']['from'] );
|
125 |
+
if ( is_array($terms) ) {
|
126 |
+
$sep = '';
|
127 |
+
foreach($terms as $obj) {
|
128 |
+
if (!empty($obj->name)) {
|
129 |
+
$keywords .= $sep . $obj->name;
|
130 |
+
$sep = ', ';
|
131 |
+
}
|
132 |
+
}
|
133 |
+
}
|
134 |
+
}
|
135 |
+
|
136 |
+
$keywords = trim(apply_filters('the_title_xmlsitemap', $keywords));
|
137 |
+
|
138 |
+
if ( empty($keywords) && !empty($options['keywords']['default']) ) {
|
139 |
+
$keywords = trim(apply_filters('the_title_xmlsitemap', $options['keywords']['default']));
|
140 |
+
}
|
141 |
+
|
142 |
+
}
|
143 |
+
|
144 |
+
if ( !empty($keywords) ) {
|
145 |
+
?>
|
146 |
+
<news:keywords><?php echo $keywords; ?></news:keywords>
|
147 |
+
<?php
|
148 |
+
}
|
149 |
+
|
150 |
+
// locations tag
|
151 |
+
$locations = '';
|
152 |
+
$sep = '';
|
153 |
+
$locs = array('gn-location-1','gn-location-2','gn-location-3');
|
154 |
+
foreach ($locs as $tax) {
|
155 |
+
$terms = get_the_terms($post->ID,$tax);
|
156 |
+
if ( is_array($terms) ) {
|
157 |
+
$obj = array_shift($terms);
|
158 |
+
$term = is_object($obj) ? trim($obj->name) : '';
|
159 |
+
if ( !empty($term) ) {
|
160 |
+
$locations .= $sep . $term;
|
161 |
+
$sep = ', ';
|
162 |
+
}
|
163 |
}
|
164 |
+
}
|
165 |
+
|
166 |
+
$locations = trim(apply_filters('the_title_xmlsitemap', $locations));
|
167 |
+
|
168 |
+
if ( empty($locations) && isset($options['locations']) && !empty($options['locations']['default']) ) {
|
169 |
+
$locations = trim(apply_filters('the_title_xmlsitemap', $options['locations']['default']));
|
170 |
+
}
|
171 |
+
|
172 |
+
if ( !empty($locations) ) {
|
173 |
+
?>
|
174 |
+
<news:geo_locations><?php echo $locations; ?></news:geo_locations>
|
175 |
+
<?php
|
176 |
+
}
|
177 |
+
|
178 |
+
?>
|
179 |
</news:news>
|
180 |
+
<?php
|
181 |
+
if ( !empty($options['image']) && $xmlsf->get_images('news') ) :
|
182 |
+
foreach ( $xmlsf->get_images() as $image ) {
|
183 |
+
if ( empty($image['loc']) )
|
184 |
+
continue;
|
185 |
+
?>
|
186 |
+
<image:image>
|
187 |
+
<image:loc><?php echo $image['loc']; ?></image:loc>
|
188 |
+
<?php
|
189 |
+
if ( !empty($image['title']) )
|
190 |
+
echo "\t\t\t<image:title>{$image['title']}</image:title>\n";
|
191 |
+
|
192 |
+
if ( !empty($image['caption']) )
|
193 |
+
echo "\t\t\t<image:caption>{$image['caption']}</image:caption>\n";
|
194 |
+
?>
|
195 |
+
</image:image>
|
196 |
+
<?php
|
197 |
+
}
|
198 |
+
endif;
|
199 |
+
?>
|
200 |
</url>
|
201 |
<?php
|
202 |
endwhile;
|
203 |
else :
|
204 |
+
// TODO replace link to home with the last post even if it's older than 2 days?
|
205 |
+
|
206 |
$lastmodified_gmt = get_lastmodified('GMT'); // last posts or page modified date
|
207 |
?>
|
208 |
<url>
|
220 |
<?php
|
221 |
endif;
|
222 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
?></urlset>
|
224 |
+
<?php $xmlsf->_e_usage(); ?>
|
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 ( (array)$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,203 +15,78 @@ 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 |
-
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
echo '
|
26 |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
27 |
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
28 |
-
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
|
29 |
-
echo $
|
30 |
-
http://www.google.com/schemas/sitemap-
|
31 |
-
http://www.google.com/schemas/sitemap-
|
32 |
echo '">
|
33 |
';
|
34 |
|
35 |
-
//
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
$frontpage_priority = 1.0; // Your front page priority, usually the same as max priority but if you have any reason
|
43 |
-
// to change it, please be my guest; set to any other value between 0 and 1.
|
44 |
-
|
45 |
-
$level_weight = 0.1; // Makes a sub-page gain or loose priority for each level; set to any other value between 0 and 1.
|
46 |
-
$month_weight = -0.1; // Fall-back value normally ignored by automatic priority calculation, which
|
47 |
-
// makes a post loose 10% of priority monthly; set to any other value between 0 and 1.
|
48 |
-
$firstcomment_bonus = 0.1;
|
49 |
-
|
50 |
-
// EDITING below here is NOT ADVISED!
|
51 |
-
|
52 |
-
// setup site variables
|
53 |
-
$_post_count = wp_count_posts('post');
|
54 |
-
$_page_count = wp_count_posts('page');
|
55 |
-
$_totalcommentcount = wp_count_comments();
|
56 |
-
|
57 |
-
$lastmodified_gmt = get_lastmodified('GMT'); // last posts or page modified date
|
58 |
-
$lastmodified = mysql2date('U',$lastmodified_gmt); // last posts or page modified date in Unix seconds
|
59 |
-
$firstdate = mysql2date('U',get_firstdate('GMT')); // uses new get_firstdate() function defined in xml-sitemap/hacks.php !
|
60 |
-
|
61 |
-
// calculated presets
|
62 |
-
if ($_totalcommentcount->approved > 0) {
|
63 |
-
$average_commentcount = $_totalcommentcount->approved/($_post_count->publish + $_page_count->publish);
|
64 |
-
//$comment_weight = $average_commentcount / $_totalcommentcount->approved;
|
65 |
-
} else {
|
66 |
-
//$comment_weight = 0;
|
67 |
-
$average_commentcount = 0;
|
68 |
-
}
|
69 |
-
|
70 |
-
if ( $_post_count->publish > $_page_count->publish ) { // emphasis on posts (blog)
|
71 |
-
$blogbonus = 0.4;
|
72 |
-
$sitebonus = 0;
|
73 |
-
} elseif ( $_post_count->publish==0 ) { // only pages (you're kidding... really?? old style site)
|
74 |
-
$blogbonus = 0;
|
75 |
-
$sitebonus = 0.4;
|
76 |
-
} else { // emphasis on pages (site)
|
77 |
-
$blogbonus = 0;
|
78 |
-
$sitebonus = 0.2;
|
79 |
-
}
|
80 |
-
|
81 |
-
if ( $lastmodified > $firstdate ) // valid blog age found ?
|
82 |
-
$age_weight = ($blogbonus - $min_priority) / ($firstdate - $lastmodified); // calculate relative age weight
|
83 |
-
else
|
84 |
-
$age_weight = $month_weight / 2629744 ; // if not ? malus per month (that's a month in seconds)
|
85 |
|
86 |
-
|
87 |
-
|
88 |
-
$exclude[] = get_option('page_on_front');
|
89 |
-
if ( !empty($exclude) && function_exists('pll_get_post') )
|
90 |
-
foreach ( $xmlsf->get_languages() as $lang )
|
91 |
-
$exclude[] = pll_get_post( $exclude[0], $lang );
|
92 |
-
// TODO : find a better way to exclude all Polylang language front pages : is_front_page() in any language !
|
93 |
-
}
|
94 |
|
95 |
// loop away!
|
96 |
if ( have_posts() ) :
|
97 |
while ( have_posts() ) :
|
98 |
the_post();
|
99 |
-
|
100 |
-
// check if we are not dealing with an external URL :: Thanks to Francois Deschenes :)
|
101 |
-
// or if page is in the exclusion list (like front pages)
|
102 |
-
if ( !preg_match('/^' . preg_quote(home_url(), '/') . '/i', get_permalink()) || ( $post_type == 'page' && in_array($post->ID, $exclude) ) )
|
103 |
-
continue;
|
104 |
-
|
105 |
-
$thispostmodified_gmt = $post->post_modified_gmt; // post GMT timestamp
|
106 |
-
$thispostmodified = mysql2date('U',$thispostmodified_gmt); // post Unix timestamp
|
107 |
-
$lastcomment = array();
|
108 |
-
$priority = 0;
|
109 |
-
|
110 |
-
if ($post->comment_count && $post->comment_count > 0) {
|
111 |
-
$lastcomment = get_comments( array(
|
112 |
-
'status' => 'approve',
|
113 |
-
'$number' => 1,
|
114 |
-
'post_id' => $post->ID,
|
115 |
-
) );
|
116 |
-
$lastcommentsdate = mysql2date('U',$lastcomment[0]->comment_date_gmt); // last comment timestamp
|
117 |
-
if ( $lastcommentsdate > $thispostmodified ) {
|
118 |
-
$thispostmodified = $lastcommentsdate; // replace post with comment Unix timestamp
|
119 |
-
$thispostmodified_gmt = $lastcomment[0]->comment_date_gmt; // and replace modified GMT timestamp
|
120 |
-
}
|
121 |
-
|
122 |
-
if ($_totalcommentcount->approved > 0)
|
123 |
-
$priority = ( $post->comment_count / ( ( $_totalcommentcount->approved / 2 ) - $average_commentcount ) ) + $firstcomment_bonus;
|
124 |
-
else
|
125 |
-
$priority = ( $min_priority + $max_priority ) / 2 ;
|
126 |
-
|
127 |
-
}
|
128 |
-
|
129 |
-
if($post->post_type == "page") {
|
130 |
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
$page_obj = get_page($page_obj->post_parent);
|
138 |
-
$ancestors[] = $page_obj->ID;
|
139 |
-
}
|
140 |
-
} else {
|
141 |
-
$ancestors = $post->ancestors;
|
142 |
-
}
|
143 |
-
|
144 |
-
$priority += (count($ancestors) * $level_weight) + $sitebonus;
|
145 |
-
} else {
|
146 |
-
if(is_sticky($post->ID))
|
147 |
-
$priority = $max_priority;
|
148 |
-
else
|
149 |
-
$priority += (($lastmodified - $thispostmodified) * $age_weight) + $blogbonus;
|
150 |
-
}
|
151 |
-
|
152 |
|
153 |
-
|
154 |
-
|
155 |
-
// trim priority
|
156 |
-
$priority = ($priority > $max_priority) ? $max_priority : $priority;
|
157 |
-
$priority = ($priority < $min_priority) ? $min_priority : $priority;
|
158 |
-
?>
|
159 |
<url>
|
160 |
-
<loc><?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
<?php
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
$lang = reset(get_the_terms($post->ID,'language'));
|
170 |
-
// bloginfo_rss('language') returns improper format
|
171 |
-
// so using explode but that breaks chinese :°(
|
172 |
-
echo ( is_object($lang) ) ? $lang->slug : reset(explode('-', get_bloginfo_rss('language'))); ?></news:language>
|
173 |
-
</news:publication>
|
174 |
-
<news:publication_date><?php
|
175 |
-
echo mysql2date('Y-m-d\TH:i:s+00:00', $post->post_date_gmt, false); ?></news:publication_date>
|
176 |
-
<news:title><?php the_title_rss() ?></news:title>
|
177 |
-
<news:keywords><?php
|
178 |
-
$do_comma = false;
|
179 |
-
$keys_arr = get_the_category();
|
180 |
-
foreach($keys_arr as $key) {
|
181 |
-
echo ( $do_comma ) ? ', ' : '' ;
|
182 |
-
echo apply_filters('the_title_rss', $key->name);
|
183 |
-
$do_comma = true;
|
184 |
-
} ?></news:keywords>
|
185 |
<?php
|
186 |
-
// TODO: create the new taxonomy "Google News Genre" with some genres preset
|
187 |
-
if ( taxonomy_exists('gn_genre') && get_the_terms($post->ID,'gn_genre') ) {
|
188 |
-
?>
|
189 |
-
<news:genres><?php
|
190 |
-
$do_comma = false;
|
191 |
-
foreach(get_the_terms($post->ID,'gn_genre') as $key) {
|
192 |
-
echo ( $do_comma ) ? ', ' : '' ;
|
193 |
-
echo apply_filters('the_title_rss', $key->name);
|
194 |
-
$do_comma = true;
|
195 |
-
} ?></news:genres>
|
196 |
-
<?php
|
197 |
}
|
|
|
198 |
?>
|
199 |
-
</news:news>
|
200 |
-
<?php
|
201 |
-
// and lastly, set the priority to news priority level
|
202 |
-
$priority = $max_priority;
|
203 |
-
} ?>
|
204 |
-
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s+00:00', $thispostmodified_gmt, false); ?></lastmod>
|
205 |
-
<changefreq><?php
|
206 |
-
if(($lastactivityage/86400) < 1) { // last activity less than 1 day old
|
207 |
-
echo 'hourly';
|
208 |
-
} else if(($lastactivityage/86400) < 7) { // last activity less than 1 week old
|
209 |
-
echo 'daily';
|
210 |
-
} else if(($lastactivityage/86400) < 30) { // last activity between 1 week and one month old
|
211 |
-
echo 'weekly';
|
212 |
-
} else if(($lastactivityage/86400) < 365) { // last activity between 1 month and 1 year old
|
213 |
-
echo 'monthly';
|
214 |
-
} else {
|
215 |
-
echo 'yearly'; // never
|
216 |
-
} ?></changefreq>
|
217 |
-
<priority><?php echo number_format($priority,1) ?></priority>
|
218 |
</url>
|
219 |
<?php
|
220 |
endwhile;
|
221 |
endif;
|
222 |
?></urlset>
|
|
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($image) ? '
|
26 |
+
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" ' : '';
|
27 |
echo '
|
28 |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
29 |
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
30 |
+
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd';
|
31 |
+
echo !empty($image) ? '
|
32 |
+
http://www.google.com/schemas/sitemap-image/1.1
|
33 |
+
http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd' : '';
|
34 |
echo '">
|
35 |
';
|
36 |
|
37 |
+
// get site language for default language
|
38 |
+
// bloginfo_rss('language') returns improper format so
|
39 |
+
// we explode on hyphen and use only first part.
|
40 |
+
// TODO this workaround breaks (simplified) chinese :(
|
41 |
+
$language = reset(explode('-', convert_chars(strip_tags(get_bloginfo('language'))) ));
|
42 |
+
if ( empty($language) )
|
43 |
+
$language = 'en';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
|
45 |
+
// any ID's we need to exclude?
|
46 |
+
$excluded = $xmlsf->get_excluded($post_type);
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
// loop away!
|
49 |
if ( have_posts() ) :
|
50 |
while ( have_posts() ) :
|
51 |
the_post();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
+
// check if page is in the exclusion list (like front page)
|
54 |
+
// or if we are not dealing with an external URL :: Thanks to Francois Deschenes :)
|
55 |
+
// or if post meta says "exclude me please"
|
56 |
+
$exclude = get_post_meta( $post->ID, '_xmlsf_exclude', true );
|
57 |
+
if ( !empty($exclude) || !$xmlsf->is_allowed_domain(get_permalink()) || in_array($post->ID, $excluded) )
|
58 |
+
continue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
+
// TODO more image tags & video tags
|
61 |
+
?>
|
|
|
|
|
|
|
|
|
62 |
<url>
|
63 |
+
<loc><?php echo esc_url( get_permalink() ); ?></loc>
|
64 |
+
<?php echo $xmlsf->get_lastmod(); ?>
|
65 |
+
<changefreq><?php echo $xmlsf->get_changefreq(); ?></changefreq>
|
66 |
+
<priority><?php echo $xmlsf->get_priority(); ?></priority>
|
67 |
+
<?php
|
68 |
+
if ( !empty($image) && $xmlsf->get_images() ) :
|
69 |
+
foreach ( $xmlsf->get_images() as $image ) {
|
70 |
+
if ( empty($image['loc']) )
|
71 |
+
continue;
|
72 |
+
?>
|
73 |
+
<image:image>
|
74 |
+
<image:loc><?php echo $image['loc']; ?></image:loc>
|
75 |
<?php
|
76 |
+
if ( !empty($image['title']) )
|
77 |
+
echo "\t\t\t<image:title>{$image['title']}</image:title>\n";
|
78 |
+
|
79 |
+
if ( !empty($image['caption']) )
|
80 |
+
echo "\t\t\t<image:caption>{$image['caption']}</image:caption>\n";
|
81 |
+
?>
|
82 |
+
</image:image>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
}
|
85 |
+
endif;
|
86 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
</url>
|
88 |
<?php
|
89 |
endwhile;
|
90 |
endif;
|
91 |
?></urlset>
|
92 |
+
<?php $xmlsf->_e_usage(); ?>
|
includes/feed-sitemap-taxonomy.php
CHANGED
@@ -6,7 +6,6 @@
|
|
6 |
*/
|
7 |
|
8 |
status_header('200'); // force header('HTTP/1.1 200 OK') for sites without posts
|
9 |
-
// TODO test if we can do without it
|
10 |
header('Content-Type: text/xml; charset=' . get_bloginfo('charset', 'UTF-8'), true);
|
11 |
|
12 |
echo '<?xml version="1.0" encoding="'.get_bloginfo('charset', 'UTF-8').'"?>
|
@@ -15,39 +14,16 @@ echo '<?xml version="1.0" encoding="'.get_bloginfo('charset', 'UTF-8').'"?>
|
|
15 |
<!-- generator="XML & Google News Sitemap Feed plugin for WordPress" -->
|
16 |
<!-- generator-url="http://status310.net/wordpress-plugins/xml-sitemap-feed/" -->
|
17 |
<!-- generator-version="'.XMLSF_VERSION.'" -->
|
18 |
-
|
19 |
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
20 |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
21 |
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
22 |
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
23 |
';
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
$max_priority = 0.7; // Maximum priority value for any URL in the sitemap; set to any other value between 0 and 1.
|
28 |
-
$min_priority = 0.2; // Minimum priority value for any URL in the sitemap; set to any other value between 0 and 1.
|
29 |
-
// NOTE: Changing these values will influence each URL's priority. Priority values are taken by
|
30 |
-
// search engines to represent RELATIVE priority within the site domain. Forcing all URLs
|
31 |
-
// to a priority of above 0.5 or even fixing them all to 1.0 - for example - is useless.
|
32 |
-
|
33 |
-
$level_weight = 0.1; // TODO Makes a sub-term gain or loose priority for each level; set to any other value between 0 and 1.
|
34 |
|
35 |
$taxonomy = get_query_var('taxonomy');
|
36 |
$lang = get_query_var('lang');
|
37 |
-
echo "<!-- taxonomy: $taxonomy -->";
|
38 |
-
$tax_obj = get_taxonomy($taxonomy);
|
39 |
-
foreach ( $tax_obj->object_type as $post_type) {
|
40 |
-
echo "<!-- taxonomy post type: $post_type -->
|
41 |
-
";
|
42 |
-
$_post_count = wp_count_posts($post_type);
|
43 |
-
$postcount += $_post_count->publish;
|
44 |
-
}
|
45 |
-
|
46 |
-
//$_terms_count = wp_count_terms(get_query_var('taxonomy'));
|
47 |
-
//$average_count = $_post_count->publish / $_terms_count;
|
48 |
-
|
49 |
-
// Polylang solution on http://wordpress.org/support/topic/query-all-language-terms?replies=6#post-3415389
|
50 |
-
//global $xmlsf;
|
51 |
|
52 |
$terms = get_terms( $taxonomy, array(
|
53 |
'orderby' => 'count',
|
@@ -61,55 +37,16 @@ if ( $terms ) :
|
|
61 |
|
62 |
foreach ( $terms as $term ) :
|
63 |
|
64 |
-
// calculate priority based on number of posts
|
65 |
-
// or maybe take child taxonomy terms into account.?
|
66 |
-
|
67 |
-
$priority = $min_priority + ( $term->count / ( $postcount / 2 ) );
|
68 |
-
$priority = ($priority > $max_priority) ? $max_priority : $priority;
|
69 |
-
|
70 |
-
// get the latest post in this taxonomy item, to use its post_date as lastmod
|
71 |
-
$posts = get_posts ( array(
|
72 |
-
'numberposts' => 1,
|
73 |
-
'no_found_rows' => true,
|
74 |
-
'update_post_meta_cache' => false,
|
75 |
-
'update_post_term_cache' => false,
|
76 |
-
'update_cache' => false,
|
77 |
-
'tax_query' => array(
|
78 |
-
array(
|
79 |
-
'taxonomy' => $term->taxonomy,
|
80 |
-
'field' => 'slug',
|
81 |
-
'terms' => $term->slug
|
82 |
-
)
|
83 |
-
)
|
84 |
-
)
|
85 |
-
);
|
86 |
?>
|
87 |
<url>
|
88 |
<loc><?php echo get_term_link( $term ); ?></loc>
|
89 |
-
<priority><?php echo
|
90 |
-
|
91 |
-
<changefreq><?php
|
92 |
-
$lastactivityage = (gmdate('U') - mysql2date('U', $posts[0]->post_date_gmt));
|
93 |
-
if(($lastactivityage/86400) < 1) { // last activity less than 1 day old
|
94 |
-
echo 'hourly';
|
95 |
-
} else if(($lastactivityage/86400) < 7) { // last activity less than 1 week old
|
96 |
-
echo 'daily';
|
97 |
-
} else if(($lastactivityage/86400) < 30) { // last activity between 1 week and one month old
|
98 |
-
echo 'weekly';
|
99 |
-
} else if(($lastactivityage/86400) < 365) { // last activity between 1 month and 1 year old
|
100 |
-
echo 'monthly';
|
101 |
-
} else {
|
102 |
-
echo 'yearly';
|
103 |
-
} ?></changefreq>
|
104 |
</url>
|
105 |
<?php
|
106 |
endforeach;
|
107 |
-
else :
|
108 |
-
?>
|
109 |
-
<url>
|
110 |
-
<loc><?php echo esc_url( trailingslashit(home_url()) ); ?></loc>
|
111 |
-
</url>
|
112 |
-
<?php
|
113 |
endif;
|
114 |
|
115 |
?></urlset>
|
|
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 |
+
<?php echo $xmlsf->get_lastmod('taxonomy',$term); ?>
|
45 |
+
<changefreq><?php echo $xmlsf->get_changefreq('taxonomy',$term); ?></changefreq>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
</url>
|
47 |
<?php
|
48 |
endforeach;
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
endif;
|
50 |
|
51 |
?></urlset>
|
52 |
+
<?php $xmlsf->_e_usage(); ?>
|
includes/feed-sitemap.php
CHANGED
@@ -21,67 +21,49 @@ echo '<?xml version="1.0" encoding="'.get_bloginfo('charset').'"?><?xml-styleshe
|
|
21 |
|
22 |
global $xmlsf;
|
23 |
?>
|
24 |
-
<!-- home page(s) -->
|
25 |
<sitemap>
|
26 |
-
<loc><?php
|
27 |
-
|
28 |
-
$url = apply_filters( 'xml_sitemap_url', trailingslashit(home_url()) );
|
29 |
-
if ( is_string($url) )
|
30 |
-
echo esc_url( $url );
|
31 |
-
else
|
32 |
-
echo esc_url( trailingslashit(home_url()) );
|
33 |
-
if (''==get_option('permalink_structure'))
|
34 |
-
echo '?feed='.$xmlsf->base_name.'-home';
|
35 |
-
else
|
36 |
-
echo $xmlsf->base_name.'-home.'.$xmlsf->extension; ?></loc>
|
37 |
</sitemap>
|
38 |
-
<!-- post types -->
|
39 |
<?php
|
40 |
// add rules for custom public post types
|
41 |
-
foreach ( $xmlsf->
|
42 |
-
|
43 |
-
if (
|
|
|
|
|
|
|
|
|
44 |
?>
|
45 |
<sitemap>
|
46 |
-
<loc><?php
|
47 |
-
|
48 |
-
$url = apply_filters( 'xml_sitemap_url', trailingslashit(home_url()) );
|
49 |
-
if ( is_string($url) )
|
50 |
-
echo esc_url( $url );
|
51 |
-
else
|
52 |
-
echo esc_url( trailingslashit(home_url()) );
|
53 |
-
if (''==get_option('permalink_structure'))
|
54 |
-
echo '?feed='.$xmlsf->base_name.'-posttype_'.$post_type['name'];
|
55 |
-
else
|
56 |
-
echo $xmlsf->base_name.'-posttype-'.$post_type['name'].'.'.$xmlsf->extension; ?></loc>
|
57 |
-
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s+00:00', get_lastdate( 'gmt', $post_type['name'] ), false); ?></lastmod>
|
58 |
</sitemap>
|
59 |
<?php
|
60 |
}
|
61 |
-
|
62 |
-
|
63 |
-
<!-- taxonomy types -->
|
64 |
-
<?php
|
65 |
// add rules for custom public post taxonomies
|
66 |
-
foreach ( $xmlsf->get_taxonomies() as $taxonomy )
|
67 |
-
|
|
|
68 |
?>
|
69 |
<sitemap>
|
70 |
-
<loc><?php
|
71 |
-
|
72 |
-
$url = apply_filters( 'xml_sitemap_url', trailingslashit(home_url()) );
|
73 |
-
if ( is_string($url) )
|
74 |
-
echo esc_url( $url );
|
75 |
-
else
|
76 |
-
echo esc_url( trailingslashit(home_url()) );
|
77 |
-
if (''==get_option('permalink_structure'))
|
78 |
-
echo '?feed='.$xmlsf->base_name.'-taxonomy&taxonomy='.$taxonomy;
|
79 |
-
else
|
80 |
-
echo $xmlsf->base_name.'-taxonomy-'.$taxonomy.'.'.$xmlsf->extension; ?></loc>
|
81 |
</sitemap>
|
82 |
<?php
|
83 |
-
// TODO add lastmod ?
|
84 |
}
|
85 |
-
|
86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
?></sitemapindex>
|
|
21 |
|
22 |
global $xmlsf;
|
23 |
?>
|
|
|
24 |
<sitemap>
|
25 |
+
<loc><?php echo $xmlsf->get_index_url('home'); ?></loc>
|
26 |
+
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s+00:00', get_lastdate( 'gmt' ), false); ?></lastmod>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
</sitemap>
|
|
|
28 |
<?php
|
29 |
// add rules for custom public post types
|
30 |
+
foreach ( $xmlsf->have_post_types() as $post_type ) :
|
31 |
+
|
32 |
+
if (!empty($post_type['archive']))
|
33 |
+
$archive = $post_type['archive'];
|
34 |
+
else
|
35 |
+
$archive = '';
|
36 |
+
foreach ( $xmlsf->get_archives($post_type['name'],$archive) as $m => $url ) {
|
37 |
?>
|
38 |
<sitemap>
|
39 |
+
<loc><?php echo $url; ?></loc>
|
40 |
+
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s+00:00', get_lastmodified( 'gmt', $post_type['name'], $m ), false); ?></lastmod>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
</sitemap>
|
42 |
<?php
|
43 |
}
|
44 |
+
endforeach;
|
45 |
+
|
|
|
|
|
46 |
// add rules for custom public post taxonomies
|
47 |
+
foreach ( $xmlsf->get_taxonomies() as $taxonomy ) :
|
48 |
+
|
49 |
+
if ( wp_count_terms( $taxonomy, array('hide_empty'=>true) ) > 0 ) {
|
50 |
?>
|
51 |
<sitemap>
|
52 |
+
<loc><?php echo $xmlsf->get_index_url('taxonomy',$taxonomy); ?></loc>
|
53 |
+
<?php echo $xmlsf->get_lastmod('taxonomy',$taxonomy); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
</sitemap>
|
55 |
<?php
|
|
|
56 |
}
|
57 |
+
endforeach;
|
58 |
|
59 |
+
// custom URLs sitemap
|
60 |
+
$urls = $xmlsf->get_urls();
|
61 |
+
if ( !empty($urls) ) :
|
62 |
+
?>
|
63 |
+
<sitemap>
|
64 |
+
<loc><?php echo $xmlsf->get_index_url('custom'); ?></loc>
|
65 |
+
</sitemap>
|
66 |
+
<?php
|
67 |
+
endif;
|
68 |
?></sitemapindex>
|
69 |
+
<?php $xmlsf->_e_usage(); ?>
|
includes/xsl/sitemap-index.xsl.php
CHANGED
@@ -27,7 +27,7 @@ echo '<?xml version="1.0" encoding="UTF-8"?>
|
|
27 |
</div>
|
28 |
<div id="content">
|
29 |
<table cellpadding="5">
|
30 |
-
<tr
|
31 |
<th>#</th>
|
32 |
<th>XML Sitemap</th>
|
33 |
<th>Last Changed</th>
|
27 |
</div>
|
28 |
<div id="content">
|
29 |
<table cellpadding="5">
|
30 |
+
<tr class="high">
|
31 |
<th>#</th>
|
32 |
<th>XML Sitemap</th>
|
33 |
<th>Last Changed</th>
|
includes/xsl/sitemap-news.xsl.php
CHANGED
@@ -5,12 +5,12 @@
|
|
5 |
|
6 |
header('Content-Type: text/xsl; charset=utf-8', true);
|
7 |
|
8 |
-
echo '<?xml version="1.0" encoding="UTF-8"?>
|
9 |
-
'; ?>
|
10 |
<xsl:stylesheet version="2.0"
|
11 |
xmlns:html="http://www.w3.org/TR/REC-html40"
|
12 |
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
|
13 |
-
|
|
|
14 |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
15 |
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
|
16 |
<xsl:template match="/">
|
@@ -27,9 +27,15 @@ echo '<?xml version="1.0" encoding="UTF-8"?>
|
|
27 |
</div>
|
28 |
<div id="content">
|
29 |
<table cellpadding="5">
|
30 |
-
<tr
|
31 |
<th>#</th>
|
32 |
-
<th>
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
</tr>
|
34 |
<xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/>
|
35 |
<xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
|
@@ -37,8 +43,14 @@ echo '<?xml version="1.0" encoding="UTF-8"?>
|
|
37 |
<tr><xsl:if test="position() mod 2 != 1"><xsl:attribute name="class">high</xsl:attribute></xsl:if>
|
38 |
<td><xsl:value-of select="position()"/></td>
|
39 |
<td><xsl:variable name="itemURL"><xsl:value-of select="sitemap:loc"/></xsl:variable>
|
40 |
-
<a href="{$itemURL}"><xsl:value-of select="
|
41 |
</td>
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
</tr>
|
43 |
</xsl:for-each>
|
44 |
</table>
|
5 |
|
6 |
header('Content-Type: text/xsl; charset=utf-8', true);
|
7 |
|
8 |
+
echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
|
|
|
9 |
<xsl:stylesheet version="2.0"
|
10 |
xmlns:html="http://www.w3.org/TR/REC-html40"
|
11 |
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
|
12 |
+
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
|
13 |
+
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
|
14 |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
15 |
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
|
16 |
<xsl:template match="/">
|
27 |
</div>
|
28 |
<div id="content">
|
29 |
<table cellpadding="5">
|
30 |
+
<tr class="high">
|
31 |
<th>#</th>
|
32 |
+
<th>Title</th>
|
33 |
+
<th>Language</th>
|
34 |
+
<th>Genre(s)</th>
|
35 |
+
<th>Keyword(s)</th>
|
36 |
+
<th># Images</th>
|
37 |
+
<th>Location</th>
|
38 |
+
<th>Publication Date</th>
|
39 |
</tr>
|
40 |
<xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/>
|
41 |
<xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
|
43 |
<tr><xsl:if test="position() mod 2 != 1"><xsl:attribute name="class">high</xsl:attribute></xsl:if>
|
44 |
<td><xsl:value-of select="position()"/></td>
|
45 |
<td><xsl:variable name="itemURL"><xsl:value-of select="sitemap:loc"/></xsl:variable>
|
46 |
+
<a href="{$itemURL}"><xsl:value-of select="news:news/news:title"/></a>
|
47 |
</td>
|
48 |
+
<td><xsl:value-of select="news:news/news:publication/news:language"/></td>
|
49 |
+
<td><xsl:value-of select="news:news/news:genres"/></td>
|
50 |
+
<td><xsl:value-of select="news:news/news:keywords"/></td>
|
51 |
+
<td><xsl:value-of select="count(image:image)"/></td>
|
52 |
+
<td><xsl:value-of select="news:news/news:geo_locations"/></td>
|
53 |
+
<td><xsl:value-of select="concat(substring(news:news/news:publication_date,0,11),concat(' ', substring(news:news/news:publication_date,12,5)))"/></td>
|
54 |
</tr>
|
55 |
</xsl:for-each>
|
56 |
</table>
|
includes/xsl/sitemap.xsl.php
CHANGED
@@ -9,6 +9,7 @@ echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
|
|
9 |
<xsl:stylesheet version="2.0"
|
10 |
xmlns:html="http://www.w3.org/TR/REC-html40"
|
11 |
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
|
|
|
12 |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
13 |
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
|
14 |
<xsl:template match="/">
|
@@ -25,9 +26,10 @@ echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
|
|
25 |
</div>
|
26 |
<div id="content">
|
27 |
<table cellpadding="5">
|
28 |
-
<tr
|
29 |
<th>#</th>
|
30 |
<th>URL</th>
|
|
|
31 |
<th>Priority</th>
|
32 |
<th>Change Frequency</th>
|
33 |
<th>Last Changed</th>
|
@@ -38,6 +40,7 @@ echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
|
|
38 |
<tr><xsl:if test="position() mod 2 != 1"><xsl:attribute name="class">high</xsl:attribute></xsl:if>
|
39 |
<td><xsl:value-of select="position()"/></td>
|
40 |
<td><xsl:variable name="itemURL"><xsl:value-of select="sitemap:loc"/></xsl:variable><a href="{$itemURL}"><xsl:value-of select="sitemap:loc"/></a></td>
|
|
|
41 |
<td><xsl:value-of select="concat(sitemap:priority*100,'%')"/></td>
|
42 |
<td><xsl:value-of select="concat(translate(substring(sitemap:changefreq, 1, 1),concat($lower, $upper),concat($upper, $lower)),substring(sitemap:changefreq, 2))"/></td>
|
43 |
<td><xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))"/></td>
|
9 |
<xsl:stylesheet version="2.0"
|
10 |
xmlns:html="http://www.w3.org/TR/REC-html40"
|
11 |
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
|
12 |
+
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
|
13 |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
14 |
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
|
15 |
<xsl:template match="/">
|
26 |
</div>
|
27 |
<div id="content">
|
28 |
<table cellpadding="5">
|
29 |
+
<tr class="high">
|
30 |
<th>#</th>
|
31 |
<th>URL</th>
|
32 |
+
<th># Images</th>
|
33 |
<th>Priority</th>
|
34 |
<th>Change Frequency</th>
|
35 |
<th>Last Changed</th>
|
40 |
<tr><xsl:if test="position() mod 2 != 1"><xsl:attribute name="class">high</xsl:attribute></xsl:if>
|
41 |
<td><xsl:value-of select="position()"/></td>
|
42 |
<td><xsl:variable name="itemURL"><xsl:value-of select="sitemap:loc"/></xsl:variable><a href="{$itemURL}"><xsl:value-of select="sitemap:loc"/></a></td>
|
43 |
+
<td><xsl:value-of select="count(image:image)"/></td>
|
44 |
<td><xsl:value-of select="concat(sitemap:priority*100,'%')"/></td>
|
45 |
<td><xsl:value-of select="concat(translate(substring(sitemap:changefreq, 1, 1),concat($lower, $upper),concat($upper, $lower)),substring(sitemap:changefreq, 2))"/></td>
|
46 |
<td><xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))"/></td>
|
languages/instructions.txt
CHANGED
@@ -4,20 +4,24 @@
|
|
4 |
|
5 |
1. Install PoEdit on your computer.
|
6 |
|
7 |
-
2.
|
8 |
|
9 |
-
3.
|
10 |
|
11 |
-
4.
|
12 |
|
13 |
-
5. Go to
|
14 |
|
15 |
-
6.
|
16 |
|
17 |
-
7.
|
18 |
|
19 |
-
8.
|
20 |
|
21 |
-
9.
|
|
|
|
|
|
|
|
|
22 |
|
23 |
Thanks for sharing your translation :)
|
4 |
|
5 |
1. Install PoEdit on your computer.
|
6 |
|
7 |
+
2. Go to this plugins /languages/ directory.
|
8 |
|
9 |
+
3. If there is no .po file that corresponds with your language yet, rename the template translation database xml-sitemap-feed-xx_XX.po by replacing the xx with your language code and XX with your country code.
|
10 |
|
11 |
+
4. Open the .po file of your language with PoEdit.
|
12 |
|
13 |
+
5. Go to Edit > Preferences and on the tab Editor check the option to compile a .mo database on save automatically. Close with OK.
|
14 |
|
15 |
+
6. Go to Catalog > Settings and set your name, e-mail address, language and country. Close with OK.
|
16 |
|
17 |
+
7. Go to Catalog > Update from POT-file and select the main xml-sitemap-feed.pot file. Then accept all new and removed translation strings with OK.
|
18 |
|
19 |
+
8. Now go ahead and start translating all the texts listed in PoEdit.
|
20 |
|
21 |
+
9. When done, go to File > Save to Save.
|
22 |
+
|
23 |
+
10. Upload the automatically created xml-sitemap-feed-xx_XX.mo database file (where xx_XX should now be your language and country code) to the plugins /languages/ directory on your WordPress site.
|
24 |
+
|
25 |
+
11. After verifying the translations work on your site, send the .mo file and, if you're willing to share it, your original .po file to ravanhagen@gmail.com and don't forget to tell me how and with what link you would like to be mentioned in the credits!
|
26 |
|
27 |
Thanks for sharing your translation :)
|
languages/xml-sitemap-feed-es_ES.mo
ADDED
Binary file
|
languages/xml-sitemap-feed-es_ES.po
ADDED
@@ -0,0 +1,528 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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-09-01 16:38+0100\n"
|
6 |
+
"PO-Revision-Date: 2013-11-29 11:45+0100\n"
|
7 |
+
"Last-Translator: jelena kovacevic <jecajeca260@gmail.com>\n"
|
8 |
+
"Language-Team: \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-SourceCharset: UTF-8\n"
|
14 |
+
"X-Generator: Poedit 1.5.5\n"
|
15 |
+
|
16 |
+
#: ../includes/admin.php:19
|
17 |
+
msgid "XML Sitemaps"
|
18 |
+
msgstr "Mapas de Sitios XML"
|
19 |
+
|
20 |
+
#: ../includes/admin.php:20
|
21 |
+
msgid "XML Sitemap Index"
|
22 |
+
msgstr "Índice de Mapas de Sitios XML"
|
23 |
+
|
24 |
+
#: ../includes/admin.php:25 ../includes/admin.php:820
|
25 |
+
msgid "Google News Sitemap"
|
26 |
+
msgstr "Mapa de Sitio Noticias Google"
|
27 |
+
|
28 |
+
#: ../includes/admin.php:69
|
29 |
+
msgid "Google"
|
30 |
+
msgstr "Google"
|
31 |
+
|
32 |
+
#: ../includes/admin.php:72
|
33 |
+
msgid "Bing & Yahoo"
|
34 |
+
msgstr "Bing & Yahoo"
|
35 |
+
|
36 |
+
#: ../includes/admin.php:75
|
37 |
+
msgid "Yandex"
|
38 |
+
msgstr "Yandex"
|
39 |
+
|
40 |
+
#: ../includes/admin.php:78
|
41 |
+
msgid "Baidu"
|
42 |
+
msgstr "Baidu"
|
43 |
+
|
44 |
+
#: ../includes/admin.php:81
|
45 |
+
msgid "Ping-O-Matic"
|
46 |
+
msgstr "Ping-O-Matic"
|
47 |
+
|
48 |
+
#: ../includes/admin.php:89 ../includes/admin.php:778
|
49 |
+
msgid "Ping on Publish"
|
50 |
+
msgstr "Ping on Publish"
|
51 |
+
|
52 |
+
#: ../includes/admin.php:113
|
53 |
+
#, php-format
|
54 |
+
msgid "Successfully pinged for %1$s on %2$s GMT."
|
55 |
+
msgstr "Pinged exitosamente para %1$s en %2$s GMT."
|
56 |
+
|
57 |
+
#: ../includes/admin.php:123
|
58 |
+
#, php-format
|
59 |
+
msgid "Rules to append to the %s generated by WordPress."
|
60 |
+
msgstr "Reglas para anexar a los %s generados por WordPress"
|
61 |
+
|
62 |
+
#: ../includes/admin.php:124
|
63 |
+
msgid ""
|
64 |
+
"Only add rules here when you know what you are doing, otherwise you might "
|
65 |
+
"break search engine access to your site."
|
66 |
+
msgstr ""
|
67 |
+
"Únicamente añada reglas aquí cuando sepa lo que está haciendo, de otro modo "
|
68 |
+
"puede cortar el acceso del motor de búsqueda a su sitio."
|
69 |
+
|
70 |
+
#: ../includes/admin.php:124
|
71 |
+
msgid ""
|
72 |
+
"These rules will not have effect when you are using a static robots.txt file."
|
73 |
+
msgstr ""
|
74 |
+
"Estas reglas no tendrán efecto cuando utilice un archivo robots.txt estático."
|
75 |
+
|
76 |
+
#: ../includes/admin.php:131
|
77 |
+
msgid ""
|
78 |
+
"Clear all XML Sitemap Feed options from the database and start fresh with "
|
79 |
+
"the default settings."
|
80 |
+
msgstr ""
|
81 |
+
"Limpie todas las opciones de Alimentación al Mapa de Sitio XML de la base de "
|
82 |
+
"datos y comience de nuevo con la configuración por omisión."
|
83 |
+
|
84 |
+
#: ../includes/admin.php:133
|
85 |
+
#, php-format
|
86 |
+
msgid "Disabling and reenabling the %s plugin will have the same effect."
|
87 |
+
msgstr "Deshabilitar y rehabilitar el plugin %s tendrá el mismo efecto."
|
88 |
+
|
89 |
+
#: ../includes/admin.php:133 ../includes/admin.php:141
|
90 |
+
#: ../includes/admin.php:352
|
91 |
+
msgid "XML Sitemap & Google News Feeds"
|
92 |
+
msgstr "Mapa de sitio XML & Noticias Google"
|
93 |
+
|
94 |
+
#: ../includes/admin.php:141 ../includes/admin.php:352
|
95 |
+
#, php-format
|
96 |
+
msgid "Donate to keep the free %s plugin development & support going!"
|
97 |
+
msgstr "Done para conservar gratutio el desarrollo del plugin %s ¡y apóyelo!"
|
98 |
+
|
99 |
+
#: ../includes/admin.php:141
|
100 |
+
#, php-format
|
101 |
+
msgid "These settings control the XML Sitemaps generated by the %s plugin."
|
102 |
+
msgstr ""
|
103 |
+
"Estos parámetros controlan los Mapas de Sitio XML generados por el plugin %s."
|
104 |
+
|
105 |
+
#: ../includes/admin.php:150
|
106 |
+
msgid "XML Sitemaps for post types"
|
107 |
+
msgstr "Mapas de Sitio XML para tipos de publicaciones."
|
108 |
+
|
109 |
+
#: ../includes/admin.php:189
|
110 |
+
msgid "Year"
|
111 |
+
msgstr "Año"
|
112 |
+
|
113 |
+
#: ../includes/admin.php:190
|
114 |
+
msgid "Month"
|
115 |
+
msgstr "Mes"
|
116 |
+
|
117 |
+
#: ../includes/admin.php:194
|
118 |
+
msgid "Split by"
|
119 |
+
msgstr "Dividir por"
|
120 |
+
|
121 |
+
#: ../includes/admin.php:204
|
122 |
+
msgid ""
|
123 |
+
"Split by year if you experience errors or slow sitemaps. In very rare cases, "
|
124 |
+
"split by month is needed."
|
125 |
+
msgstr ""
|
126 |
+
"Dividir por año si experimenta errores o más de sitio lentos. En casos "
|
127 |
+
"raros, divida por mes si es necesario."
|
128 |
+
|
129 |
+
#: ../includes/admin.php:209 ../includes/admin.php:725
|
130 |
+
msgid "Priority"
|
131 |
+
msgstr "Prioridad"
|
132 |
+
|
133 |
+
#: ../includes/admin.php:211
|
134 |
+
msgid "Priority can be overridden on individual posts."
|
135 |
+
msgstr "La Prioridad se puede anteponer a publicaciones individuales."
|
136 |
+
|
137 |
+
#: ../includes/admin.php:216
|
138 |
+
msgid ""
|
139 |
+
"Automatically adjusts Priority according to relative age and comment count."
|
140 |
+
msgstr ""
|
141 |
+
"Ajusta la Prioridad automáticamente de acuerdo a edad relativa y cantidad de "
|
142 |
+
"comentarios."
|
143 |
+
|
144 |
+
#: ../includes/admin.php:216
|
145 |
+
msgid ""
|
146 |
+
"Sticky posts will not be subject to reduction by age. Individual posts with "
|
147 |
+
"fixed Priority will always keep that value."
|
148 |
+
msgstr ""
|
149 |
+
"Las publicaciones no estarán sujetas a reducción por edad. Las publicaciones "
|
150 |
+
"individuales siempre conservarán ese valor."
|
151 |
+
|
152 |
+
#: ../includes/admin.php:221
|
153 |
+
msgid "Update Lastmod and Changefreq on comments."
|
154 |
+
msgstr "Actualizar Lastmod y Changefreq en comentarios."
|
155 |
+
|
156 |
+
#: ../includes/admin.php:221
|
157 |
+
msgid ""
|
158 |
+
"Set this if discussion on your site warrants reindexation upon each new "
|
159 |
+
"comment."
|
160 |
+
msgstr ""
|
161 |
+
"Establezca esto si la discusión en su sitio garantiza la reindexación en "
|
162 |
+
"cada nuevo comentario."
|
163 |
+
|
164 |
+
#: ../includes/admin.php:225 ../includes/admin.php:371
|
165 |
+
msgid "Add image tags for"
|
166 |
+
msgstr "Añada etiquetas de imagen para"
|
167 |
+
|
168 |
+
#: ../includes/admin.php:233 ../includes/admin.php:378
|
169 |
+
msgid "Attached images"
|
170 |
+
msgstr "Imágenes adjuntas"
|
171 |
+
|
172 |
+
#: ../includes/admin.php:243
|
173 |
+
msgid ""
|
174 |
+
"Priority settings do not affect ranking in search results in any way. They "
|
175 |
+
"are only meant to suggest search engines which URLs to index first. Once a "
|
176 |
+
"URL has been indexed, its Priority becomes meaningless until its Lastmod is "
|
177 |
+
"updated."
|
178 |
+
msgstr ""
|
179 |
+
"Los parámetros de prioridad no afectan la clasificación en los resultados. "
|
180 |
+
"Sólo sugieren a los motores de búsqueda cuáles URLs encontrar primero. Una "
|
181 |
+
"vez que la URL ha sido indexada, su Prioridad se vuelve insignificante hasta "
|
182 |
+
"que su Lastmod sea actualizada."
|
183 |
+
|
184 |
+
#: ../includes/admin.php:243
|
185 |
+
msgid ""
|
186 |
+
"Maximum Priority (1.0) is reserved for the front page, individual posts and, "
|
187 |
+
"when allowed, posts with high comment count."
|
188 |
+
msgstr ""
|
189 |
+
"Prioridad Máxima (1.0) está reservada para la página frontal, publicaciones "
|
190 |
+
"individuales y, cuando sea permitido, publicaciones con gran número de "
|
191 |
+
"comentarios."
|
192 |
+
|
193 |
+
#: ../includes/admin.php:243
|
194 |
+
msgid ""
|
195 |
+
"Priority values are taken as relative values. Setting all to the same (high) "
|
196 |
+
"value is pointless."
|
197 |
+
msgstr ""
|
198 |
+
"Los valores de prioridad se toman como valores relativos. Fijar todos al "
|
199 |
+
"mismo valor (alto) es innecesario."
|
200 |
+
|
201 |
+
#: ../includes/admin.php:294
|
202 |
+
msgid "XML Sitemaps for taxonomies"
|
203 |
+
msgstr "Mapas de Sitios XML para taxonomías."
|
204 |
+
|
205 |
+
#: ../includes/admin.php:300
|
206 |
+
msgid ""
|
207 |
+
"It is generally not recommended to include taxonomy pages, unless their "
|
208 |
+
"content brings added value."
|
209 |
+
msgstr ""
|
210 |
+
"No es recomendado generalmente incluir páginas de taxonomía, a menos que su "
|
211 |
+
"contenido proporcione valor agregado."
|
212 |
+
|
213 |
+
#: ../includes/admin.php:300
|
214 |
+
msgid ""
|
215 |
+
"For example, when you use category descriptions with information that is not "
|
216 |
+
"present elsewhere on your site or if taxonomy pages list posts with an "
|
217 |
+
"excerpt that is different from, but complementary to the post content. In "
|
218 |
+
"these cases you might consider including certain taxonomies. Otherwise, if "
|
219 |
+
"you fear <a href=\"http://moz.com/learn/seo/duplicate-content\">negative "
|
220 |
+
"affects of duplicate content</a> or PageRank spread, you might even consider "
|
221 |
+
"disallowing indexation of taxonomies."
|
222 |
+
msgstr ""
|
223 |
+
"Por ejemplo, cuando se utilizan descripciones de las categorías con "
|
224 |
+
"información que no está presente en otros lugares en su sitio o si la lista "
|
225 |
+
"de páginas de taxonomía enlista las publicaciones con un extracto que es "
|
226 |
+
"diferente, pero complementario al contenido de la publicación. En estos "
|
227 |
+
"casos, es posible considerar la inclusión de ciertas taxonomías. De lo "
|
228 |
+
"contrario, si teme <a href=\"http://moz.com/learn/seo/duplicate-content\"> "
|
229 |
+
"afecta negativamente al contenido duplicado </ a> o propagación PageRank, "
|
230 |
+
"incluso podría considerar no permitir la indexación de las taxonomías ."
|
231 |
+
|
232 |
+
#: ../includes/admin.php:300
|
233 |
+
#, php-format
|
234 |
+
msgid ""
|
235 |
+
"You can do this by adding specific robots.txt rules in the %s field above."
|
236 |
+
msgstr ""
|
237 |
+
"Puede hacer esto añadiendo reglas específicas robots.txt en el campo %s de "
|
238 |
+
"arriba."
|
239 |
+
|
240 |
+
#: ../includes/admin.php:300 ../includes/admin.php:789
|
241 |
+
msgid "Additional robots.txt rules"
|
242 |
+
msgstr "Reglas robots.txt adicionales"
|
243 |
+
|
244 |
+
#: ../includes/admin.php:315
|
245 |
+
msgid "No taxonomies available for the currently included post types."
|
246 |
+
msgstr ""
|
247 |
+
"No hay taxonomías disponibles para los tipos de publicaciones incluidas "
|
248 |
+
"actualmente."
|
249 |
+
|
250 |
+
#: ../includes/admin.php:331
|
251 |
+
msgid "Additional URLs to append to the XML Sitemap."
|
252 |
+
msgstr "URLs adicionales para anexar al Mapa de Sitio XML."
|
253 |
+
|
254 |
+
#: ../includes/admin.php:332
|
255 |
+
msgid ""
|
256 |
+
"Add the full URL, including protocol (http/https) and domain, of any static "
|
257 |
+
"page or WordPress page that you want to append to the ones already included "
|
258 |
+
"by the settings above. Optionally add a priority value between 0 and 1, "
|
259 |
+
"separated with a space, after the URL. Start each URL on a new line."
|
260 |
+
msgstr ""
|
261 |
+
"Añada la URL completa incluyendo el protocolo (http/https) y el dominio de "
|
262 |
+
"cualquier página estática o página de WordPress que desee anexar a las ya "
|
263 |
+
"incluidas por los parámetros de arriba. Opcionalmente, añada un valor de "
|
264 |
+
"prioridad entre 0 y , separados por un espacio después de la URL. Comience "
|
265 |
+
"cada URL en un nuevo renglón."
|
266 |
+
|
267 |
+
#: ../includes/admin.php:341
|
268 |
+
msgid "Additional domains to allow in the XML Sitemap."
|
269 |
+
msgstr "Dominios adicionales para permitir en el Mapa de Sitio XML."
|
270 |
+
|
271 |
+
#: ../includes/admin.php:342
|
272 |
+
#, php-format
|
273 |
+
msgid ""
|
274 |
+
"By default, only the domain %s as used in your WordPress site address is "
|
275 |
+
"allowed. This means that all URLs that use another domain (custom URLs or "
|
276 |
+
"using a plugin like Page Links To) are filtered from the XML Sitemap. "
|
277 |
+
"However, if you are the verified owner of other domains in your Google/Bing "
|
278 |
+
"Webmaster Tools account, you can include these in the same sitemap. Add "
|
279 |
+
"these domains, without protocol (http/https) each on a new line. Note that "
|
280 |
+
"if you enter a domain with www, all URLs without it or with other subdomains "
|
281 |
+
"will be filtered."
|
282 |
+
msgstr ""
|
283 |
+
"Por defecto, sólo se permite el dominio %s como se utiliza en la dirección "
|
284 |
+
"del sitio de WordPress. Esto significa que todas las URL que utilizan otro "
|
285 |
+
"dominio (URL personalizadas o usar un plugin como Page Links a) se filtran "
|
286 |
+
"desde el Mapa de Sitio XML. Sin embargo, si usted es el propietario "
|
287 |
+
"verificado de otros dominios en su cuenta de Herramientas para webmasters de "
|
288 |
+
"Google / Bing, puede incluirlos en el mismo mapa del sitio. Añada estos "
|
289 |
+
"dominios, sin protocolo (http / https) cada uno en una línea nueva. Tenga en "
|
290 |
+
"cuenta que si usted entra en un dominio con www, se filtrarán todos los URL "
|
291 |
+
"sin ella o con otros subdominios."
|
292 |
+
|
293 |
+
#: ../includes/admin.php:352
|
294 |
+
#, php-format
|
295 |
+
msgid ""
|
296 |
+
"These settings control the Google News Sitemap generated by the %s plugin."
|
297 |
+
msgstr ""
|
298 |
+
"Estos parámetros controlan el Mapa de Sitio Noticias Google generado por el "
|
299 |
+
"plugin %s."
|
300 |
+
|
301 |
+
#: ../includes/admin.php:352
|
302 |
+
msgid ""
|
303 |
+
"When you are done configuring and preparing your news content and you are "
|
304 |
+
"convinced your site adheres to the <a href=\"https://support.google.com/news/"
|
305 |
+
"publisher/answer/40787?ref_topic=2484652\" target=\"_blank\">Google News "
|
306 |
+
"guidelines</a>, go ahead and <a href=\"https://support.google.com/news/"
|
307 |
+
"publisher/troubleshooter/3179220?#ts=3179198\" target=\"_blank\">submit your "
|
308 |
+
"site for inclusion</a>!"
|
309 |
+
msgstr ""
|
310 |
+
"Cuando haya terminado de configurar y preparar su contenido de noticias y "
|
311 |
+
"usted está convencido de que su sitio se adhiere a las <a href=\"https://"
|
312 |
+
"support.google.com/news/publisher/answer/40787?ref_topic=2484652\" target="
|
313 |
+
"\"_blank\">Google News guidelines</a>, go ahead and <a href=\"https://"
|
314 |
+
"support.google.com/news/publisher/troubleshooter/3179220?#ts=3179198\" "
|
315 |
+
"target=\"_blank\">submit your site for inclusion</a>!"
|
316 |
+
|
317 |
+
#: ../includes/admin.php:362
|
318 |
+
#, php-format
|
319 |
+
msgid "By default, the general %s setting will be used."
|
320 |
+
msgstr "Por defecto, serán utilizados los parámetros generales %s."
|
321 |
+
|
322 |
+
#: ../includes/admin.php:392 ../includes/admin.php:826
|
323 |
+
msgid "Access (<access> tag)"
|
324 |
+
msgstr "Acceso (<access> tag)"
|
325 |
+
|
326 |
+
#: ../includes/admin.php:393
|
327 |
+
#, php-format
|
328 |
+
msgid ""
|
329 |
+
"The <access> tag specifies whether an article is available to all "
|
330 |
+
"readers (%1$s), or only to those with a free (%2$s) or paid membership "
|
331 |
+
"(%3$s) to your site."
|
332 |
+
msgstr ""
|
333 |
+
"The <access> especifica si un artículo se encuentra disponible a "
|
334 |
+
"todos los lectores (%1$s), o sólo a aquellos con una membrecía gratuita "
|
335 |
+
"(%2$s) o pagada (%3$s) a su sitio."
|
336 |
+
|
337 |
+
#: ../includes/admin.php:393 ../includes/admin.php:400
|
338 |
+
#: ../includes/admin.php:413
|
339 |
+
msgid "Registration"
|
340 |
+
msgstr "Registro"
|
341 |
+
|
342 |
+
#: ../includes/admin.php:393 ../includes/admin.php:401
|
343 |
+
#: ../includes/admin.php:414
|
344 |
+
msgid "Subscription"
|
345 |
+
msgstr "Subscripción"
|
346 |
+
|
347 |
+
#: ../includes/admin.php:398
|
348 |
+
msgid "Tag normal posts as"
|
349 |
+
msgstr "Etiquete publicaciones normales como"
|
350 |
+
|
351 |
+
#: ../includes/admin.php:412
|
352 |
+
#, php-format
|
353 |
+
msgid "Tag %s posts as"
|
354 |
+
msgstr "Etiquete publicaciones %s como"
|
355 |
+
|
356 |
+
#: ../includes/admin.php:419
|
357 |
+
msgid ""
|
358 |
+
"Note: The <access> tag is required when applicable. Do not leave it to "
|
359 |
+
"Public when your content is not."
|
360 |
+
msgstr ""
|
361 |
+
"Nota: La etiqueta <Access> es requerida cuando sea necesaria. No le "
|
362 |
+
"deje en Pública cuando su contenido no lo es."
|
363 |
+
|
364 |
+
#: ../includes/admin.php:439 ../includes/admin.php:827
|
365 |
+
msgid "Genres (<genres> tag)"
|
366 |
+
msgstr "Géneros (<genres> tag)"
|
367 |
+
|
368 |
+
#: ../includes/admin.php:440
|
369 |
+
msgid ""
|
370 |
+
"The <genres> tag specifies one or more properties for an article, "
|
371 |
+
"namely, whether it is a press release, a blog post, an opinion, an op-ed "
|
372 |
+
"piece, user-generated content, or satire."
|
373 |
+
msgstr ""
|
374 |
+
"La etiqueta <genres> especifica una o más propiedades de un artículo, "
|
375 |
+
"a saber, si se trata de un comunicado de prensa, un blog, una opinión, una "
|
376 |
+
"columna de opinión, el contenido generado por el usuario, o sátira."
|
377 |
+
|
378 |
+
#: ../includes/admin.php:440
|
379 |
+
msgid "You can assign Google News genres when writing a new post."
|
380 |
+
msgstr ""
|
381 |
+
"Puede asignar géneros de Noticias Google al escribir una nueva publicación."
|
382 |
+
|
383 |
+
#: ../includes/admin.php:451
|
384 |
+
msgid "Default genre:"
|
385 |
+
msgstr "Género por defecto:"
|
386 |
+
|
387 |
+
#: ../includes/admin.php:460
|
388 |
+
msgid ""
|
389 |
+
"Note: The <genres> tag is required when applicable and restricted to "
|
390 |
+
"the list provided above."
|
391 |
+
msgstr ""
|
392 |
+
"Nota: La etiqueta <genres> es requerida cuando sea necesaria y "
|
393 |
+
"restringida a la lista proporcionad arriba."
|
394 |
+
|
395 |
+
#: ../includes/admin.php:472 ../includes/admin.php:828
|
396 |
+
msgid "Topics (<keywords> tag)"
|
397 |
+
msgstr "Temas (<keywords> etiqueta)"
|
398 |
+
|
399 |
+
#: ../includes/admin.php:473
|
400 |
+
msgid ""
|
401 |
+
"The <keywords> tag is used to help classify the articles you submit to "
|
402 |
+
"Google News by <strong>topic</strong>."
|
403 |
+
msgstr ""
|
404 |
+
"La etiqueta <keywords> se usa para ayudarle a clasificar los artículos "
|
405 |
+
"que envíe a Noticias Google por <strong>topic</strong>."
|
406 |
+
|
407 |
+
#: ../includes/admin.php:475
|
408 |
+
#, php-format
|
409 |
+
msgid "Use %s for topics."
|
410 |
+
msgstr "Utilice %s para temas"
|
411 |
+
|
412 |
+
#: ../includes/admin.php:480
|
413 |
+
msgid "Default topic(s):"
|
414 |
+
msgstr "Tema(s) por defecto:"
|
415 |
+
|
416 |
+
#: ../includes/admin.php:482 ../includes/admin.php:503
|
417 |
+
msgid "Separate with a comma."
|
418 |
+
msgstr "Separar con una coma."
|
419 |
+
|
420 |
+
#: ../includes/admin.php:484
|
421 |
+
msgid ""
|
422 |
+
"Keywords may be drawn from, but are not limited to, the list of <a href="
|
423 |
+
"\"http://www.google.com/support/news_pub/bin/answer.py?answer=116037\" "
|
424 |
+
"target=\"_blank\">existing Google News keywords</a>."
|
425 |
+
msgstr ""
|
426 |
+
"Las palabras clave pueden extraerse de, pero no se limitan a, la lista de <a "
|
427 |
+
"href=\"http://www.google.com/support/news_pub/bin/answer.py?answer=116037\" "
|
428 |
+
"target=\"_blank\">existing Google News keywords</a>."
|
429 |
+
|
430 |
+
#: ../includes/admin.php:494 ../includes/admin.php:829
|
431 |
+
msgid "Locations (<geo_locations> tag)"
|
432 |
+
msgstr "Localizaciones (<geo_locations> tag)"
|
433 |
+
|
434 |
+
#: ../includes/admin.php:495
|
435 |
+
msgid ""
|
436 |
+
"The <geo_locations> tag is used identify the geographic location of "
|
437 |
+
"your articles."
|
438 |
+
msgstr ""
|
439 |
+
"La etiqueta <geo_locations> se utiliza para identificar la "
|
440 |
+
"localización geográfica de sus artículos."
|
441 |
+
|
442 |
+
#: ../includes/admin.php:495
|
443 |
+
msgid "You can assign locations when writing a new post."
|
444 |
+
msgstr "Puede asignar localizaciones al escribir una nueva publicación."
|
445 |
+
|
446 |
+
#: ../includes/admin.php:501
|
447 |
+
msgid "Default location:"
|
448 |
+
msgstr "Localización por defecto:"
|
449 |
+
|
450 |
+
#: ../includes/admin.php:505
|
451 |
+
msgid ""
|
452 |
+
"You should list location entities from smallest entity to largest. For "
|
453 |
+
"example: <code>Detroit, Michigan, USA</code> or <code>Rhône-Alpes, France</"
|
454 |
+
"code>."
|
455 |
+
msgstr ""
|
456 |
+
"Se deben poner las entidades de ubicación de entidad menor a mayor. Por "
|
457 |
+
"ejemplo: <code> Detroit, Michigan, EE.UU. </ code> o <code> Ródano-Alpes, "
|
458 |
+
"Francia </ code>."
|
459 |
+
|
460 |
+
#: ../includes/admin.php:689 ../includes/admin.php:798
|
461 |
+
msgid "XML Sitemap"
|
462 |
+
msgstr "Mapa de Sitio XML"
|
463 |
+
|
464 |
+
#: ../includes/admin.php:721
|
465 |
+
msgid "Exclude from XML Sitemap"
|
466 |
+
msgstr "Excluir del Mapa de Sitio XML"
|
467 |
+
|
468 |
+
#: ../includes/admin.php:727
|
469 |
+
#, php-format
|
470 |
+
msgid "Leave empty for automatic Priority as configured on %1$s > %2$s."
|
471 |
+
msgstr "Deje vacío para Prioridad automática como se configuró en %1$s > %2$s."
|
472 |
+
|
473 |
+
#: ../includes/admin.php:773
|
474 |
+
msgid "Enable XML sitemaps"
|
475 |
+
msgstr "Habilitar Mapas de Sitio XML"
|
476 |
+
|
477 |
+
#: ../includes/admin.php:794
|
478 |
+
msgid "Reset XML sitemaps"
|
479 |
+
msgstr "Restaurar Mapas de Sitio XML"
|
480 |
+
|
481 |
+
#: ../includes/admin.php:801
|
482 |
+
msgid "Include post types"
|
483 |
+
msgstr "Incluir tipos de publicaciones"
|
484 |
+
|
485 |
+
#: ../includes/admin.php:804
|
486 |
+
msgid "Include taxonomies"
|
487 |
+
msgstr "Incluir taxonomías"
|
488 |
+
|
489 |
+
#: ../includes/admin.php:807
|
490 |
+
msgid "Include custom URLs"
|
491 |
+
msgstr "Incluir URLs personalizadas"
|
492 |
+
|
493 |
+
#: ../includes/admin.php:811
|
494 |
+
msgid "Additional allowed domains"
|
495 |
+
msgstr "Dominios permitidos adicionales"
|
496 |
+
|
497 |
+
#: ../includes/admin.php:824
|
498 |
+
msgid "Publication name"
|
499 |
+
msgstr "Nombre de la publicación"
|
500 |
+
|
501 |
+
#: ../includes/core.php:1059
|
502 |
+
msgid "Google News Genres"
|
503 |
+
msgstr "Géneros de Noticias Google"
|
504 |
+
|
505 |
+
#: ../includes/core.php:1060
|
506 |
+
msgid "Google News Genre"
|
507 |
+
msgstr "Género de Noticias Google"
|
508 |
+
|
509 |
+
#: ../includes/core.php:1078
|
510 |
+
msgid "Google News Country"
|
511 |
+
msgstr "País de Noticias Google"
|
512 |
+
|
513 |
+
#: ../includes/core.php:1080 ../includes/core.php:1099
|
514 |
+
#: ../includes/core.php:1118
|
515 |
+
msgid ""
|
516 |
+
"Only one allowed. Must be consistent with other Google News location "
|
517 |
+
"entities (if set)."
|
518 |
+
msgstr ""
|
519 |
+
"Sólo uno permitido. Debe ser consistente con otras entidades de localización "
|
520 |
+
"de Noticias Google (si se establecen)."
|
521 |
+
|
522 |
+
#: ../includes/core.php:1097
|
523 |
+
msgid "Google News State/Province"
|
524 |
+
msgstr "Estado/Provincia de Noticias Google"
|
525 |
+
|
526 |
+
#: ../includes/core.php:1116
|
527 |
+
msgid "Google News City"
|
528 |
+
msgstr "Ciudad de Noticias Google"
|
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-
|
6 |
-
"PO-Revision-Date: 2013-
|
7 |
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: \n"
|
@@ -16,65 +16,245 @@ msgstr ""
|
|
16 |
"X-Poedit-Country: FRANCE\n"
|
17 |
|
18 |
#: ../includes/admin.php:15
|
19 |
-
|
20 |
-
|
|
|
21 |
|
22 |
#: ../includes/admin.php:15
|
23 |
-
|
24 |
-
|
|
|
25 |
|
26 |
#: ../includes/admin.php:15
|
27 |
#, php-format
|
28 |
-
msgid "
|
29 |
-
msgstr "
|
30 |
|
31 |
-
#: ../includes/admin.php:
|
32 |
-
|
33 |
-
|
|
|
34 |
|
35 |
-
#: ../includes/admin.php:
|
36 |
msgid "Discourage search engines from indexing this site"
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
msgid "Regular XML Sitemaps"
|
41 |
msgstr "XML Sitemaps normaux"
|
42 |
|
43 |
-
#: ../includes/admin.php:
|
44 |
-
#: ../includes/admin.php:
|
45 |
msgid "View"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: ../includes/admin.php:
|
|
|
49 |
msgid "Google News Sitemap"
|
50 |
msgstr "Google News Sitemap"
|
51 |
|
52 |
-
#: ../includes/admin.php:
|
53 |
-
|
54 |
-
msgid "
|
55 |
-
msgstr "
|
56 |
|
57 |
-
#: ../includes/admin.php:
|
58 |
-
|
59 |
-
|
|
|
|
|
60 |
|
61 |
-
#: ../includes/admin.php:
|
62 |
-
msgid "
|
63 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
msgid "Enable XML sitemaps"
|
67 |
msgstr "Activez XML Sitemaps"
|
68 |
|
69 |
-
#: ../includes/admin.php:
|
70 |
-
|
71 |
-
msgstr "Types d'articles à inclure"
|
72 |
-
|
73 |
-
#: ../includes/admin.php:194
|
74 |
msgid "Include taxonomies"
|
75 |
msgstr "Taxonomies à inclure"
|
76 |
|
77 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
msgid "Additional robots.txt rules"
|
79 |
msgstr "Règles robots.txt additionelles"
|
80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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"
|
16 |
"X-Poedit-Country: FRANCE\n"
|
17 |
|
18 |
#: ../includes/admin.php:15
|
19 |
+
#, php-format
|
20 |
+
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:269
|
25 |
+
msgid "XML Sitemap & Google News Feeds"
|
26 |
+
msgstr "Flux XML Sitemap & Google News"
|
27 |
|
28 |
#: ../includes/admin.php:15
|
29 |
#, php-format
|
30 |
+
msgid "These settings control the XML Sitemaps generated by the %s plugin."
|
31 |
+
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 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 |
+
|
56 |
+
#: ../includes/admin.php:41
|
57 |
msgid "Regular XML Sitemaps"
|
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-it_IT.mo
ADDED
Binary file
|
languages/xml-sitemap-feed-it_IT.po
ADDED
@@ -0,0 +1,539 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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-09-01 16:38+0100\n"
|
6 |
+
"PO-Revision-Date: 2014-05-29 12:46+0200\n"
|
7 |
+
"Last-Translator: Raffaello Tesi <info@raffaellotesi.com>\n"
|
8 |
+
"Language-Team: Raffaello Tesi <info@raffaellotesi.com>\n"
|
9 |
+
"Language: it_IT\n"
|
10 |
+
"MIME-Version: 1.0\n"
|
11 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
+
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"X-Poedit-KeywordsList: __;_e;_n\n"
|
14 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
+
"X-Generator: Poedit 1.6.5\n"
|
16 |
+
|
17 |
+
#: ../includes/admin.php:19
|
18 |
+
msgid "XML Sitemaps"
|
19 |
+
msgstr "Sitemap XML"
|
20 |
+
|
21 |
+
#: ../includes/admin.php:20
|
22 |
+
msgid "XML Sitemap Index"
|
23 |
+
msgstr "Sitemap XML del sito"
|
24 |
+
|
25 |
+
#: ../includes/admin.php:25 ../includes/admin.php:820
|
26 |
+
msgid "Google News Sitemap"
|
27 |
+
msgstr "Sitemap per Google News"
|
28 |
+
|
29 |
+
#: ../includes/admin.php:69
|
30 |
+
msgid "Google"
|
31 |
+
msgstr "Google"
|
32 |
+
|
33 |
+
#: ../includes/admin.php:72
|
34 |
+
msgid "Bing & Yahoo"
|
35 |
+
msgstr "Bing & Yahoo"
|
36 |
+
|
37 |
+
#: ../includes/admin.php:75
|
38 |
+
msgid "Yandex"
|
39 |
+
msgstr "Yandex"
|
40 |
+
|
41 |
+
#: ../includes/admin.php:78
|
42 |
+
msgid "Baidu"
|
43 |
+
msgstr "Baidu"
|
44 |
+
|
45 |
+
#: ../includes/admin.php:81
|
46 |
+
msgid "Ping-O-Matic"
|
47 |
+
msgstr "Ping-O-Matic"
|
48 |
+
|
49 |
+
#: ../includes/admin.php:89 ../includes/admin.php:778
|
50 |
+
msgid "Ping on Publish"
|
51 |
+
msgstr "Ping on Publish"
|
52 |
+
|
53 |
+
#: ../includes/admin.php:113
|
54 |
+
#, php-format
|
55 |
+
msgid "Successfully pinged for %1$s on %2$s GMT."
|
56 |
+
msgstr "Ping a %1$s effettuato con successo alle %2$s GMT."
|
57 |
+
|
58 |
+
#: ../includes/admin.php:123
|
59 |
+
#, php-format
|
60 |
+
msgid "Rules to append to the %s generated by WordPress."
|
61 |
+
msgstr "Regole da aggiungere al %s generato da WordPress."
|
62 |
+
|
63 |
+
#: ../includes/admin.php:124
|
64 |
+
msgid ""
|
65 |
+
"Only add rules here when you know what you are doing, otherwise you might "
|
66 |
+
"break search engine access to your site."
|
67 |
+
msgstr ""
|
68 |
+
"Inserire nuove regole solo se si sa cosa si sta facendo, dal momento che "
|
69 |
+
"tali regole potrebbero impedire l'accesso dei motori di ricerca a questo "
|
70 |
+
"sito."
|
71 |
+
|
72 |
+
#: ../includes/admin.php:124
|
73 |
+
msgid ""
|
74 |
+
"These rules will not have effect when you are using a static robots.txt file."
|
75 |
+
msgstr "Queste regole non hanno effetto se si usa un file robots.txt statico"
|
76 |
+
|
77 |
+
#: ../includes/admin.php:131
|
78 |
+
msgid ""
|
79 |
+
"Clear all XML Sitemap Feed options from the database and start fresh with "
|
80 |
+
"the default settings."
|
81 |
+
msgstr ""
|
82 |
+
"Rimuovi tutte le opzioni per i feed della sitemap XML dal database e "
|
83 |
+
"reimposta i valori di default."
|
84 |
+
|
85 |
+
#: ../includes/admin.php:133
|
86 |
+
#, php-format
|
87 |
+
msgid "Disabling and reenabling the %s plugin will have the same effect."
|
88 |
+
msgstr ""
|
89 |
+
"La stessa azione può essere ottenuta disabilitando e abilitando di nuovo il "
|
90 |
+
"plugin %s."
|
91 |
+
|
92 |
+
#: ../includes/admin.php:133 ../includes/admin.php:141
|
93 |
+
#: ../includes/admin.php:352
|
94 |
+
msgid "XML Sitemap & Google News Feeds"
|
95 |
+
msgstr "XML Sitemap & Google News Feeds"
|
96 |
+
|
97 |
+
#: ../includes/admin.php:141 ../includes/admin.php:352
|
98 |
+
#, php-format
|
99 |
+
msgid "Donate to keep the free %s plugin development & support going!"
|
100 |
+
msgstr ""
|
101 |
+
"Effettua una donazione per mantenere gratuito lo sviluppo e il supporto al "
|
102 |
+
"plugin %s!"
|
103 |
+
|
104 |
+
#: ../includes/admin.php:141
|
105 |
+
#, php-format
|
106 |
+
msgid "These settings control the XML Sitemaps generated by the %s plugin."
|
107 |
+
msgstr "Queste impostazioni controllano le sitemap XML generate dal plugin %s."
|
108 |
+
|
109 |
+
#: ../includes/admin.php:150
|
110 |
+
msgid "XML Sitemaps for post types"
|
111 |
+
msgstr "Sitemap XML per tipi di post"
|
112 |
+
|
113 |
+
#: ../includes/admin.php:189
|
114 |
+
msgid "Year"
|
115 |
+
msgstr "Anno"
|
116 |
+
|
117 |
+
#: ../includes/admin.php:190
|
118 |
+
msgid "Month"
|
119 |
+
msgstr "Mese"
|
120 |
+
|
121 |
+
#: ../includes/admin.php:194
|
122 |
+
msgid "Split by"
|
123 |
+
msgstr "Dividi per"
|
124 |
+
|
125 |
+
#: ../includes/admin.php:204
|
126 |
+
msgid ""
|
127 |
+
"Split by year if you experience errors or slow sitemaps. In very rare cases, "
|
128 |
+
"split by month is needed."
|
129 |
+
msgstr ""
|
130 |
+
"Dividere per mese se le sitemap generate risultano lente o errate. In alcuni "
|
131 |
+
"rari casi è necessario dividere per mese."
|
132 |
+
|
133 |
+
#: ../includes/admin.php:209 ../includes/admin.php:725
|
134 |
+
msgid "Priority"
|
135 |
+
msgstr "Priorità"
|
136 |
+
|
137 |
+
#: ../includes/admin.php:211
|
138 |
+
msgid "Priority can be overridden on individual posts."
|
139 |
+
msgstr "La priorità può essere modificata in ogni singolo post."
|
140 |
+
|
141 |
+
#: ../includes/admin.php:216
|
142 |
+
msgid ""
|
143 |
+
"Automatically adjusts Priority according to relative age and comment count."
|
144 |
+
msgstr ""
|
145 |
+
"Selezionare la priorità automaticamente in base all'età del post e al numero "
|
146 |
+
"di commenti."
|
147 |
+
|
148 |
+
#: ../includes/admin.php:216
|
149 |
+
msgid ""
|
150 |
+
"Sticky posts will not be subject to reduction by age. Individual posts with "
|
151 |
+
"fixed Priority will always keep that value."
|
152 |
+
msgstr ""
|
153 |
+
"Nel caso di post evidenziati, l'età non ha effetto nel calcolo della "
|
154 |
+
"priorità. La priorità resterà invariata anche per singoli post ai quali è "
|
155 |
+
"stata assegnata una priorità specifica."
|
156 |
+
|
157 |
+
#: ../includes/admin.php:221
|
158 |
+
msgid "Update Lastmod and Changefreq on comments."
|
159 |
+
msgstr ""
|
160 |
+
"Aggiorna data ultima modifica (Lastmod) e frequenza (Changefreq) nei "
|
161 |
+
"commenti."
|
162 |
+
|
163 |
+
#: ../includes/admin.php:221
|
164 |
+
msgid ""
|
165 |
+
"Set this if discussion on your site warrants reindexation upon each new "
|
166 |
+
"comment."
|
167 |
+
msgstr ""
|
168 |
+
"Selezionare questa impostazione nel caso in cui questo sito effettui la "
|
169 |
+
"reindicizzazione della discussione tutte le volte che un nuovo commento "
|
170 |
+
"viene inserito."
|
171 |
+
|
172 |
+
#: ../includes/admin.php:225 ../includes/admin.php:371
|
173 |
+
msgid "Add image tags for"
|
174 |
+
msgstr "Aggiungi tag immagine per"
|
175 |
+
|
176 |
+
#: ../includes/admin.php:233 ../includes/admin.php:378
|
177 |
+
msgid "Attached images"
|
178 |
+
msgstr "Immagini allegate"
|
179 |
+
|
180 |
+
#: ../includes/admin.php:243
|
181 |
+
msgid ""
|
182 |
+
"Priority settings do not affect ranking in search results in any way. They "
|
183 |
+
"are only meant to suggest search engines which URLs to index first. Once a "
|
184 |
+
"URL has been indexed, its Priority becomes meaningless until its Lastmod is "
|
185 |
+
"updated."
|
186 |
+
msgstr ""
|
187 |
+
"Le impostazioni di priorità non influiscono in alcun modo sul rank nei "
|
188 |
+
"risultati dei motori di ricerca. Tali impostazioni servono solo a suggerire "
|
189 |
+
"quali URL debbano essere indicizzate per prime. Una volta che l'URL è "
|
190 |
+
"indicizzata. la sua priorità non ha più alcun effetto fintantoché la data di "
|
191 |
+
"ultima modifica (Lastmod) non venga modificata."
|
192 |
+
|
193 |
+
#: ../includes/admin.php:243
|
194 |
+
msgid ""
|
195 |
+
"Maximum Priority (1.0) is reserved for the front page, individual posts and, "
|
196 |
+
"when allowed, posts with high comment count."
|
197 |
+
msgstr ""
|
198 |
+
"La massima priorità (1.0) è riservata alla pagina principale, a post "
|
199 |
+
"individuali e, se consentita, a post con un alto numero di commenti."
|
200 |
+
|
201 |
+
#: ../includes/admin.php:243
|
202 |
+
msgid ""
|
203 |
+
"Priority values are taken as relative values. Setting all to the same (high) "
|
204 |
+
"value is pointless."
|
205 |
+
msgstr ""
|
206 |
+
"I valori di priorità sono valori relativi. Non ha senso impostarli tutti "
|
207 |
+
"allo stesso valore (massimo)."
|
208 |
+
|
209 |
+
#: ../includes/admin.php:294
|
210 |
+
msgid "XML Sitemaps for taxonomies"
|
211 |
+
msgstr "Sitemap XML per tassonomie"
|
212 |
+
|
213 |
+
#: ../includes/admin.php:300
|
214 |
+
msgid ""
|
215 |
+
"It is generally not recommended to include taxonomy pages, unless their "
|
216 |
+
"content brings added value."
|
217 |
+
msgstr ""
|
218 |
+
"Normalmente non è consigliato includere le pagine di tassonomia, a meno che "
|
219 |
+
"il loro contenuto non costituisca un valore aggiunto."
|
220 |
+
|
221 |
+
#: ../includes/admin.php:300
|
222 |
+
msgid ""
|
223 |
+
"For example, when you use category descriptions with information that is not "
|
224 |
+
"present elsewhere on your site or if taxonomy pages list posts with an "
|
225 |
+
"excerpt that is different from, but complementary to the post content. In "
|
226 |
+
"these cases you might consider including certain taxonomies. Otherwise, if "
|
227 |
+
"you fear <a href=\"http://moz.com/learn/seo/duplicate-content\">negative "
|
228 |
+
"affects of duplicate content</a> or PageRank spread, you might even consider "
|
229 |
+
"disallowing indexation of taxonomies."
|
230 |
+
msgstr ""
|
231 |
+
"Si può decidere di includere le tassonomie nella sitemap se ad esempio le "
|
232 |
+
"categorie dei post contengano testi descrittivi non presenti in altre parti "
|
233 |
+
"del sito, oppure se le pagine di tassonomia includano liste di post con un "
|
234 |
+
"riassunto diverso nella forma, ma complementare al contenuto del post. Se "
|
235 |
+
"comunque si pensa che l'indicizzazione delle tassonomie crei <a href="
|
236 |
+
"\"http://moz.com/learn/seo/duplicate-content\">un effetto negativo a causa "
|
237 |
+
"di contenuti duplicati</a> o la propagazione del PageRank spread, è "
|
238 |
+
"consigliato mantenere l'indicizzazione disabilitata."
|
239 |
+
|
240 |
+
#: ../includes/admin.php:300
|
241 |
+
#, php-format
|
242 |
+
msgid ""
|
243 |
+
"You can do this by adding specific robots.txt rules in the %s field above."
|
244 |
+
msgstr ""
|
245 |
+
"Questo può essere effettuato aggiungendo specifiche regole nel robots.txt "
|
246 |
+
"nei campi %s qui sopra."
|
247 |
+
|
248 |
+
#: ../includes/admin.php:300 ../includes/admin.php:789
|
249 |
+
msgid "Additional robots.txt rules"
|
250 |
+
msgstr "Regole addizionali per robots.txt"
|
251 |
+
|
252 |
+
#: ../includes/admin.php:315
|
253 |
+
msgid "No taxonomies available for the currently included post types."
|
254 |
+
msgstr "Non risultano tassonomie per i tipi di post inclusi al momento."
|
255 |
+
|
256 |
+
#: ../includes/admin.php:331
|
257 |
+
msgid "Additional URLs to append to the XML Sitemap."
|
258 |
+
msgstr "URL addizionali da inserire nella sitemap XML."
|
259 |
+
|
260 |
+
#: ../includes/admin.php:332
|
261 |
+
msgid ""
|
262 |
+
"Add the full URL, including protocol (http/https) and domain, of any static "
|
263 |
+
"page or WordPress page that you want to append to the ones already included "
|
264 |
+
"by the settings above. Optionally add a priority value between 0 and 1, "
|
265 |
+
"separated with a space, after the URL. Start each URL on a new line."
|
266 |
+
msgstr ""
|
267 |
+
"Inserire l'URL per intero, includendo anche il tipo di protocollo (http/"
|
268 |
+
"https) e il dominio di ogni pagina statica di WordPress che si desideri "
|
269 |
+
"aggiungere a quelle già incluse in base alle impostazioni qui sopra. È "
|
270 |
+
"possibile aggiungere anche un valore di priorità da 0 a 1 dopo l'URL, "
|
271 |
+
"separato da uno spazio. Inserire una URL per riga."
|
272 |
+
|
273 |
+
#: ../includes/admin.php:341
|
274 |
+
msgid "Additional domains to allow in the XML Sitemap."
|
275 |
+
msgstr "Domini addizionali da includere nella sitemap XML."
|
276 |
+
|
277 |
+
#: ../includes/admin.php:342
|
278 |
+
#, php-format
|
279 |
+
msgid ""
|
280 |
+
"By default, only the domain %s as used in your WordPress site address is "
|
281 |
+
"allowed. This means that all URLs that use another domain (custom URLs or "
|
282 |
+
"using a plugin like Page Links To) are filtered from the XML Sitemap. "
|
283 |
+
"However, if you are the verified owner of other domains in your Google/Bing "
|
284 |
+
"Webmaster Tools account, you can include these in the same sitemap. Add "
|
285 |
+
"these domains, without protocol (http/https) each on a new line. Note that "
|
286 |
+
"if you enter a domain with www, all URLs without it or with other subdomains "
|
287 |
+
"will be filtered."
|
288 |
+
msgstr ""
|
289 |
+
"Solo il dominio di questo sito WordPress (%s) è consentito di default. Ciò "
|
290 |
+
"significa che tutte le URL relative ad altri domini (URL personalizzate o "
|
291 |
+
"create tramite plugin come Page Links To) sono escluse dalla sitemap XML. "
|
292 |
+
"Nel caso in cui tali URL siano relative a domini in tuo possesso e "
|
293 |
+
"verificati tramite un account Google o Bing Webmaster Tools, è possibile "
|
294 |
+
"includerle nella stessa sitemap. Aggiungere un dominio per riga senza il "
|
295 |
+
"protocollo (http/https). Si noti che nel caso in cui il dominio venga "
|
296 |
+
"inserito con il prefisso www, tutte le URL prive di www oppure relative a "
|
297 |
+
"sottodomini verranno escluse."
|
298 |
+
|
299 |
+
#: ../includes/admin.php:352
|
300 |
+
#, php-format
|
301 |
+
msgid ""
|
302 |
+
"These settings control the Google News Sitemap generated by the %s plugin."
|
303 |
+
msgstr ""
|
304 |
+
"Queste impostazioni controllano la sitemap per Google News generata dal "
|
305 |
+
"plugin %s."
|
306 |
+
|
307 |
+
#: ../includes/admin.php:352
|
308 |
+
msgid ""
|
309 |
+
"When you are done configuring and preparing your news content and you are "
|
310 |
+
"convinced your site adheres to the <a href=\"https://support.google.com/news/"
|
311 |
+
"publisher/answer/40787?ref_topic=2484652\" target=\"_blank\">Google News "
|
312 |
+
"guidelines</a>, go ahead and <a href=\"https://support.google.com/news/"
|
313 |
+
"publisher/troubleshooter/3179220?#ts=3179198\" target=\"_blank\">submit your "
|
314 |
+
"site for inclusion</a>!"
|
315 |
+
msgstr ""
|
316 |
+
"Dopo aver effettuato le impostazioni e preparato il contenuto delle news, e "
|
317 |
+
"una volta assicuratosi che il sito sia conforme alle <a href=\"https://"
|
318 |
+
"support.google.com/news/publisher/answer/40787?ref_topic=2484652&hl=it\" "
|
319 |
+
"target=\"_blank\">linee guida di Google News</a>, proseguire con la <a href="
|
320 |
+
"\"https://support.google.com/news/publisher/troubleshooter/3179220?"
|
321 |
+
"hl=it#ts=3179198\" target=\"_blank\">richiesta di inclusione del sito</a>!"
|
322 |
+
|
323 |
+
#: ../includes/admin.php:362
|
324 |
+
#, php-format
|
325 |
+
msgid "By default, the general %s setting will be used."
|
326 |
+
msgstr "Le impostazioni generali presenti in %s sono utilizzate di default."
|
327 |
+
|
328 |
+
#: ../includes/admin.php:392 ../includes/admin.php:826
|
329 |
+
msgid "Access (<access> tag)"
|
330 |
+
msgstr "Accesso (tag <access>)"
|
331 |
+
|
332 |
+
#: ../includes/admin.php:393
|
333 |
+
#, php-format
|
334 |
+
msgid ""
|
335 |
+
"The <access> tag specifies whether an article is available to all "
|
336 |
+
"readers (%1$s), or only to those with a free (%2$s) or paid membership "
|
337 |
+
"(%3$s) to your site."
|
338 |
+
msgstr ""
|
339 |
+
"Il tag <access> specifica se un articolo è disponibile per tutti i "
|
340 |
+
"lettori (%1$s), oppure soltanto per chi si è iscritto gratuitamente (%2$s) o "
|
341 |
+
"a pagamento (%3$s) al sito."
|
342 |
+
|
343 |
+
#: ../includes/admin.php:393 ../includes/admin.php:400
|
344 |
+
#: ../includes/admin.php:413
|
345 |
+
msgid "Registration"
|
346 |
+
msgstr "Registration"
|
347 |
+
|
348 |
+
#: ../includes/admin.php:393 ../includes/admin.php:401
|
349 |
+
#: ../includes/admin.php:414
|
350 |
+
msgid "Subscription"
|
351 |
+
msgstr "Subscription"
|
352 |
+
|
353 |
+
#: ../includes/admin.php:398
|
354 |
+
msgid "Tag normal posts as"
|
355 |
+
msgstr "Taggare i post normali come"
|
356 |
+
|
357 |
+
#: ../includes/admin.php:412
|
358 |
+
#, php-format
|
359 |
+
msgid "Tag %s posts as"
|
360 |
+
msgstr "Taggare i post %s come"
|
361 |
+
|
362 |
+
#: ../includes/admin.php:419
|
363 |
+
msgid ""
|
364 |
+
"Note: The <access> tag is required when applicable. Do not leave it to "
|
365 |
+
"Public when your content is not."
|
366 |
+
msgstr ""
|
367 |
+
"Nota: il tag <access> è richiesto quando applicabile. Non lasciare il "
|
368 |
+
"tag impostato come \"pubblico\" se il contenuto non lo è."
|
369 |
+
|
370 |
+
#: ../includes/admin.php:439 ../includes/admin.php:827
|
371 |
+
msgid "Genres (<genres> tag)"
|
372 |
+
msgstr "Genere (tag <genres>)"
|
373 |
+
|
374 |
+
#: ../includes/admin.php:440
|
375 |
+
msgid ""
|
376 |
+
"The <genres> tag specifies one or more properties for an article, "
|
377 |
+
"namely, whether it is a press release, a blog post, an opinion, an op-ed "
|
378 |
+
"piece, user-generated content, or satire."
|
379 |
+
msgstr ""
|
380 |
+
"Il tag <genres> specifica una o più proprietà di un articolo, cioè se "
|
381 |
+
"si tratta di un comunicato stampa, un post di un blog, un'opinione, un "
|
382 |
+
"editoriale, contenuti generati dagli utenti o satira."
|
383 |
+
|
384 |
+
#: ../includes/admin.php:440
|
385 |
+
msgid "You can assign Google News genres when writing a new post."
|
386 |
+
msgstr ""
|
387 |
+
"È possibile suggerire un genere a Google News tutte le volte che viene "
|
388 |
+
"scritto un nuovo post."
|
389 |
+
|
390 |
+
#: ../includes/admin.php:451
|
391 |
+
msgid "Default genre:"
|
392 |
+
msgstr "Genere di default:"
|
393 |
+
|
394 |
+
#: ../includes/admin.php:460
|
395 |
+
msgid ""
|
396 |
+
"Note: The <genres> tag is required when applicable and restricted to "
|
397 |
+
"the list provided above."
|
398 |
+
msgstr ""
|
399 |
+
"Nota: il tag <genres> è richiesto quando applicabile e selezionabile "
|
400 |
+
"in base alla lista elencata qui sopra."
|
401 |
+
|
402 |
+
#: ../includes/admin.php:472 ../includes/admin.php:828
|
403 |
+
msgid "Topics (<keywords> tag)"
|
404 |
+
msgstr "Argomento (tag <keywords>)"
|
405 |
+
|
406 |
+
#: ../includes/admin.php:473
|
407 |
+
msgid ""
|
408 |
+
"The <keywords> tag is used to help classify the articles you submit to "
|
409 |
+
"Google News by <strong>topic</strong>."
|
410 |
+
msgstr ""
|
411 |
+
"Il tag <keywords> serve per facilitare la classificazione per "
|
412 |
+
"<strong>argomento</strong> degli articoli inviati a Google News."
|
413 |
+
|
414 |
+
#: ../includes/admin.php:475
|
415 |
+
#, php-format
|
416 |
+
msgid "Use %s for topics."
|
417 |
+
msgstr "Utilizzare %s per gli argomenti."
|
418 |
+
|
419 |
+
#: ../includes/admin.php:480
|
420 |
+
msgid "Default topic(s):"
|
421 |
+
msgstr "Argomento/i di default:"
|
422 |
+
|
423 |
+
#: ../includes/admin.php:482 ../includes/admin.php:503
|
424 |
+
msgid "Separate with a comma."
|
425 |
+
msgstr "Separare con una virgola."
|
426 |
+
|
427 |
+
#: ../includes/admin.php:484
|
428 |
+
msgid ""
|
429 |
+
"Keywords may be drawn from, but are not limited to, the list of <a href="
|
430 |
+
"\"http://www.google.com/support/news_pub/bin/answer.py?answer=116037\" "
|
431 |
+
"target=\"_blank\">existing Google News keywords</a>."
|
432 |
+
msgstr ""
|
433 |
+
"Una lista di keyword è disponibile su <a href=\"https://support.google.com/"
|
434 |
+
"news/publisher/answer/116037?hl=it\" target=\"_blank\">Google News</a> ma la "
|
435 |
+
"scelta non è limitata ad esse."
|
436 |
+
|
437 |
+
#: ../includes/admin.php:494 ../includes/admin.php:829
|
438 |
+
msgid "Locations (<geo_locations> tag)"
|
439 |
+
msgstr "Ubicazione (tag <geo_location>)"
|
440 |
+
|
441 |
+
#: ../includes/admin.php:495
|
442 |
+
msgid ""
|
443 |
+
"The <geo_locations> tag is used identify the geographic location of "
|
444 |
+
"your articles."
|
445 |
+
msgstr ""
|
446 |
+
"Il tag <geo_location> è utilizzato per identificare la posizione "
|
447 |
+
"geografica dell'articolo."
|
448 |
+
|
449 |
+
#: ../includes/admin.php:495
|
450 |
+
msgid "You can assign locations when writing a new post."
|
451 |
+
msgstr ""
|
452 |
+
"È possibile assegnare l'ubicazione tutte le volte che si scrive un nuovo "
|
453 |
+
"post."
|
454 |
+
|
455 |
+
#: ../includes/admin.php:501
|
456 |
+
msgid "Default location:"
|
457 |
+
msgstr "Ubicazione di default:"
|
458 |
+
|
459 |
+
#: ../includes/admin.php:505
|
460 |
+
msgid ""
|
461 |
+
"You should list location entities from smallest entity to largest. For "
|
462 |
+
"example: <code>Detroit, Michigan, USA</code> or <code>Rhône-Alpes, France</"
|
463 |
+
"code>."
|
464 |
+
msgstr ""
|
465 |
+
"Le entità locali devono essere scritte dalla più piccola alla più grande. Ad "
|
466 |
+
"esempio: <code>Detroit, Michigan, USA</code> or <code>Rhône-Alpes, France</"
|
467 |
+
"code>."
|
468 |
+
|
469 |
+
#: ../includes/admin.php:689 ../includes/admin.php:798
|
470 |
+
msgid "XML Sitemap"
|
471 |
+
msgstr "Sitemap XML"
|
472 |
+
|
473 |
+
#: ../includes/admin.php:721
|
474 |
+
msgid "Exclude from XML Sitemap"
|
475 |
+
msgstr "Escludi dalla sitemap XML"
|
476 |
+
|
477 |
+
#: ../includes/admin.php:727
|
478 |
+
#, php-format
|
479 |
+
msgid "Leave empty for automatic Priority as configured on %1$s > %2$s."
|
480 |
+
msgstr ""
|
481 |
+
"Lasciare vuoto per utilizzare la priorità automatica configurata in %1$s > "
|
482 |
+
"%2$s."
|
483 |
+
|
484 |
+
#: ../includes/admin.php:773
|
485 |
+
msgid "Enable XML sitemaps"
|
486 |
+
msgstr "Abilita sitemap XML"
|
487 |
+
|
488 |
+
#: ../includes/admin.php:794
|
489 |
+
msgid "Reset XML sitemaps"
|
490 |
+
msgstr "Azzera sitemap XML"
|
491 |
+
|
492 |
+
#: ../includes/admin.php:801
|
493 |
+
msgid "Include post types"
|
494 |
+
msgstr "Tipi di post da includere"
|
495 |
+
|
496 |
+
#: ../includes/admin.php:804
|
497 |
+
msgid "Include taxonomies"
|
498 |
+
msgstr "Includi tassonomie"
|
499 |
+
|
500 |
+
#: ../includes/admin.php:807
|
501 |
+
msgid "Include custom URLs"
|
502 |
+
msgstr "Includi URL personalizzate"
|
503 |
+
|
504 |
+
#: ../includes/admin.php:811
|
505 |
+
msgid "Additional allowed domains"
|
506 |
+
msgstr "Domini addizionali consentiti"
|
507 |
+
|
508 |
+
#: ../includes/admin.php:824
|
509 |
+
msgid "Publication name"
|
510 |
+
msgstr "Nome pubblicazione"
|
511 |
+
|
512 |
+
#: ../includes/core.php:1059
|
513 |
+
msgid "Google News Genres"
|
514 |
+
msgstr "Google News: Generi"
|
515 |
+
|
516 |
+
#: ../includes/core.php:1060
|
517 |
+
msgid "Google News Genre"
|
518 |
+
msgstr "Google News: Genere"
|
519 |
+
|
520 |
+
#: ../includes/core.php:1078
|
521 |
+
msgid "Google News Country"
|
522 |
+
msgstr "Google News: Stato"
|
523 |
+
|
524 |
+
#: ../includes/core.php:1080 ../includes/core.php:1099
|
525 |
+
#: ../includes/core.php:1118
|
526 |
+
msgid ""
|
527 |
+
"Only one allowed. Must be consistent with other Google News location "
|
528 |
+
"entities (if set)."
|
529 |
+
msgstr ""
|
530 |
+
"Solo uno consentito. Deve essere coerente con l'entità di localizzazione (se "
|
531 |
+
"impostata)."
|
532 |
+
|
533 |
+
#: ../includes/core.php:1097
|
534 |
+
msgid "Google News State/Province"
|
535 |
+
msgstr "Google News: Provincia"
|
536 |
+
|
537 |
+
#: ../includes/core.php:1116
|
538 |
+
msgid "Google News City"
|
539 |
+
msgstr "Google News: Città"
|
languages/xml-sitemap-feed-nl_NL.mo
CHANGED
Binary file
|
languages/xml-sitemap-feed-nl_NL.po
CHANGED
@@ -1,80 +1,608 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: XML Sitemap and Google News feeds/4.
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2013-
|
6 |
-
"PO-Revision-Date: 2013-
|
7 |
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
|
8 |
-
"Language-Team:
|
9 |
-
"Language: \n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
"X-Poedit-KeywordsList: __;_e;_n\n"
|
14 |
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
-
"X-
|
16 |
-
"
|
17 |
|
18 |
-
#: ../includes/admin.php:
|
19 |
-
msgid "
|
20 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
-
#: ../includes/admin.php:
|
23 |
-
msgid "
|
24 |
-
msgstr "
|
25 |
|
26 |
-
#: ../includes/admin.php:
|
27 |
#, php-format
|
28 |
-
msgid "
|
29 |
-
msgstr "
|
30 |
|
31 |
-
#: ../includes/admin.php:
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
msgstr ""
|
|
|
|
|
34 |
|
35 |
-
#: ../includes/admin.php:
|
36 |
-
msgid "
|
|
|
37 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
39 |
-
#: ../includes/admin.php:
|
40 |
-
|
41 |
-
|
|
|
42 |
|
43 |
-
#: ../includes/admin.php:
|
44 |
-
|
45 |
-
msgid "
|
46 |
msgstr ""
|
|
|
47 |
|
48 |
-
#: ../includes/admin.php:
|
49 |
-
|
50 |
-
|
|
|
|
|
51 |
|
52 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
#, php-format
|
54 |
-
msgid "
|
55 |
-
|
|
|
|
|
|
|
56 |
|
57 |
-
#: ../includes/admin.php:
|
58 |
-
msgid "
|
59 |
-
msgstr "
|
60 |
|
61 |
-
#: ../includes/admin.php:
|
62 |
-
msgid "
|
63 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
-
#: ../includes/admin.php:
|
66 |
msgid "Enable XML sitemaps"
|
67 |
msgstr "XML sitemaps activeren"
|
68 |
|
69 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
70 |
msgid "Include post types"
|
71 |
msgstr "Post types bijsluiten"
|
72 |
|
73 |
-
#: ../includes/admin.php:
|
74 |
msgid "Include taxonomies"
|
75 |
msgstr "Taxonomieën bijsluiten"
|
76 |
|
77 |
-
#: ../includes/admin.php:
|
78 |
-
msgid "
|
79 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: XML Sitemap and Google News feeds/4.3\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2013-09-01 16:38+0100\n"
|
6 |
+
"PO-Revision-Date: 2013-09-01 17:09+0100\n"
|
7 |
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
|
8 |
+
"Language-Team: RavanH <ravanhagen@gmail.com>\n"
|
9 |
+
"Language: nl_NL\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
"X-Poedit-KeywordsList: __;_e;_n\n"
|
14 |
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
+
"X-Generator: Poedit 1.5.4\n"
|
16 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
|
18 |
+
#: ../includes/admin.php:19
|
19 |
+
msgid "XML Sitemaps"
|
20 |
+
msgstr "XML Sitemaps"
|
21 |
+
|
22 |
+
#: ../includes/admin.php:20
|
23 |
+
msgid "XML Sitemap Index"
|
24 |
+
msgstr "XML Sitemap Index"
|
25 |
+
|
26 |
+
#: ../includes/admin.php:25 ../includes/admin.php:820
|
27 |
+
msgid "Google News Sitemap"
|
28 |
+
msgstr "Google News Sitemap"
|
29 |
+
|
30 |
+
#: ../includes/admin.php:69
|
31 |
+
msgid "Google"
|
32 |
+
msgstr "Google"
|
33 |
+
|
34 |
+
#: ../includes/admin.php:72
|
35 |
+
msgid "Bing & Yahoo"
|
36 |
+
msgstr "Bing & Yahoo"
|
37 |
+
|
38 |
+
#: ../includes/admin.php:75
|
39 |
+
msgid "Yandex"
|
40 |
+
msgstr "Yandex"
|
41 |
+
|
42 |
+
#: ../includes/admin.php:78
|
43 |
+
msgid "Baidu"
|
44 |
+
msgstr "Baidu"
|
45 |
+
|
46 |
+
#: ../includes/admin.php:81
|
47 |
+
msgid "Ping-O-Matic"
|
48 |
+
msgstr "Ping-O-Matic"
|
49 |
|
50 |
+
#: ../includes/admin.php:89 ../includes/admin.php:778
|
51 |
+
msgid "Ping on Publish"
|
52 |
+
msgstr "Ping bij Publiceren"
|
53 |
|
54 |
+
#: ../includes/admin.php:113
|
55 |
#, php-format
|
56 |
+
msgid "Successfully pinged for %1$s on %2$s GMT."
|
57 |
+
msgstr "Succesvol gepinged voor %1$s op %2$s GMT."
|
58 |
|
59 |
+
#: ../includes/admin.php:123
|
60 |
+
#, php-format
|
61 |
+
msgid "Rules to append to the %s generated by WordPress."
|
62 |
+
msgstr "Regels om aan de WordPress gegenereerde %s toe te voegen."
|
63 |
+
|
64 |
+
#: ../includes/admin.php:124
|
65 |
+
msgid ""
|
66 |
+
"Only add rules here when you know what you are doing, otherwise you might "
|
67 |
+
"break search engine access to your site."
|
68 |
msgstr ""
|
69 |
+
"Definieer hier alleen regels als je weet wat je doet, anders zou je de "
|
70 |
+
"toegang tot je site kunnen verstoren."
|
71 |
|
72 |
+
#: ../includes/admin.php:124
|
73 |
+
msgid ""
|
74 |
+
"These rules will not have effect when you are using a static robots.txt file."
|
75 |
msgstr ""
|
76 |
+
"Deze regels hebben geen effect als je een statisch robots.txt bestand "
|
77 |
+
"gebruikt."
|
78 |
+
|
79 |
+
#: ../includes/admin.php:131
|
80 |
+
msgid ""
|
81 |
+
"Clear all XML Sitemap Feed options from the database and start fresh with "
|
82 |
+
"the default settings."
|
83 |
+
msgstr ""
|
84 |
+
"Wis alle XML Sitemap Feed opties van de database en start opnieuw met de "
|
85 |
+
"standaard instellingen."
|
86 |
+
|
87 |
+
#: ../includes/admin.php:133
|
88 |
+
#, php-format
|
89 |
+
msgid "Disabling and reenabling the %s plugin will have the same effect."
|
90 |
+
msgstr "Uit- en weer inschakelen van de %s plugin heeft hetzelfde effect."
|
91 |
|
92 |
+
#: ../includes/admin.php:133 ../includes/admin.php:141
|
93 |
+
#: ../includes/admin.php:352
|
94 |
+
msgid "XML Sitemap & Google News Feeds"
|
95 |
+
msgstr "XML Sitemap & Google News Feeds"
|
96 |
|
97 |
+
#: ../includes/admin.php:141 ../includes/admin.php:352
|
98 |
+
#, php-format
|
99 |
+
msgid "Donate to keep the free %s plugin development & support going!"
|
100 |
msgstr ""
|
101 |
+
"Doneer om de ontwikkeling en ondersteuning van de %s plugin gaande te houden!"
|
102 |
|
103 |
+
#: ../includes/admin.php:141
|
104 |
+
#, php-format
|
105 |
+
msgid "These settings control the XML Sitemaps generated by the %s plugin."
|
106 |
+
msgstr ""
|
107 |
+
"Deze instellingen beheersen de XML Sitemaps gegenereerd door de %s plugin."
|
108 |
|
109 |
+
#: ../includes/admin.php:150
|
110 |
+
msgid "XML Sitemaps for post types"
|
111 |
+
msgstr "XML Sitemaps voor berichttypes"
|
112 |
+
|
113 |
+
#: ../includes/admin.php:189
|
114 |
+
msgid "Year"
|
115 |
+
msgstr "Jaar"
|
116 |
+
|
117 |
+
#: ../includes/admin.php:190
|
118 |
+
msgid "Month"
|
119 |
+
msgstr "Maand"
|
120 |
+
|
121 |
+
#: ../includes/admin.php:194
|
122 |
+
msgid "Split by"
|
123 |
+
msgstr "Verdeel naar"
|
124 |
+
|
125 |
+
#: ../includes/admin.php:204
|
126 |
+
msgid ""
|
127 |
+
"Split by year if you experience errors or slow sitemaps. In very rare cases, "
|
128 |
+
"split by month is needed."
|
129 |
+
msgstr ""
|
130 |
+
"Verdeel naar jaar als je errors of trage sitemaps ondervindt. In zeldzame "
|
131 |
+
"gevallen is een verdeling naar maand nodig."
|
132 |
+
|
133 |
+
#: ../includes/admin.php:209 ../includes/admin.php:725
|
134 |
+
msgid "Priority"
|
135 |
+
msgstr "Prioriteit"
|
136 |
+
|
137 |
+
#: ../includes/admin.php:211
|
138 |
+
msgid "Priority can be overridden on individual posts."
|
139 |
+
msgstr "De Priority kan per post worden aangepast."
|
140 |
+
|
141 |
+
#: ../includes/admin.php:216
|
142 |
+
msgid ""
|
143 |
+
"Automatically adjusts Priority according to relative age and comment count."
|
144 |
+
msgstr ""
|
145 |
+
"Pas de Priority automatisch aan naar relatieve leeftijd en aantal "
|
146 |
+
"commentaren."
|
147 |
+
|
148 |
+
#: ../includes/admin.php:216
|
149 |
+
msgid ""
|
150 |
+
"Sticky posts will not be subject to reduction by age. Individual posts with "
|
151 |
+
"fixed Priority will always keep that value."
|
152 |
+
msgstr ""
|
153 |
+
"Sticky posts worden niet onderworpen aan een reductie naar leeftijd. Posts "
|
154 |
+
"met een vastgezette Priority behouden deze."
|
155 |
+
|
156 |
+
#: ../includes/admin.php:221
|
157 |
+
msgid "Update Lastmod and Changefreq on comments."
|
158 |
+
msgstr "Pas de Lastmod en Changefreq aan bij commentaren."
|
159 |
+
|
160 |
+
#: ../includes/admin.php:221
|
161 |
+
msgid ""
|
162 |
+
"Set this if discussion on your site warrants reindexation upon each new "
|
163 |
+
"comment."
|
164 |
+
msgstr ""
|
165 |
+
"Activeer dit als discussies op je site het waard zijn om na ieder commentaar "
|
166 |
+
"opnieuw geïndexeerd te worden."
|
167 |
+
|
168 |
+
#: ../includes/admin.php:225 ../includes/admin.php:371
|
169 |
+
msgid "Add image tags for"
|
170 |
+
msgstr "Voeg afbeeldingstags toe voor"
|
171 |
+
|
172 |
+
#: ../includes/admin.php:233 ../includes/admin.php:378
|
173 |
+
msgid "Attached images"
|
174 |
+
msgstr "Bijgevoegde afbeeldingen"
|
175 |
+
|
176 |
+
#: ../includes/admin.php:243
|
177 |
+
msgid ""
|
178 |
+
"Priority settings do not affect ranking in search results in any way. They "
|
179 |
+
"are only meant to suggest search engines which URLs to index first. Once a "
|
180 |
+
"URL has been indexed, its Priority becomes meaningless until its Lastmod is "
|
181 |
+
"updated."
|
182 |
+
msgstr ""
|
183 |
+
"Priority beïnvloed de positie in zoekresultaten op geen enkele wijze. Het is "
|
184 |
+
"dient om zoekmachines aan te geven welke URLs het eerst te indexeren. Zodra "
|
185 |
+
"een URL geïndexeerd is, wordt de prioriteit betekenisloos totdat de Lastmod "
|
186 |
+
"is veranderd."
|
187 |
+
|
188 |
+
#: ../includes/admin.php:243
|
189 |
+
msgid ""
|
190 |
+
"Maximum Priority (1.0) is reserved for the front page, individual posts and, "
|
191 |
+
"when allowed, posts with high comment count."
|
192 |
+
msgstr ""
|
193 |
+
"Maximum Priority (1.0) is gereserveerd voor de voorpagina, individuele posts "
|
194 |
+
"en, indien toegestaan, posts met veel commentaren."
|
195 |
+
|
196 |
+
#: ../includes/admin.php:243
|
197 |
+
msgid ""
|
198 |
+
"Priority values are taken as relative values. Setting all to the same (high) "
|
199 |
+
"value is pointless."
|
200 |
+
msgstr ""
|
201 |
+
"Priority is een relatieve waarde. Het is zinloos om ze allemaal dezelfde "
|
202 |
+
"(hoge) waarde te geven."
|
203 |
+
|
204 |
+
#: ../includes/admin.php:294
|
205 |
+
msgid "XML Sitemaps for taxonomies"
|
206 |
+
msgstr "XML Sitemaps voor taxonomieën"
|
207 |
+
|
208 |
+
#: ../includes/admin.php:300
|
209 |
+
msgid ""
|
210 |
+
"It is generally not recommended to include taxonomy pages, unless their "
|
211 |
+
"content brings added value."
|
212 |
+
msgstr ""
|
213 |
+
"Het is over het algemeen niet aangeraden om taxonomie-pagina's bij te "
|
214 |
+
"sluiten, tenzij ze een toegevoegde waarde hebben."
|
215 |
+
|
216 |
+
#: ../includes/admin.php:300
|
217 |
+
msgid ""
|
218 |
+
"For example, when you use category descriptions with information that is not "
|
219 |
+
"present elsewhere on your site or if taxonomy pages list posts with an "
|
220 |
+
"excerpt that is different from, but complementary to the post content. In "
|
221 |
+
"these cases you might consider including certain taxonomies. Otherwise, if "
|
222 |
+
"you fear <a href=\"http://moz.com/learn/seo/duplicate-content\">negative "
|
223 |
+
"affects of duplicate content</a> or PageRank spread, you might even consider "
|
224 |
+
"disallowing indexation of taxonomies."
|
225 |
+
msgstr ""
|
226 |
+
"Bijvoorbeeld als je categoriebeschrijvingen gebruikt die unieke informatie "
|
227 |
+
"bevatten of als samenvattingen op taxonomiepagina's aanvullend zijn op de "
|
228 |
+
"inhoud van de artikelen. In deze gevallen zou je kunnen overwegen bepaalde "
|
229 |
+
"taxonomieën bij te sluiten. Maar in andere gevallen zou je, als je de <a "
|
230 |
+
"href=\"http://moz.com/learn/seo/duplicate-content\">negatieve effecten van "
|
231 |
+
"dubbele inhoud</a> of verspeiding van PageRank vreest, zelfs kunnen "
|
232 |
+
"overwegen om indexatie van taxonomieën te verbieden."
|
233 |
+
|
234 |
+
#: ../includes/admin.php:300
|
235 |
#, php-format
|
236 |
+
msgid ""
|
237 |
+
"You can do this by adding specific robots.txt rules in the %s field above."
|
238 |
+
msgstr ""
|
239 |
+
"Je kunt dit doen door specifieke robots.txt-regels in het veld %s hierboven "
|
240 |
+
"toe te voegen."
|
241 |
|
242 |
+
#: ../includes/admin.php:300 ../includes/admin.php:789
|
243 |
+
msgid "Additional robots.txt rules"
|
244 |
+
msgstr "Aanvullende robots.txt regels"
|
245 |
|
246 |
+
#: ../includes/admin.php:315
|
247 |
+
msgid "No taxonomies available for the currently included post types."
|
248 |
+
msgstr "Geen taxonomieën beschikbaar voor de huidige bijgesloten post types."
|
249 |
+
|
250 |
+
#: ../includes/admin.php:331
|
251 |
+
msgid "Additional URLs to append to the XML Sitemap."
|
252 |
+
msgstr "Extra URL's om in de XML Sitemap bij te sluiten."
|
253 |
+
|
254 |
+
#: ../includes/admin.php:332
|
255 |
+
msgid ""
|
256 |
+
"Add the full URL, including protocol (http/https) and domain, of any static "
|
257 |
+
"page or WordPress page that you want to append to the ones already included "
|
258 |
+
"by the settings above. Optionally add a priority value between 0 and 1, "
|
259 |
+
"separated with a space, after the URL. Start each URL on a new line."
|
260 |
+
msgstr ""
|
261 |
+
"Voer de volledige URL in, inclusief protocol (http/https) en domein, van "
|
262 |
+
"statische pagina's of specifieke WordPress pagina's die je wil voegen bij "
|
263 |
+
"degene die middels bovenstaande instellingen al zijn geactiveerd. Geef "
|
264 |
+
"eventueel een Priority-waarde tussen 0 en 1 met een spatie gescheiden achter "
|
265 |
+
"de URL. Begin iedere URL op een nieuwe regel."
|
266 |
+
|
267 |
+
#: ../includes/admin.php:341
|
268 |
+
msgid "Additional domains to allow in the XML Sitemap."
|
269 |
+
msgstr "Extra domeinen op in de XML Sitemap toe te staan. "
|
270 |
+
|
271 |
+
#: ../includes/admin.php:342
|
272 |
+
#, php-format
|
273 |
+
msgid ""
|
274 |
+
"By default, only the domain %s as used in your WordPress site address is "
|
275 |
+
"allowed. This means that all URLs that use another domain (custom URLs or "
|
276 |
+
"using a plugin like Page Links To) are filtered from the XML Sitemap. "
|
277 |
+
"However, if you are the verified owner of other domains in your Google/Bing "
|
278 |
+
"Webmaster Tools account, you can include these in the same sitemap. Add "
|
279 |
+
"these domains, without protocol (http/https) each on a new line. Note that "
|
280 |
+
"if you enter a domain with www, all URLs without it or with other subdomains "
|
281 |
+
"will be filtered."
|
282 |
+
msgstr ""
|
283 |
+
"Standaard wordt alleen het domein %s zoals gebruikt in je WordPress "
|
284 |
+
"siteadres, toegestaan. Dit betekent dat alle URL's met een ander domein "
|
285 |
+
"(Aangepaste URL's of bij gebruik van een plugin als Page Links To) uit de "
|
286 |
+
"XML Sitemap worden gefilterd. Maar als je de geverifieerde eigenaar van "
|
287 |
+
"andere domeinen in je Google/Bing Webmaster Tools account bent, dan kun je "
|
288 |
+
"deze in de sitemap bijsluiten. Voer deze domeinen in, zonder protocol (http/"
|
289 |
+
"https), ieder op een nieuwe regel. Let op: als je een domein met www "
|
290 |
+
"gebruikt dan worden URL's zonder www of met andere subdomeinen, gefilterd."
|
291 |
+
|
292 |
+
#: ../includes/admin.php:352
|
293 |
+
#, php-format
|
294 |
+
msgid ""
|
295 |
+
"These settings control the Google News Sitemap generated by the %s plugin."
|
296 |
+
msgstr ""
|
297 |
+
"Deze instellingen beheersen de XML Sitemaps gegenereerd door de %s plugin."
|
298 |
+
|
299 |
+
#: ../includes/admin.php:352
|
300 |
+
msgid ""
|
301 |
+
"When you are done configuring and preparing your news content and you are "
|
302 |
+
"convinced your site adheres to the <a href=\"https://support.google.com/news/"
|
303 |
+
"publisher/answer/40787?ref_topic=2484652\" target=\"_blank\">Google News "
|
304 |
+
"guidelines</a>, go ahead and <a href=\"https://support.google.com/news/"
|
305 |
+
"publisher/troubleshooter/3179220?#ts=3179198\" target=\"_blank\">submit your "
|
306 |
+
"site for inclusion</a>!"
|
307 |
+
msgstr ""
|
308 |
+
"Als je klaar bent met configureren en voorbereiden van nieuwsberichten en je "
|
309 |
+
"overtuigd bent dat je site overeenstemt met de <a href=\"https://support."
|
310 |
+
"google.com/news/publisher/answer/40787?ref_topic=2484652\" target=\"_blank"
|
311 |
+
"\">Google News guidelines</a>, dan kun je <a href=\"https://support.google."
|
312 |
+
"com/news/publisher/troubleshooter/3179220?#ts=3179198\" target=\"_blank\">je "
|
313 |
+
"site voor insluiting indienen</a>!"
|
314 |
+
|
315 |
+
#: ../includes/admin.php:362
|
316 |
+
#, php-format
|
317 |
+
msgid "By default, the general %s setting will be used."
|
318 |
+
msgstr "Standaard wordt de algemene %s instelling gebruikt."
|
319 |
+
|
320 |
+
#: ../includes/admin.php:392 ../includes/admin.php:826
|
321 |
+
msgid "Access (<access> tag)"
|
322 |
+
msgstr "Toegang (<access> tag)"
|
323 |
+
|
324 |
+
#: ../includes/admin.php:393
|
325 |
+
#, php-format
|
326 |
+
msgid ""
|
327 |
+
"The <access> tag specifies whether an article is available to all "
|
328 |
+
"readers (%1$s), or only to those with a free (%2$s) or paid membership "
|
329 |
+
"(%3$s) to your site."
|
330 |
+
msgstr ""
|
331 |
+
"De <access> tag geeft aan of een artikel toegankelijk is voor iedereen "
|
332 |
+
"(%1$s), of alleen via een gratis (%2$s) of betaalde inschrijving (%3$s) op "
|
333 |
+
"je site."
|
334 |
+
|
335 |
+
#: ../includes/admin.php:393 ../includes/admin.php:400
|
336 |
+
#: ../includes/admin.php:413
|
337 |
+
msgid "Registration"
|
338 |
+
msgstr "Registratie"
|
339 |
+
|
340 |
+
#: ../includes/admin.php:393 ../includes/admin.php:401
|
341 |
+
#: ../includes/admin.php:414
|
342 |
+
msgid "Subscription"
|
343 |
+
msgstr "Abonnement"
|
344 |
+
|
345 |
+
#: ../includes/admin.php:398
|
346 |
+
msgid "Tag normal posts as"
|
347 |
+
msgstr "Normale artikelen taggen als"
|
348 |
+
|
349 |
+
#: ../includes/admin.php:412
|
350 |
+
#, php-format
|
351 |
+
msgid "Tag %s posts as"
|
352 |
+
msgstr "%s artikelen taggen als"
|
353 |
+
|
354 |
+
#: ../includes/admin.php:419
|
355 |
+
msgid ""
|
356 |
+
"Note: The <access> tag is required when applicable. Do not leave it to "
|
357 |
+
"Public when your content is not."
|
358 |
+
msgstr ""
|
359 |
+
"Let op: de <access> tag is verplicht wanneer van toepassing. Laat het "
|
360 |
+
"niet op Public als je inhoud "
|
361 |
+
|
362 |
+
#: ../includes/admin.php:439 ../includes/admin.php:827
|
363 |
+
msgid "Genres (<genres> tag)"
|
364 |
+
msgstr "Genres (<genres> tag)"
|
365 |
+
|
366 |
+
#: ../includes/admin.php:440
|
367 |
+
msgid ""
|
368 |
+
"The <genres> tag specifies one or more properties for an article, "
|
369 |
+
"namely, whether it is a press release, a blog post, an opinion, an op-ed "
|
370 |
+
"piece, user-generated content, or satire."
|
371 |
+
msgstr ""
|
372 |
+
"De <genres> tag geeft één of meer kenmerken aan een artikel, met name "
|
373 |
+
"of het een persbericht, een blog artikel, een mening, een zogenaamd op-ed "
|
374 |
+
"stuk, gebruiker-gegenereerde inhoud, of satire is."
|
375 |
+
|
376 |
+
#: ../includes/admin.php:440
|
377 |
+
msgid "You can assign Google News genres when writing a new post."
|
378 |
+
msgstr ""
|
379 |
+
"Je kunt Google News genres toewijzen bij het opstellen van een nieuw artikel."
|
380 |
+
|
381 |
+
#: ../includes/admin.php:451
|
382 |
+
msgid "Default genre:"
|
383 |
+
msgstr "Standaard genre:"
|
384 |
+
|
385 |
+
#: ../includes/admin.php:460
|
386 |
+
msgid ""
|
387 |
+
"Note: The <genres> tag is required when applicable and restricted to "
|
388 |
+
"the list provided above."
|
389 |
+
msgstr ""
|
390 |
+
"Let op: de <genres> tag is verplicht wanneer van toepassing en "
|
391 |
+
"gelimiteerd tot de bovenstaande lijst."
|
392 |
+
|
393 |
+
#: ../includes/admin.php:472 ../includes/admin.php:828
|
394 |
+
msgid "Topics (<keywords> tag)"
|
395 |
+
msgstr "Onderwerpen (<keywords> tag)"
|
396 |
+
|
397 |
+
#: ../includes/admin.php:473
|
398 |
+
msgid ""
|
399 |
+
"The <keywords> tag is used to help classify the articles you submit to "
|
400 |
+
"Google News by <strong>topic</strong>."
|
401 |
+
msgstr ""
|
402 |
+
"De <keywords> tag wordt gebruikt om de bij Google News ingediende "
|
403 |
+
"artikelen te classificeren naar <strong>onderwerp</strong>."
|
404 |
+
|
405 |
+
#: ../includes/admin.php:475
|
406 |
+
#, php-format
|
407 |
+
msgid "Use %s for topics."
|
408 |
+
msgstr "Gebruik %s voor onderwerpen."
|
409 |
+
|
410 |
+
#: ../includes/admin.php:480
|
411 |
+
msgid "Default topic(s):"
|
412 |
+
msgstr "Standaard onderwerpen:"
|
413 |
+
|
414 |
+
#: ../includes/admin.php:482 ../includes/admin.php:503
|
415 |
+
msgid "Separate with a comma."
|
416 |
+
msgstr "Scheiden met een komma."
|
417 |
+
|
418 |
+
#: ../includes/admin.php:484
|
419 |
+
msgid ""
|
420 |
+
"Keywords may be drawn from, but are not limited to, the list of <a href="
|
421 |
+
"\"http://www.google.com/support/news_pub/bin/answer.py?answer=116037\" "
|
422 |
+
"target=\"_blank\">existing Google News keywords</a>."
|
423 |
+
msgstr ""
|
424 |
+
"Keywords mogen gehaald worden uit maar zijn niet gelimiteerd tot de lijst "
|
425 |
+
"van <a href=\"http://www.google.com/support/news_pub/bin/answer.py?"
|
426 |
+
"answer=116037\" target=\"_blank\">bestaande Google News keywords</a>."
|
427 |
+
|
428 |
+
#: ../includes/admin.php:494 ../includes/admin.php:829
|
429 |
+
msgid "Locations (<geo_locations> tag)"
|
430 |
+
msgstr "Locaties (<geo_locations> tag)"
|
431 |
+
|
432 |
+
#: ../includes/admin.php:495
|
433 |
+
msgid ""
|
434 |
+
"The <geo_locations> tag is used identify the geographic location of "
|
435 |
+
"your articles."
|
436 |
+
msgstr ""
|
437 |
+
"De <geo_locations> tag dient bij het bepalen van de geografische "
|
438 |
+
"locatie van je artikelen."
|
439 |
+
|
440 |
+
#: ../includes/admin.php:495
|
441 |
+
msgid "You can assign locations when writing a new post."
|
442 |
+
msgstr "Je kunt de locatie bij het schrijven van een nieuw artikel instellen."
|
443 |
+
|
444 |
+
#: ../includes/admin.php:501
|
445 |
+
msgid "Default location:"
|
446 |
+
msgstr "Standaardlocatie:"
|
447 |
+
|
448 |
+
#: ../includes/admin.php:505
|
449 |
+
msgid ""
|
450 |
+
"You should list location entities from smallest entity to largest. For "
|
451 |
+
"example: <code>Detroit, Michigan, USA</code> or <code>Rhône-Alpes, France</"
|
452 |
+
"code>."
|
453 |
+
msgstr ""
|
454 |
+
"Locatie-eenheden dienen van kleinste naar grootste worden ingevoerd. "
|
455 |
+
"Bijvoorbeeld: <code>Detroit, Michigan, USA</code> of <code>Rhône-Alpes, "
|
456 |
+
"France</code>."
|
457 |
+
|
458 |
+
#: ../includes/admin.php:689 ../includes/admin.php:798
|
459 |
+
msgid "XML Sitemap"
|
460 |
+
msgstr "XML Sitemap"
|
461 |
+
|
462 |
+
#: ../includes/admin.php:721
|
463 |
+
msgid "Exclude from XML Sitemap"
|
464 |
+
msgstr "Uit in de XML Sitemap houden."
|
465 |
+
|
466 |
+
#: ../includes/admin.php:727
|
467 |
+
#, php-format
|
468 |
+
msgid "Leave empty for automatic Priority as configured on %1$s > %2$s."
|
469 |
+
msgstr ""
|
470 |
+
"Laat leeg voor automatische Priority zoals geconfigureerd op %1$s > %2$s."
|
471 |
|
472 |
+
#: ../includes/admin.php:773
|
473 |
msgid "Enable XML sitemaps"
|
474 |
msgstr "XML sitemaps activeren"
|
475 |
|
476 |
+
#: ../includes/admin.php:794
|
477 |
+
msgid "Reset XML sitemaps"
|
478 |
+
msgstr "XML sitemaps resetten"
|
479 |
+
|
480 |
+
#: ../includes/admin.php:801
|
481 |
msgid "Include post types"
|
482 |
msgstr "Post types bijsluiten"
|
483 |
|
484 |
+
#: ../includes/admin.php:804
|
485 |
msgid "Include taxonomies"
|
486 |
msgstr "Taxonomieën bijsluiten"
|
487 |
|
488 |
+
#: ../includes/admin.php:807
|
489 |
+
msgid "Include custom URLs"
|
490 |
+
msgstr "Aangepaste URL's bijsluiten"
|
491 |
+
|
492 |
+
#: ../includes/admin.php:811
|
493 |
+
msgid "Additional allowed domains"
|
494 |
+
msgstr "Additionele toegestane domeinen"
|
495 |
+
|
496 |
+
#: ../includes/admin.php:824
|
497 |
+
msgid "Publication name"
|
498 |
+
msgstr "Publicatienaam"
|
499 |
+
|
500 |
+
#: ../includes/core.php:1059
|
501 |
+
msgid "Google News Genres"
|
502 |
+
msgstr "Google News Genres"
|
503 |
+
|
504 |
+
#: ../includes/core.php:1060
|
505 |
+
msgid "Google News Genre"
|
506 |
+
msgstr "Google News Genre"
|
507 |
+
|
508 |
+
#: ../includes/core.php:1078
|
509 |
+
msgid "Google News Country"
|
510 |
+
msgstr "Google News Land"
|
511 |
+
|
512 |
+
#: ../includes/core.php:1080 ../includes/core.php:1099
|
513 |
+
#: ../includes/core.php:1118
|
514 |
+
msgid ""
|
515 |
+
"Only one allowed. Must be consistent with other Google News location "
|
516 |
+
"entities (if set)."
|
517 |
+
msgstr ""
|
518 |
+
"Slechts één toegestaan. Moet consistent zijn met de andere locatie-"
|
519 |
+
"entiteiten (indien ingevoerd)."
|
520 |
+
|
521 |
+
#: ../includes/core.php:1097
|
522 |
+
msgid "Google News State/Province"
|
523 |
+
msgstr "Google News Staat/Provincie"
|
524 |
+
|
525 |
+
#: ../includes/core.php:1116
|
526 |
+
msgid "Google News City"
|
527 |
+
msgstr "Google News Stad"
|
528 |
+
|
529 |
+
#~ msgid ""
|
530 |
+
#~ "XML Sitemaps will be disabled automatically when you check the option "
|
531 |
+
#~ "%1$s at %2$s above."
|
532 |
+
#~ msgstr ""
|
533 |
+
#~ "XML Sitemaps worden automatisch uitgeschakeld als je de optie %1$s bij "
|
534 |
+
#~ "%2$s aanvinkt."
|
535 |
+
|
536 |
+
#~ msgid ""
|
537 |
+
#~ "XML Sitemaps are disabled because you have checked the option %1$s at "
|
538 |
+
#~ "%2$s above."
|
539 |
+
#~ msgstr ""
|
540 |
+
#~ "XML Sitemaps zijn uitgeschakeld omdat de optie %1$s bij %2$s aangevinkt "
|
541 |
+
#~ "is."
|
542 |
+
|
543 |
+
#~ msgid "Regular XML Sitemaps"
|
544 |
+
#~ msgstr "Standaard XML Sitemaps"
|
545 |
+
|
546 |
+
#~ msgid "View"
|
547 |
+
#~ msgstr "Weergave"
|
548 |
+
|
549 |
+
#~ msgid "Include:"
|
550 |
+
#~ msgstr "Bijsluiten:"
|
551 |
+
|
552 |
+
#~ msgid ""
|
553 |
+
#~ "Only set when your site has been or will soon be accepted by Google News. "
|
554 |
+
#~ "**"
|
555 |
+
#~ msgstr ""
|
556 |
+
#~ "Alleen als je site door Google News geaccepteerd is of zal worden. **"
|
557 |
+
|
558 |
+
#~ msgid ""
|
559 |
+
#~ "** Google recommends using a seperate news sitemap. You can do this by "
|
560 |
+
#~ "checking the option %1$s at %2$s above."
|
561 |
+
#~ msgstr ""
|
562 |
+
#~ "** Google raadt het gebruik van een aparte news sitemap aan. Doe dit door "
|
563 |
+
#~ "de optie %1$s bij %2$s hier boven aan te vinken."
|
564 |
+
|
565 |
+
#~ msgid "Bing"
|
566 |
+
#~ msgstr "Bing"
|
567 |
+
|
568 |
+
#~ msgid "year of publication"
|
569 |
+
#~ msgstr "jaar van publicatie"
|
570 |
+
|
571 |
+
#~ msgid "month of publication"
|
572 |
+
#~ msgstr "maand van publicatie"
|
573 |
+
|
574 |
+
#~ msgid "Note:"
|
575 |
+
#~ msgstr "Opmerking:"
|
576 |
+
|
577 |
+
#~ msgid "year"
|
578 |
+
#~ msgstr "jaar"
|
579 |
+
|
580 |
+
#~ msgid "Divide by"
|
581 |
+
#~ msgstr "Verdeel naar"
|
582 |
+
|
583 |
+
#~ msgid "Maximum priority is reserved for sticky posts and the front page."
|
584 |
+
#~ msgstr ""
|
585 |
+
#~ "Maximale prioriteit is gereserveerd voor de homepagina en sticky posts."
|
586 |
+
|
587 |
+
#~ msgid "Use a %s priority"
|
588 |
+
#~ msgstr "Gebruik een %s prioriteit"
|
589 |
+
|
590 |
+
#~ msgid "dynamic"
|
591 |
+
#~ msgstr "dynamisch"
|
592 |
+
|
593 |
+
#~ msgid "static"
|
594 |
+
#~ msgstr "statisch"
|
595 |
+
|
596 |
+
#~ msgid "with initial value %s"
|
597 |
+
#~ msgstr "met beginwaarde %s"
|
598 |
|
599 |
+
#~ msgid ""
|
600 |
+
#~ "Dynamic priority is calculated by the initial value ajusted according to "
|
601 |
+
#~ "the relative last modification age and comment count. Sticky posts always "
|
602 |
+
#~ "get the maximum initial priority value of 1. A different priority can be "
|
603 |
+
#~ "set on a post by post basis."
|
604 |
+
#~ msgstr ""
|
605 |
+
#~ "Dynamische prioriteit wordt berekend aan de hand van de beginwaarde, "
|
606 |
+
#~ "aangepast aan de relatieve leeftijd van laatste bewerking en het aantal "
|
607 |
+
#~ "commentaren. Sticky posts krijgen altijd de maximum beginwaarde van 1. "
|
608 |
+
#~ "Een aangepaste prioriteit kan per artikel ingesteld worden."
|
languages/xml-sitemap-feed-xx_XX.po
CHANGED
@@ -2,77 +2,445 @@ 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-
|
6 |
-
"PO-Revision-Date: 2013-
|
7 |
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
|
8 |
"Language-Team: \n"
|
9 |
-
"Language: \n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
"X-Poedit-KeywordsList: __;_e;_n\n"
|
14 |
"X-Poedit-SourceCharset: UTF-8\n"
|
|
|
15 |
|
16 |
-
#: ../includes/admin.php:
|
17 |
-
msgid "
|
18 |
msgstr ""
|
19 |
|
20 |
-
#: ../includes/admin.php:
|
21 |
-
msgid "
|
22 |
msgstr ""
|
23 |
|
24 |
-
#: ../includes/admin.php:
|
25 |
-
|
26 |
-
msgid "XML Sitemaps are disabled if you have set the option %s (above) to %s."
|
27 |
msgstr ""
|
28 |
|
29 |
-
#: ../includes/admin.php:
|
30 |
-
msgid "
|
31 |
msgstr ""
|
32 |
|
33 |
-
#: ../includes/admin.php:
|
34 |
-
msgid "
|
35 |
msgstr ""
|
36 |
|
37 |
-
#: ../includes/admin.php:
|
38 |
-
msgid "
|
39 |
msgstr ""
|
40 |
|
41 |
-
#: ../includes/admin.php:
|
42 |
-
|
43 |
-
msgid "View"
|
44 |
msgstr ""
|
45 |
|
46 |
-
#: ../includes/admin.php:
|
47 |
-
msgid "
|
48 |
msgstr ""
|
49 |
|
50 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
51 |
#, php-format
|
52 |
-
msgid "
|
53 |
msgstr ""
|
54 |
|
55 |
#: ../includes/admin.php:123
|
56 |
-
|
|
|
57 |
msgstr ""
|
58 |
|
59 |
-
#: ../includes/admin.php:
|
60 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
msgstr ""
|
62 |
|
63 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
msgid "Enable XML sitemaps"
|
65 |
msgstr ""
|
66 |
|
67 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
68 |
msgid "Include post types"
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: ../includes/admin.php:
|
72 |
msgid "Include taxonomies"
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: ../includes/admin.php:
|
76 |
-
msgid "
|
|
|
|
|
|
|
|
|
77 |
msgstr ""
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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-09-01 16:38+0100\n"
|
6 |
+
"PO-Revision-Date: 2013-09-01 16:39+0100\n"
|
7 |
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
|
8 |
"Language-Team: \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-SourceCharset: UTF-8\n"
|
14 |
+
"X-Generator: Poedit 1.5.4\n"
|
15 |
|
16 |
+
#: ../includes/admin.php:19
|
17 |
+
msgid "XML Sitemaps"
|
18 |
msgstr ""
|
19 |
|
20 |
+
#: ../includes/admin.php:20
|
21 |
+
msgid "XML Sitemap Index"
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: ../includes/admin.php:25 ../includes/admin.php:820
|
25 |
+
msgid "Google News Sitemap"
|
|
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: ../includes/admin.php:69
|
29 |
+
msgid "Google"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: ../includes/admin.php:72
|
33 |
+
msgid "Bing & Yahoo"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: ../includes/admin.php:75
|
37 |
+
msgid "Yandex"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: ../includes/admin.php:78
|
41 |
+
msgid "Baidu"
|
|
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: ../includes/admin.php:81
|
45 |
+
msgid "Ping-O-Matic"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: ../includes/admin.php:89 ../includes/admin.php:778
|
49 |
+
msgid "Ping on Publish"
|
50 |
+
msgstr ""
|
51 |
+
|
52 |
+
#: ../includes/admin.php:113
|
53 |
#, php-format
|
54 |
+
msgid "Successfully pinged for %1$s on %2$s GMT."
|
55 |
msgstr ""
|
56 |
|
57 |
#: ../includes/admin.php:123
|
58 |
+
#, php-format
|
59 |
+
msgid "Rules to append to the %s generated by WordPress."
|
60 |
msgstr ""
|
61 |
|
62 |
+
#: ../includes/admin.php:124
|
63 |
+
msgid ""
|
64 |
+
"Only add rules here when you know what you are doing, otherwise you might "
|
65 |
+
"break search engine access to your site."
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: ../includes/admin.php:124
|
69 |
+
msgid ""
|
70 |
+
"These rules will not have effect when you are using a static robots.txt file."
|
71 |
+
msgstr ""
|
72 |
+
|
73 |
+
#: ../includes/admin.php:131
|
74 |
+
msgid ""
|
75 |
+
"Clear all XML Sitemap Feed options from the database and start fresh with "
|
76 |
+
"the default settings."
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: ../includes/admin.php:133
|
80 |
+
#, php-format
|
81 |
+
msgid "Disabling and reenabling the %s plugin will have the same effect."
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: ../includes/admin.php:133 ../includes/admin.php:141
|
85 |
+
#: ../includes/admin.php:352
|
86 |
+
msgid "XML Sitemap & Google News Feeds"
|
87 |
+
msgstr ""
|
88 |
+
|
89 |
+
#: ../includes/admin.php:141 ../includes/admin.php:352
|
90 |
+
#, php-format
|
91 |
+
msgid "Donate to keep the free %s plugin development & support going!"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: ../includes/admin.php:141
|
95 |
+
#, php-format
|
96 |
+
msgid "These settings control the XML Sitemaps generated by the %s plugin."
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
#: ../includes/admin.php:150
|
100 |
+
msgid "XML Sitemaps for post types"
|
101 |
+
msgstr ""
|
102 |
+
|
103 |
+
#: ../includes/admin.php:189
|
104 |
+
msgid "Year"
|
105 |
+
msgstr ""
|
106 |
+
|
107 |
+
#: ../includes/admin.php:190
|
108 |
+
msgid "Month"
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
#: ../includes/admin.php:194
|
112 |
+
msgid "Split by"
|
113 |
+
msgstr ""
|
114 |
+
|
115 |
+
#: ../includes/admin.php:204
|
116 |
+
msgid ""
|
117 |
+
"Split by year if you experience errors or slow sitemaps. In very rare cases, "
|
118 |
+
"split by month is needed."
|
119 |
+
msgstr ""
|
120 |
+
|
121 |
+
#: ../includes/admin.php:209 ../includes/admin.php:725
|
122 |
+
msgid "Priority"
|
123 |
+
msgstr ""
|
124 |
+
|
125 |
+
#: ../includes/admin.php:211
|
126 |
+
msgid "Priority can be overridden on individual posts."
|
127 |
+
msgstr ""
|
128 |
+
|
129 |
+
#: ../includes/admin.php:216
|
130 |
+
msgid ""
|
131 |
+
"Automatically adjusts Priority according to relative age and comment count."
|
132 |
+
msgstr ""
|
133 |
+
|
134 |
+
#: ../includes/admin.php:216
|
135 |
+
msgid ""
|
136 |
+
"Sticky posts will not be subject to reduction by age. Individual posts with "
|
137 |
+
"fixed Priority will always keep that value."
|
138 |
+
msgstr ""
|
139 |
+
|
140 |
+
#: ../includes/admin.php:221
|
141 |
+
msgid "Update Lastmod and Changefreq on comments."
|
142 |
+
msgstr ""
|
143 |
+
|
144 |
+
#: ../includes/admin.php:221
|
145 |
+
msgid ""
|
146 |
+
"Set this if discussion on your site warrants reindexation upon each new "
|
147 |
+
"comment."
|
148 |
+
msgstr ""
|
149 |
+
|
150 |
+
#: ../includes/admin.php:225 ../includes/admin.php:371
|
151 |
+
msgid "Add image tags for"
|
152 |
+
msgstr ""
|
153 |
+
|
154 |
+
#: ../includes/admin.php:233 ../includes/admin.php:378
|
155 |
+
msgid "Attached images"
|
156 |
+
msgstr ""
|
157 |
+
|
158 |
+
#: ../includes/admin.php:243
|
159 |
+
msgid ""
|
160 |
+
"Priority settings do not affect ranking in search results in any way. They "
|
161 |
+
"are only meant to suggest search engines which URLs to index first. Once a "
|
162 |
+
"URL has been indexed, its Priority becomes meaningless until its Lastmod is "
|
163 |
+
"updated."
|
164 |
+
msgstr ""
|
165 |
+
|
166 |
+
#: ../includes/admin.php:243
|
167 |
+
msgid ""
|
168 |
+
"Maximum Priority (1.0) is reserved for the front page, individual posts and, "
|
169 |
+
"when allowed, posts with high comment count."
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
#: ../includes/admin.php:243
|
173 |
+
msgid ""
|
174 |
+
"Priority values are taken as relative values. Setting all to the same (high) "
|
175 |
+
"value is pointless."
|
176 |
+
msgstr ""
|
177 |
+
|
178 |
+
#: ../includes/admin.php:294
|
179 |
+
msgid "XML Sitemaps for taxonomies"
|
180 |
+
msgstr ""
|
181 |
+
|
182 |
+
#: ../includes/admin.php:300
|
183 |
+
msgid ""
|
184 |
+
"It is generally not recommended to include taxonomy pages, unless their "
|
185 |
+
"content brings added value."
|
186 |
+
msgstr ""
|
187 |
+
|
188 |
+
#: ../includes/admin.php:300
|
189 |
+
msgid ""
|
190 |
+
"For example, when you use category descriptions with information that is not "
|
191 |
+
"present elsewhere on your site or if taxonomy pages list posts with an "
|
192 |
+
"excerpt that is different from, but complementary to the post content. In "
|
193 |
+
"these cases you might consider including certain taxonomies. Otherwise, if "
|
194 |
+
"you fear <a href=\"http://moz.com/learn/seo/duplicate-content\">negative "
|
195 |
+
"affects of duplicate content</a> or PageRank spread, you might even consider "
|
196 |
+
"disallowing indexation of taxonomies."
|
197 |
+
msgstr ""
|
198 |
+
|
199 |
+
#: ../includes/admin.php:300
|
200 |
+
#, php-format
|
201 |
+
msgid ""
|
202 |
+
"You can do this by adding specific robots.txt rules in the %s field above."
|
203 |
+
msgstr ""
|
204 |
+
|
205 |
+
#: ../includes/admin.php:300 ../includes/admin.php:789
|
206 |
+
msgid "Additional robots.txt rules"
|
207 |
+
msgstr ""
|
208 |
+
|
209 |
+
#: ../includes/admin.php:315
|
210 |
+
msgid "No taxonomies available for the currently included post types."
|
211 |
+
msgstr ""
|
212 |
+
|
213 |
+
#: ../includes/admin.php:331
|
214 |
+
msgid "Additional URLs to append to the XML Sitemap."
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
+
#: ../includes/admin.php:332
|
218 |
+
msgid ""
|
219 |
+
"Add the full URL, including protocol (http/https) and domain, of any static "
|
220 |
+
"page or WordPress page that you want to append to the ones already included "
|
221 |
+
"by the settings above. Optionally add a priority value between 0 and 1, "
|
222 |
+
"separated with a space, after the URL. Start each URL on a new line."
|
223 |
+
msgstr ""
|
224 |
+
|
225 |
+
#: ../includes/admin.php:341
|
226 |
+
msgid "Additional domains to allow in the XML Sitemap."
|
227 |
+
msgstr ""
|
228 |
+
|
229 |
+
#: ../includes/admin.php:342
|
230 |
+
#, php-format
|
231 |
+
msgid ""
|
232 |
+
"By default, only the domain %s as used in your WordPress site address is "
|
233 |
+
"allowed. This means that all URLs that use another domain (custom URLs or "
|
234 |
+
"using a plugin like Page Links To) are filtered from the XML Sitemap. "
|
235 |
+
"However, if you are the verified owner of other domains in your Google/Bing "
|
236 |
+
"Webmaster Tools account, you can include these in the same sitemap. Add "
|
237 |
+
"these domains, without protocol (http/https) each on a new line. Note that "
|
238 |
+
"if you enter a domain with www, all URLs without it or with other subdomains "
|
239 |
+
"will be filtered."
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: ../includes/admin.php:352
|
243 |
+
#, php-format
|
244 |
+
msgid ""
|
245 |
+
"These settings control the Google News Sitemap generated by the %s plugin."
|
246 |
+
msgstr ""
|
247 |
+
|
248 |
+
#: ../includes/admin.php:352
|
249 |
+
msgid ""
|
250 |
+
"When you are done configuring and preparing your news content and you are "
|
251 |
+
"convinced your site adheres to the <a href=\"https://support.google.com/news/"
|
252 |
+
"publisher/answer/40787?ref_topic=2484652\" target=\"_blank\">Google News "
|
253 |
+
"guidelines</a>, go ahead and <a href=\"https://support.google.com/news/"
|
254 |
+
"publisher/troubleshooter/3179220?#ts=3179198\" target=\"_blank\">submit your "
|
255 |
+
"site for inclusion</a>!"
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: ../includes/admin.php:362
|
259 |
+
#, php-format
|
260 |
+
msgid "By default, the general %s setting will be used."
|
261 |
+
msgstr ""
|
262 |
+
|
263 |
+
#: ../includes/admin.php:392 ../includes/admin.php:826
|
264 |
+
msgid "Access (<access> tag)"
|
265 |
+
msgstr ""
|
266 |
+
|
267 |
+
#: ../includes/admin.php:393
|
268 |
+
#, php-format
|
269 |
+
msgid ""
|
270 |
+
"The <access> tag specifies whether an article is available to all "
|
271 |
+
"readers (%1$s), or only to those with a free (%2$s) or paid membership "
|
272 |
+
"(%3$s) to your site."
|
273 |
+
msgstr ""
|
274 |
+
|
275 |
+
#: ../includes/admin.php:393 ../includes/admin.php:400
|
276 |
+
#: ../includes/admin.php:413
|
277 |
+
msgid "Registration"
|
278 |
+
msgstr ""
|
279 |
+
|
280 |
+
#: ../includes/admin.php:393 ../includes/admin.php:401
|
281 |
+
#: ../includes/admin.php:414
|
282 |
+
msgid "Subscription"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: ../includes/admin.php:398
|
286 |
+
msgid "Tag normal posts as"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: ../includes/admin.php:412
|
290 |
+
#, php-format
|
291 |
+
msgid "Tag %s posts as"
|
292 |
+
msgstr ""
|
293 |
+
|
294 |
+
#: ../includes/admin.php:419
|
295 |
+
msgid ""
|
296 |
+
"Note: The <access> tag is required when applicable. Do not leave it to "
|
297 |
+
"Public when your content is not."
|
298 |
+
msgstr ""
|
299 |
+
|
300 |
+
#: ../includes/admin.php:439 ../includes/admin.php:827
|
301 |
+
msgid "Genres (<genres> tag)"
|
302 |
+
msgstr ""
|
303 |
+
|
304 |
+
#: ../includes/admin.php:440
|
305 |
+
msgid ""
|
306 |
+
"The <genres> tag specifies one or more properties for an article, "
|
307 |
+
"namely, whether it is a press release, a blog post, an opinion, an op-ed "
|
308 |
+
"piece, user-generated content, or satire."
|
309 |
+
msgstr ""
|
310 |
+
|
311 |
+
#: ../includes/admin.php:440
|
312 |
+
msgid "You can assign Google News genres when writing a new post."
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
#: ../includes/admin.php:451
|
316 |
+
msgid "Default genre:"
|
317 |
+
msgstr ""
|
318 |
+
|
319 |
+
#: ../includes/admin.php:460
|
320 |
+
msgid ""
|
321 |
+
"Note: The <genres> tag is required when applicable and restricted to "
|
322 |
+
"the list provided above."
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: ../includes/admin.php:472 ../includes/admin.php:828
|
326 |
+
msgid "Topics (<keywords> tag)"
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: ../includes/admin.php:473
|
330 |
+
msgid ""
|
331 |
+
"The <keywords> tag is used to help classify the articles you submit to "
|
332 |
+
"Google News by <strong>topic</strong>."
|
333 |
+
msgstr ""
|
334 |
+
|
335 |
+
#: ../includes/admin.php:475
|
336 |
+
#, php-format
|
337 |
+
msgid "Use %s for topics."
|
338 |
+
msgstr ""
|
339 |
+
|
340 |
+
#: ../includes/admin.php:480
|
341 |
+
msgid "Default topic(s):"
|
342 |
+
msgstr ""
|
343 |
+
|
344 |
+
#: ../includes/admin.php:482 ../includes/admin.php:503
|
345 |
+
msgid "Separate with a comma."
|
346 |
+
msgstr ""
|
347 |
+
|
348 |
+
#: ../includes/admin.php:484
|
349 |
+
msgid ""
|
350 |
+
"Keywords may be drawn from, but are not limited to, the list of <a href="
|
351 |
+
"\"http://www.google.com/support/news_pub/bin/answer.py?answer=116037\" "
|
352 |
+
"target=\"_blank\">existing Google News keywords</a>."
|
353 |
+
msgstr ""
|
354 |
+
|
355 |
+
#: ../includes/admin.php:494 ../includes/admin.php:829
|
356 |
+
msgid "Locations (<geo_locations> tag)"
|
357 |
+
msgstr ""
|
358 |
+
|
359 |
+
#: ../includes/admin.php:495
|
360 |
+
msgid ""
|
361 |
+
"The <geo_locations> tag is used identify the geographic location of "
|
362 |
+
"your articles."
|
363 |
+
msgstr ""
|
364 |
+
|
365 |
+
#: ../includes/admin.php:495
|
366 |
+
msgid "You can assign locations when writing a new post."
|
367 |
+
msgstr ""
|
368 |
+
|
369 |
+
#: ../includes/admin.php:501
|
370 |
+
msgid "Default location:"
|
371 |
+
msgstr ""
|
372 |
+
|
373 |
+
#: ../includes/admin.php:505
|
374 |
+
msgid ""
|
375 |
+
"You should list location entities from smallest entity to largest. For "
|
376 |
+
"example: <code>Detroit, Michigan, USA</code> or <code>Rhône-Alpes, France</"
|
377 |
+
"code>."
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: ../includes/admin.php:689 ../includes/admin.php:798
|
381 |
+
msgid "XML Sitemap"
|
382 |
+
msgstr ""
|
383 |
+
|
384 |
+
#: ../includes/admin.php:721
|
385 |
+
msgid "Exclude from XML Sitemap"
|
386 |
+
msgstr ""
|
387 |
+
|
388 |
+
#: ../includes/admin.php:727
|
389 |
+
#, php-format
|
390 |
+
msgid "Leave empty for automatic Priority as configured on %1$s > %2$s."
|
391 |
+
msgstr ""
|
392 |
+
|
393 |
+
#: ../includes/admin.php:773
|
394 |
msgid "Enable XML sitemaps"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: ../includes/admin.php:794
|
398 |
+
msgid "Reset XML sitemaps"
|
399 |
+
msgstr ""
|
400 |
+
|
401 |
+
#: ../includes/admin.php:801
|
402 |
msgid "Include post types"
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: ../includes/admin.php:804
|
406 |
msgid "Include taxonomies"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: ../includes/admin.php:807
|
410 |
+
msgid "Include custom URLs"
|
411 |
+
msgstr ""
|
412 |
+
|
413 |
+
#: ../includes/admin.php:811
|
414 |
+
msgid "Additional allowed domains"
|
415 |
msgstr ""
|
416 |
|
417 |
+
#: ../includes/admin.php:824
|
418 |
+
msgid "Publication name"
|
419 |
+
msgstr ""
|
420 |
+
|
421 |
+
#: ../includes/core.php:1059
|
422 |
+
msgid "Google News Genres"
|
423 |
+
msgstr ""
|
424 |
+
|
425 |
+
#: ../includes/core.php:1060
|
426 |
+
msgid "Google News Genre"
|
427 |
+
msgstr ""
|
428 |
+
|
429 |
+
#: ../includes/core.php:1078
|
430 |
+
msgid "Google News Country"
|
431 |
+
msgstr ""
|
432 |
+
|
433 |
+
#: ../includes/core.php:1080 ../includes/core.php:1099
|
434 |
+
#: ../includes/core.php:1118
|
435 |
+
msgid ""
|
436 |
+
"Only one allowed. Must be consistent with other Google News location "
|
437 |
+
"entities (if set)."
|
438 |
+
msgstr ""
|
439 |
+
|
440 |
+
#: ../includes/core.php:1097
|
441 |
+
msgid "Google News State/Province"
|
442 |
+
msgstr ""
|
443 |
+
|
444 |
+
#: ../includes/core.php:1116
|
445 |
+
msgid "Google News City"
|
446 |
+
msgstr ""
|
languages/xml-sitemap-feed.pot
CHANGED
@@ -2,79 +2,450 @@ 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-
|
6 |
-
"PO-Revision-Date: 2013-
|
7 |
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
|
8 |
"Language-Team: <ravanhagen@gmail.com>\n"
|
9 |
-
"Language: \n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
-
"X-Poedit-KeywordsList: __;_e;_n
|
|
|
|
|
14 |
"X-Poedit-Basepath: .\n"
|
15 |
"X-Poedit-SourceCharset: UTF-8\n"
|
|
|
|
|
16 |
"X-Poedit-SearchPath-0: ..\n"
|
17 |
|
18 |
-
#: ../includes/admin.php:
|
19 |
-
msgid "
|
20 |
msgstr ""
|
21 |
|
22 |
-
#: ../includes/admin.php:
|
23 |
-
msgid "
|
24 |
msgstr ""
|
25 |
|
26 |
-
#: ../includes/admin.php:
|
27 |
-
|
28 |
-
msgid "XML Sitemaps are disabled if you have set the option %s (above) to %s."
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: ../includes/admin.php:
|
32 |
-
msgid "
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: ../includes/admin.php:
|
36 |
-
msgid "
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: ../includes/admin.php:
|
40 |
-
msgid "
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: ../includes/admin.php:
|
44 |
-
|
45 |
-
msgid "View"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: ../includes/admin.php:
|
49 |
-
msgid "
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
53 |
#, php-format
|
54 |
-
msgid "
|
55 |
msgstr ""
|
56 |
|
57 |
#: ../includes/admin.php:123
|
58 |
-
|
|
|
59 |
msgstr ""
|
60 |
|
61 |
-
#: ../includes/admin.php:
|
62 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
msgstr ""
|
64 |
|
65 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
msgid "Enable XML sitemaps"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: ../includes/admin.php:
|
|
|
|
|
|
|
|
|
70 |
msgid "Include post types"
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: ../includes/admin.php:
|
74 |
msgid "Include taxonomies"
|
75 |
msgstr ""
|
76 |
|
77 |
-
#: ../includes/admin.php:
|
78 |
-
msgid "
|
|
|
|
|
|
|
|
|
79 |
msgstr ""
|
80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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-09-01 16:38+0100\n"
|
6 |
+
"PO-Revision-Date: 2013-09-01 16:39+0100\n"
|
7 |
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
|
8 |
"Language-Team: <ravanhagen@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;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
|
13 |
+
"_n_noop:1,2;_c;_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_ex:1,2c;"
|
14 |
+
"esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_eesc_html_x:1,2c\n"
|
15 |
"X-Poedit-Basepath: .\n"
|
16 |
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Generator: Poedit 1.5.4\n"
|
18 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
19 |
"X-Poedit-SearchPath-0: ..\n"
|
20 |
|
21 |
+
#: ../includes/admin.php:19
|
22 |
+
msgid "XML Sitemaps"
|
23 |
msgstr ""
|
24 |
|
25 |
+
#: ../includes/admin.php:20
|
26 |
+
msgid "XML Sitemap Index"
|
27 |
msgstr ""
|
28 |
|
29 |
+
#: ../includes/admin.php:25 ../includes/admin.php:820
|
30 |
+
msgid "Google News Sitemap"
|
|
|
31 |
msgstr ""
|
32 |
|
33 |
+
#: ../includes/admin.php:69
|
34 |
+
msgid "Google"
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: ../includes/admin.php:72
|
38 |
+
msgid "Bing & Yahoo"
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: ../includes/admin.php:75
|
42 |
+
msgid "Yandex"
|
43 |
msgstr ""
|
44 |
|
45 |
+
#: ../includes/admin.php:78
|
46 |
+
msgid "Baidu"
|
|
|
47 |
msgstr ""
|
48 |
|
49 |
+
#: ../includes/admin.php:81
|
50 |
+
msgid "Ping-O-Matic"
|
51 |
msgstr ""
|
52 |
|
53 |
+
#: ../includes/admin.php:89 ../includes/admin.php:778
|
54 |
+
msgid "Ping on Publish"
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: ../includes/admin.php:113
|
58 |
#, php-format
|
59 |
+
msgid "Successfully pinged for %1$s on %2$s GMT."
|
60 |
msgstr ""
|
61 |
|
62 |
#: ../includes/admin.php:123
|
63 |
+
#, php-format
|
64 |
+
msgid "Rules to append to the %s generated by WordPress."
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: ../includes/admin.php:124
|
68 |
+
msgid ""
|
69 |
+
"Only add rules here when you know what you are doing, otherwise you might "
|
70 |
+
"break search engine access to your site."
|
71 |
+
msgstr ""
|
72 |
+
|
73 |
+
#: ../includes/admin.php:124
|
74 |
+
msgid ""
|
75 |
+
"These rules will not have effect when you are using a static robots.txt file."
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#: ../includes/admin.php:131
|
79 |
+
msgid ""
|
80 |
+
"Clear all XML Sitemap Feed options from the database and start fresh with "
|
81 |
+
"the default settings."
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: ../includes/admin.php:133
|
85 |
+
#, php-format
|
86 |
+
msgid "Disabling and reenabling the %s plugin will have the same effect."
|
87 |
+
msgstr ""
|
88 |
+
|
89 |
+
#: ../includes/admin.php:133 ../includes/admin.php:141
|
90 |
+
#: ../includes/admin.php:352
|
91 |
+
msgid "XML Sitemap & Google News Feeds"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: ../includes/admin.php:141 ../includes/admin.php:352
|
95 |
+
#, php-format
|
96 |
+
msgid "Donate to keep the free %s plugin development & support going!"
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
#: ../includes/admin.php:141
|
100 |
+
#, php-format
|
101 |
+
msgid "These settings control the XML Sitemaps generated by the %s plugin."
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: ../includes/admin.php:150
|
105 |
+
msgid "XML Sitemaps for post types"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: ../includes/admin.php:189
|
109 |
+
msgid "Year"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: ../includes/admin.php:190
|
113 |
+
msgid "Month"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: ../includes/admin.php:194
|
117 |
+
msgid "Split by"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: ../includes/admin.php:204
|
121 |
+
msgid ""
|
122 |
+
"Split by year if you experience errors or slow sitemaps. In very rare cases, "
|
123 |
+
"split by month is needed."
|
124 |
+
msgstr ""
|
125 |
+
|
126 |
+
#: ../includes/admin.php:209 ../includes/admin.php:725
|
127 |
+
msgid "Priority"
|
128 |
+
msgstr ""
|
129 |
+
|
130 |
+
#: ../includes/admin.php:211
|
131 |
+
msgid "Priority can be overridden on individual posts."
|
132 |
+
msgstr ""
|
133 |
+
|
134 |
+
#: ../includes/admin.php:216
|
135 |
+
msgid ""
|
136 |
+
"Automatically adjusts Priority according to relative age and comment count."
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: ../includes/admin.php:216
|
140 |
+
msgid ""
|
141 |
+
"Sticky posts will not be subject to reduction by age. Individual posts with "
|
142 |
+
"fixed Priority will always keep that value."
|
143 |
+
msgstr ""
|
144 |
+
|
145 |
+
#: ../includes/admin.php:221
|
146 |
+
msgid "Update Lastmod and Changefreq on comments."
|
147 |
+
msgstr ""
|
148 |
+
|
149 |
+
#: ../includes/admin.php:221
|
150 |
+
msgid ""
|
151 |
+
"Set this if discussion on your site warrants reindexation upon each new "
|
152 |
+
"comment."
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: ../includes/admin.php:225 ../includes/admin.php:371
|
156 |
+
msgid "Add image tags for"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: ../includes/admin.php:233 ../includes/admin.php:378
|
160 |
+
msgid "Attached images"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: ../includes/admin.php:243
|
164 |
+
msgid ""
|
165 |
+
"Priority settings do not affect ranking in search results in any way. They "
|
166 |
+
"are only meant to suggest search engines which URLs to index first. Once a "
|
167 |
+
"URL has been indexed, its Priority becomes meaningless until its Lastmod is "
|
168 |
+
"updated."
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: ../includes/admin.php:243
|
172 |
+
msgid ""
|
173 |
+
"Maximum Priority (1.0) is reserved for the front page, individual posts and, "
|
174 |
+
"when allowed, posts with high comment count."
|
175 |
+
msgstr ""
|
176 |
+
|
177 |
+
#: ../includes/admin.php:243
|
178 |
+
msgid ""
|
179 |
+
"Priority values are taken as relative values. Setting all to the same (high) "
|
180 |
+
"value is pointless."
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#: ../includes/admin.php:294
|
184 |
+
msgid "XML Sitemaps for taxonomies"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: ../includes/admin.php:300
|
188 |
+
msgid ""
|
189 |
+
"It is generally not recommended to include taxonomy pages, unless their "
|
190 |
+
"content brings added value."
|
191 |
+
msgstr ""
|
192 |
+
|
193 |
+
#: ../includes/admin.php:300
|
194 |
+
msgid ""
|
195 |
+
"For example, when you use category descriptions with information that is not "
|
196 |
+
"present elsewhere on your site or if taxonomy pages list posts with an "
|
197 |
+
"excerpt that is different from, but complementary to the post content. In "
|
198 |
+
"these cases you might consider including certain taxonomies. Otherwise, if "
|
199 |
+
"you fear <a href=\"http://moz.com/learn/seo/duplicate-content\">negative "
|
200 |
+
"affects of duplicate content</a> or PageRank spread, you might even consider "
|
201 |
+
"disallowing indexation of taxonomies."
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
#: ../includes/admin.php:300
|
205 |
+
#, php-format
|
206 |
+
msgid ""
|
207 |
+
"You can do this by adding specific robots.txt rules in the %s field above."
|
208 |
+
msgstr ""
|
209 |
+
|
210 |
+
#: ../includes/admin.php:300 ../includes/admin.php:789
|
211 |
+
msgid "Additional robots.txt rules"
|
212 |
+
msgstr ""
|
213 |
+
|
214 |
+
#: ../includes/admin.php:315
|
215 |
+
msgid "No taxonomies available for the currently included post types."
|
216 |
+
msgstr ""
|
217 |
+
|
218 |
+
#: ../includes/admin.php:331
|
219 |
+
msgid "Additional URLs to append to the XML Sitemap."
|
220 |
+
msgstr ""
|
221 |
+
|
222 |
+
#: ../includes/admin.php:332
|
223 |
+
msgid ""
|
224 |
+
"Add the full URL, including protocol (http/https) and domain, of any static "
|
225 |
+
"page or WordPress page that you want to append to the ones already included "
|
226 |
+
"by the settings above. Optionally add a priority value between 0 and 1, "
|
227 |
+
"separated with a space, after the URL. Start each URL on a new line."
|
228 |
+
msgstr ""
|
229 |
+
|
230 |
+
#: ../includes/admin.php:341
|
231 |
+
msgid "Additional domains to allow in the XML Sitemap."
|
232 |
+
msgstr ""
|
233 |
+
|
234 |
+
#: ../includes/admin.php:342
|
235 |
+
#, php-format
|
236 |
+
msgid ""
|
237 |
+
"By default, only the domain %s as used in your WordPress site address is "
|
238 |
+
"allowed. This means that all URLs that use another domain (custom URLs or "
|
239 |
+
"using a plugin like Page Links To) are filtered from the XML Sitemap. "
|
240 |
+
"However, if you are the verified owner of other domains in your Google/Bing "
|
241 |
+
"Webmaster Tools account, you can include these in the same sitemap. Add "
|
242 |
+
"these domains, without protocol (http/https) each on a new line. Note that "
|
243 |
+
"if you enter a domain with www, all URLs without it or with other subdomains "
|
244 |
+
"will be filtered."
|
245 |
msgstr ""
|
246 |
|
247 |
+
#: ../includes/admin.php:352
|
248 |
+
#, php-format
|
249 |
+
msgid ""
|
250 |
+
"These settings control the Google News Sitemap generated by the %s plugin."
|
251 |
+
msgstr ""
|
252 |
+
|
253 |
+
#: ../includes/admin.php:352
|
254 |
+
msgid ""
|
255 |
+
"When you are done configuring and preparing your news content and you are "
|
256 |
+
"convinced your site adheres to the <a href=\"https://support.google.com/news/"
|
257 |
+
"publisher/answer/40787?ref_topic=2484652\" target=\"_blank\">Google News "
|
258 |
+
"guidelines</a>, go ahead and <a href=\"https://support.google.com/news/"
|
259 |
+
"publisher/troubleshooter/3179220?#ts=3179198\" target=\"_blank\">submit your "
|
260 |
+
"site for inclusion</a>!"
|
261 |
+
msgstr ""
|
262 |
+
|
263 |
+
#: ../includes/admin.php:362
|
264 |
+
#, php-format
|
265 |
+
msgid "By default, the general %s setting will be used."
|
266 |
+
msgstr ""
|
267 |
+
|
268 |
+
#: ../includes/admin.php:392 ../includes/admin.php:826
|
269 |
+
msgid "Access (<access> tag)"
|
270 |
+
msgstr ""
|
271 |
+
|
272 |
+
#: ../includes/admin.php:393
|
273 |
+
#, php-format
|
274 |
+
msgid ""
|
275 |
+
"The <access> tag specifies whether an article is available to all "
|
276 |
+
"readers (%1$s), or only to those with a free (%2$s) or paid membership "
|
277 |
+
"(%3$s) to your site."
|
278 |
+
msgstr ""
|
279 |
+
|
280 |
+
#: ../includes/admin.php:393 ../includes/admin.php:400
|
281 |
+
#: ../includes/admin.php:413
|
282 |
+
msgid "Registration"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: ../includes/admin.php:393 ../includes/admin.php:401
|
286 |
+
#: ../includes/admin.php:414
|
287 |
+
msgid "Subscription"
|
288 |
+
msgstr ""
|
289 |
+
|
290 |
+
#: ../includes/admin.php:398
|
291 |
+
msgid "Tag normal posts as"
|
292 |
+
msgstr ""
|
293 |
+
|
294 |
+
#: ../includes/admin.php:412
|
295 |
+
#, php-format
|
296 |
+
msgid "Tag %s posts as"
|
297 |
+
msgstr ""
|
298 |
+
|
299 |
+
#: ../includes/admin.php:419
|
300 |
+
msgid ""
|
301 |
+
"Note: The <access> tag is required when applicable. Do not leave it to "
|
302 |
+
"Public when your content is not."
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: ../includes/admin.php:439 ../includes/admin.php:827
|
306 |
+
msgid "Genres (<genres> tag)"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: ../includes/admin.php:440
|
310 |
+
msgid ""
|
311 |
+
"The <genres> tag specifies one or more properties for an article, "
|
312 |
+
"namely, whether it is a press release, a blog post, an opinion, an op-ed "
|
313 |
+
"piece, user-generated content, or satire."
|
314 |
+
msgstr ""
|
315 |
+
|
316 |
+
#: ../includes/admin.php:440
|
317 |
+
msgid "You can assign Google News genres when writing a new post."
|
318 |
+
msgstr ""
|
319 |
+
|
320 |
+
#: ../includes/admin.php:451
|
321 |
+
msgid "Default genre:"
|
322 |
+
msgstr ""
|
323 |
+
|
324 |
+
#: ../includes/admin.php:460
|
325 |
+
msgid ""
|
326 |
+
"Note: The <genres> tag is required when applicable and restricted to "
|
327 |
+
"the list provided above."
|
328 |
+
msgstr ""
|
329 |
+
|
330 |
+
#: ../includes/admin.php:472 ../includes/admin.php:828
|
331 |
+
msgid "Topics (<keywords> tag)"
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: ../includes/admin.php:473
|
335 |
+
msgid ""
|
336 |
+
"The <keywords> tag is used to help classify the articles you submit to "
|
337 |
+
"Google News by <strong>topic</strong>."
|
338 |
+
msgstr ""
|
339 |
+
|
340 |
+
#: ../includes/admin.php:475
|
341 |
+
#, php-format
|
342 |
+
msgid "Use %s for topics."
|
343 |
+
msgstr ""
|
344 |
+
|
345 |
+
#: ../includes/admin.php:480
|
346 |
+
msgid "Default topic(s):"
|
347 |
+
msgstr ""
|
348 |
+
|
349 |
+
#: ../includes/admin.php:482 ../includes/admin.php:503
|
350 |
+
msgid "Separate with a comma."
|
351 |
+
msgstr ""
|
352 |
+
|
353 |
+
#: ../includes/admin.php:484
|
354 |
+
msgid ""
|
355 |
+
"Keywords may be drawn from, but are not limited to, the list of <a href="
|
356 |
+
"\"http://www.google.com/support/news_pub/bin/answer.py?answer=116037\" "
|
357 |
+
"target=\"_blank\">existing Google News keywords</a>."
|
358 |
+
msgstr ""
|
359 |
+
|
360 |
+
#: ../includes/admin.php:494 ../includes/admin.php:829
|
361 |
+
msgid "Locations (<geo_locations> tag)"
|
362 |
+
msgstr ""
|
363 |
+
|
364 |
+
#: ../includes/admin.php:495
|
365 |
+
msgid ""
|
366 |
+
"The <geo_locations> tag is used identify the geographic location of "
|
367 |
+
"your articles."
|
368 |
+
msgstr ""
|
369 |
+
|
370 |
+
#: ../includes/admin.php:495
|
371 |
+
msgid "You can assign locations when writing a new post."
|
372 |
+
msgstr ""
|
373 |
+
|
374 |
+
#: ../includes/admin.php:501
|
375 |
+
msgid "Default location:"
|
376 |
+
msgstr ""
|
377 |
+
|
378 |
+
#: ../includes/admin.php:505
|
379 |
+
msgid ""
|
380 |
+
"You should list location entities from smallest entity to largest. For "
|
381 |
+
"example: <code>Detroit, Michigan, USA</code> or <code>Rhône-Alpes, France</"
|
382 |
+
"code>."
|
383 |
+
msgstr ""
|
384 |
+
|
385 |
+
#: ../includes/admin.php:689 ../includes/admin.php:798
|
386 |
+
msgid "XML Sitemap"
|
387 |
+
msgstr ""
|
388 |
+
|
389 |
+
#: ../includes/admin.php:721
|
390 |
+
msgid "Exclude from XML Sitemap"
|
391 |
+
msgstr ""
|
392 |
+
|
393 |
+
#: ../includes/admin.php:727
|
394 |
+
#, php-format
|
395 |
+
msgid "Leave empty for automatic Priority as configured on %1$s > %2$s."
|
396 |
+
msgstr ""
|
397 |
+
|
398 |
+
#: ../includes/admin.php:773
|
399 |
msgid "Enable XML sitemaps"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: ../includes/admin.php:794
|
403 |
+
msgid "Reset XML sitemaps"
|
404 |
+
msgstr ""
|
405 |
+
|
406 |
+
#: ../includes/admin.php:801
|
407 |
msgid "Include post types"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: ../includes/admin.php:804
|
411 |
msgid "Include taxonomies"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: ../includes/admin.php:807
|
415 |
+
msgid "Include custom URLs"
|
416 |
+
msgstr ""
|
417 |
+
|
418 |
+
#: ../includes/admin.php:811
|
419 |
+
msgid "Additional allowed domains"
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: ../includes/admin.php:824
|
423 |
+
msgid "Publication name"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: ../includes/core.php:1059
|
427 |
+
msgid "Google News Genres"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: ../includes/core.php:1060
|
431 |
+
msgid "Google News Genre"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: ../includes/core.php:1078
|
435 |
+
msgid "Google News Country"
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: ../includes/core.php:1080 ../includes/core.php:1099
|
439 |
+
#: ../includes/core.php:1118
|
440 |
+
msgid ""
|
441 |
+
"Only one allowed. Must be consistent with other Google News location "
|
442 |
+
"entities (if set)."
|
443 |
+
msgstr ""
|
444 |
+
|
445 |
+
#: ../includes/core.php:1097
|
446 |
+
msgid "Google News State/Province"
|
447 |
+
msgstr ""
|
448 |
+
|
449 |
+
#: ../includes/core.php:1116
|
450 |
+
msgid "Google News City"
|
451 |
+
msgstr ""
|
readme.txt
CHANGED
@@ -1,57 +1,64 @@
|
|
1 |
-
=== XML Sitemap & Google News
|
2 |
Contributors: RavanH
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=ravanhagen%40gmail%2ecom&item_name=XML%20Sitemap%20Feed&item_number=3%2e8&no_shipping=0&tax=0&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=us
|
4 |
-
Tags: xml sitemap, news sitemap, sitemap.xml,
|
5 |
-
Requires at least: 3.
|
6 |
-
Tested up to:
|
7 |
-
Stable tag: 4.
|
8 |
|
9 |
-
Feeds
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
-
This plugin dynamically creates feeds that comply with the **XML Sitemap** and the **Google News Sitemap** protocol.
|
14 |
|
15 |
-
|
16 |
|
17 |
-
|
|
|
|
|
18 |
|
19 |
Please read the FAQ's for info on how to get your articles listed on Google News.
|
20 |
|
21 |
-
**Compatible with caching plugins** like WP Super Cache, W3 Total Cache and Quick Cache that cache feeds, allowing a faster serving to the
|
22 |
|
23 |
**NOTES:**
|
24 |
|
25 |
1. If you _do not use fancy URL's_ or you have WordPress installed in a _subdirectory_, a dynamic **robots.txt will NOT be generated**. You'll have to create your own and upload it to your site root! See FAQ's.
|
26 |
|
27 |
-
2. On large sites, it is advised to use a good caching plugin like **
|
28 |
|
29 |
-
=
|
30 |
|
31 |
-
*
|
|
|
32 |
* Completely **automatic** post URL _priority_ and _change frequency_ calculation based on post age and comment and trackback activity.
|
33 |
-
* Works out-of-the-box, even on **multi-site / shared codebase / multi-blog setups** like WordPress MU, WP 3.0 in MultiSite
|
34 |
-
*
|
|
|
35 |
* Compatible with multi-lingual sites using **Polylang** to allow all languages to be indexed equally.
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
= Limitations =
|
38 |
-
|
39 |
-
* Except by _re-saving_ older posts from time to time (keeping the lastmod date fairly recent) there is no way to manually control the priority of individual posts/pages in the sitemap. See the Faq's for more.
|
40 |
-
* This plugin does not ping any search engines. But then, WordPress does this by default already via the Ping-o-Matic service so why bother? See the Faq's for more.
|
41 |
-
* Because the feed is dynamically created, on _very_ large sites the creation process might take a while. Search engines are said to have a short fuse about waiting for a sitemap, so you may want to consider using a cache plugin that also (pre)caches feeds. If you are unfamiliar with caching and server setup start with an easy caching plugin such as **Quick Cache**. For more options (and better performance) you might find solace in **WP Super Cache** or **W3 Total Cache**.
|
42 |
-
* On **VERY** large sites (read: over 10.000 posts) with limited memory assigned to PHP, the generation of the sitemap might cause a problem when the process runs out of memory. See the FAQ's for tips to increase the PHP memory limit on your server.
|
43 |
|
44 |
= Translations =
|
45 |
|
46 |
-
- **Dutch** *
|
47 |
-
- **French** *
|
48 |
-
- **
|
|
|
|
|
|
|
|
|
49 |
|
50 |
-
New transtations will be accepted and listed here. See translation instructions under [Other Notes](http://wordpress.org/
|
51 |
|
52 |
= Credits =
|
53 |
|
54 |
-
XML Sitemap Feed was originally based on the discontinued plugin Standard XML Sitemap Generator by Patrick Chia.
|
55 |
|
56 |
|
57 |
== Installation ==
|
@@ -72,7 +79,7 @@ Follow these steps:
|
|
72 |
|
73 |
2. Upload the zip file via the Plugins > Add New > Upload page … OR … unpack and upload with your favourite FTP client to the /plugins/ folder.
|
74 |
|
75 |
-
3. Activate the plugin on the
|
76 |
|
77 |
4. If you have been using another XML Sitemap plugin before, check your site root and remove any created sitemap.xml file that remained there.
|
78 |
|
@@ -82,22 +89,14 @@ Done! Check your sparkling new XML Sitemap by visiting yourblogurl.tld/sitemap.x
|
|
82 |
|
83 |
Same as above but do a **Network Activate** to make a XML sitemap available for each site on your network.
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
The plugin works best from the **/mu-plugins/** folder where it runs quietly in the background without bothering any blog owner with new options or the need for special knowledge of XML Sitemap submission. Just upload the complete package content to /mu-plugins/ and move the file xml-sitemap.php from the new /mu-plugins/xml-sitemap-feed/ to /mu-plugins/.
|
88 |
-
|
89 |
-
Installed alongside [WordPress MU Sitewide Tags Pages](http://wordpress.org/extend/plugins/wordpress-mu-sitewide-tags/), XML Sitemap Feed will **not** create a sitemap.xml nor change robots.txt for any **tag blogs**. This is done deliberately because they would be full of links outside the tags blogs own domain and subsequently ignored (or worse: penalised) by Google.
|
90 |
|
91 |
|
92 |
== Frequently Asked Questions ==
|
93 |
|
94 |
-
=
|
95 |
-
|
96 |
-
Yes. In fact, it has been designed for it. Tested on WPMU 2.9.2 and WPMS 3.0.1 both with normal activation and with Network Activate / Site Wide Activate.
|
97 |
|
98 |
-
|
99 |
-
|
100 |
-
Yes. Upload the complete /xml-sitemap-feed/ directory to /wp-content/mu-plugins/ and move the file xml-sitemap.php one dir up.
|
101 |
|
102 |
= How do I get my latest articles listed on Google News? =
|
103 |
|
@@ -107,41 +106,23 @@ You will also want to add the sitemap to your [Google Webmasters Tools account](
|
|
107 |
|
108 |
= My Google News Sitemap is empty! =
|
109 |
|
110 |
-
The rules of the Google News game are that you do not feed the
|
111 |
-
|
112 |
-
= How are the values for priority and changefreq calculated? =
|
113 |
-
|
114 |
-
The front page has a fixed priority of 100% (1.0). When your site has more posts than pages (you must be using WordPress for a blog), pages have a default priority of 40% (0.4) and posts have a default priority of 80% (0.8). If your site has more pages than posts (you must be using WordPress as CMS), pages have a default priority of 80% (0.8) and posts have a default priority of 40% (0.4).
|
115 |
-
|
116 |
-
Page and post priority can vary between 0% (0.0) and 100% (1.0). Page priority depends on the page level (decreasing 10% for each sub-level) and relative number of comments. Post priority depends on relative number of comments and relative last comment age or (when the post has no comments) last post modification age.
|
117 |
-
|
118 |
-
The changefreq of the front page is fixed to daily and calculated for pages and post to either daily, weekly, monthly or yearly depending on age and comment activity.
|
119 |
-
|
120 |
-
Dynamic pages like category pages, tag pages and archive pages are not listed in the XML Sitemap.
|
121 |
|
122 |
= Can I manipulate values for priority and changefreq? =
|
123 |
|
124 |
-
Yes
|
125 |
-
|
126 |
-
This feature can be used to your advantage: by re-saving your most important older posts from time to time, keeping the **lastmod date** fairly recent, you can ensure a priority of at least 80% (0.8) for those URLs. And if you have enough comments on on those pages, the priority can even go up to 100% (1.0).
|
127 |
-
|
128 |
-
If you cannot live with these rules, edit the values `$min_priority`, `$max_priority` and `$frontpage_priority` in xml-sitemap-feed/feed-sitemap.php but be careful to NOT do an automatic upgrade or it will overwrite your customisation.
|
129 |
|
130 |
= Do I need to submit the sitemap to search engines? =
|
131 |
|
132 |
No. In normal circumstances, your site will be indexed by the major search engines before you know it. The search engines will be looking for a robots.txt file and (with this plugin activated) find a pointer in it to the XML Sitemap on your blog. The search engines will return on a regular basis to see if your site has updates.
|
133 |
-
( Read more about _Ping-O-Matic_ under **Does this plugin ping search engines** (below) to make sure your site is under _normal circumstances_ ;) )
|
134 |
|
135 |
-
|
136 |
|
137 |
-
|
138 |
|
139 |
-
|
140 |
-
|
141 |
-
1. WordPress has a built-in pinging feature. Go in your WP Admin section to Settings > Writing and make sure that the text area under **Update services** contains at least `http://rpc.pingomatic.com`. Read more on [Ping-O-Matic](http://pingomatic.com) about what excellent service you are actually getting _for free with every WordPress blog_ installation!
|
142 |
-
1. For the average website, in my experience, pinging Google or others after each little change does not benefit anything except a theoretical smaller delay in re-indexation of your website. This is only theoretical because if your site is popular and active, major search engines will likely be crawling your site on a very regular basis anyway. And if, on the other hand, your site is not high on the agenda of the major search engines, they will likely give no priority to your pings at all.
|
143 |
|
144 |
-
|
145 |
|
146 |
= Do I need to change my robots.txt? =
|
147 |
|
@@ -164,9 +145,9 @@ If you already have a robots.txt file with another Sitemap reference like it, ju
|
|
164 |
|
165 |
No. While I would advise you to use any one of the nicer Permalink structures for better indexing, you might not be able to (or don't want to) do that. If so, you can still use this plugin:
|
166 |
|
167 |
-
Check to see if the URL
|
168 |
`
|
169 |
-
Sitemap: http://
|
170 |
|
171 |
User-agent: *
|
172 |
Allow: /
|
@@ -175,7 +156,7 @@ You can also choose to notify major search engines of your new XML sitemap manua
|
|
175 |
|
176 |
= Can I change the sitemap name/URL? =
|
177 |
|
178 |
-
No. If you have fancy URL's turned ON in WordPress (Permalinks), the sitemap url that you manually submit to Google (if you are impatient) should be `yourblogurl.tld/sitemap.xml` but if you have the Permalinks' Default option set the feed is only available via `
|
179 |
|
180 |
= Where can I customize the xml output? =
|
181 |
|
@@ -183,6 +164,8 @@ You may edit the XML output in `xml-sitemap-feed/feed-sitemap.php` but be carefu
|
|
183 |
|
184 |
The stylesheet (to make the sitemap human readable) can be edited in `xml-sitemap-feed/sitemap.xsl.php`.
|
185 |
|
|
|
|
|
186 |
= I see no sitemap.xml file in my site root! =
|
187 |
|
188 |
The sitemap is dynamically generated just like a feed. There is no actual file created.
|
@@ -226,7 +209,7 @@ There is a know issue with WordPress (at least up to 2.8) not generating a robot
|
|
226 |
|
227 |
To get around this, you might either at least write one post and give it _Private_ status or alternatively create your own robots.txt file containing:
|
228 |
`
|
229 |
-
Sitemap: http://
|
230 |
|
231 |
User-agent: *
|
232 |
Allow: /
|
@@ -237,32 +220,42 @@ and upload it to your web root...
|
|
237 |
|
238 |
On some setups (usually using the WordPress MU Domain Mapping plugin) this error occurs. The problem is known, the cause is not... Until I find out why this is happening, please take comfort in knowing that this only affects reading the sitemap in normal browsers but will NOT affect any spidering/indexing on your site. The sitemap is still readable by all search engines!
|
239 |
|
240 |
-
|
241 |
|
242 |
-
|
243 |
|
244 |
-
|
245 |
|
|
|
246 |
|
247 |
-
|
248 |
|
249 |
-
|
250 |
|
251 |
-
|
252 |
|
253 |
-
|
254 |
|
255 |
-
|
256 |
|
257 |
-
|
258 |
|
259 |
-
|
260 |
|
261 |
-
7. When done, go to File > Save as... and replace the xx_XX in the file name with the appropriate language and country code for your translation. Leave the rest of the file name the same and Save.
|
262 |
|
263 |
-
|
264 |
|
265 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
|
267 |
Thanks for sharing your translation :)
|
268 |
|
@@ -275,12 +268,67 @@ Thanks for sharing your translation :)
|
|
275 |
|
276 |
== Upgrade Notice ==
|
277 |
|
278 |
-
= 4.
|
279 |
-
|
280 |
|
281 |
|
282 |
== Changelog ==
|
283 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
= 4.0.1 =
|
285 |
* NEW: Dutch and French translations
|
286 |
* BUGFIX: Non public sites still have sitemap by default
|
@@ -378,5 +426,5 @@ Bugfix release.
|
|
378 |
* BUGFIX: `get_post_modified_time` instead of `get_post_time`
|
379 |
|
380 |
= 0.1 =
|
381 |
-
* rework from Patrick Chia's [Standard XML Sitemaps](http://wordpress.org/
|
382 |
* increased post urls limit from 100 to 1000 (of max. 50,000 allowed by the Sitemap protocol)
|
1 |
+
=== XML Sitemap & Google News feeds ===
|
2 |
Contributors: RavanH
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=ravanhagen%40gmail%2ecom&item_name=XML%20Sitemap%20Feed&item_number=3%2e8&no_shipping=0&tax=0&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=us
|
4 |
+
Tags: sitemap, xml sitemap, news sitemap, sitemap.xml, robots.txt, Google, Google News, Yahoo, Bing, , Yandex, Baidu, seo, feed, polylang, image sitemap
|
5 |
+
Requires at least: 3.2
|
6 |
+
Tested up to: 4.2
|
7 |
+
Stable tag: 4.3.2
|
8 |
|
9 |
+
Feeds from the XML Sitemap and Google News menu for the hungry spiders. Multisite compatible.
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
+
This plugin dynamically creates feeds that comply with the **XML Sitemap** and the **Google News Sitemap** protocol. **Multisite** and **Polylang** compatible and there are no files created. Options can be found on **Settings > Reading** to control which sitemaps, which post and taxonomy types are included, how priority is calculated, who to ping and set additional robots.txt rules.
|
14 |
|
15 |
+
The main advantage of this plugin over other XML Sitemap plugins is **simplicity**. No need to change file or folder permissions, move files or spend time tweaking difficult plugin options.
|
16 |
|
17 |
+
You, or site owners on your Multisite network, will not be bothered with complicated settings like most other XML Sitemap plugins. The default settings will suffice in most cases and XML sitemap values like ChangeFreq and URL Priority are auto-calculated based on post age and comment activity.
|
18 |
+
|
19 |
+
The XML Sitemap Index becomes instantly available on yourblog.url/sitemap.xml (or yourblog.url/?feed=sitemap) containing references to posts and pages by default, ready for indexing by search engines like Google, Bing, Yahoo, AOL and Ask. When the Google News Sitemap is activated, it will become available on yourblog.url/sitemap-news.xml (or yourblog.url/?feed=sitemap-news), ready for indexing by Google News. Both are automatically referenced in the dynamically created **robots.txt** on yourblog.url/robots.txt to tell search engines where to find your XML Sitemaps. Google and Bing can be pinged on each new publication.
|
20 |
|
21 |
Please read the FAQ's for info on how to get your articles listed on Google News.
|
22 |
|
23 |
+
**Compatible with caching plugins** like WP Super Cache, W3 Total Cache and Quick Cache that cache feeds, allowing a faster serving to the impatient (when hungry) spider.
|
24 |
|
25 |
**NOTES:**
|
26 |
|
27 |
1. If you _do not use fancy URL's_ or you have WordPress installed in a _subdirectory_, a dynamic **robots.txt will NOT be generated**. You'll have to create your own and upload it to your site root! See FAQ's.
|
28 |
|
29 |
+
2. On large sites, it is advised to use a good caching plugin like **WP Super Cache**, **Quick Cache** or **W3 Total Cache** to improve your site _and_ sitemap performance.
|
30 |
|
31 |
+
= Features =
|
32 |
|
33 |
+
* Sitemap Index with optional inclusion of sitemaps for post types, categories and tags.
|
34 |
+
* Optional Google News sitemap.
|
35 |
* Completely **automatic** post URL _priority_ and _change frequency_ calculation based on post age and comment and trackback activity.
|
36 |
+
* Works out-of-the-box, even on **multi-site / shared codebase / multi-blog setups** like WordPress MU, WP 3.0 in MultiSite mode and others.
|
37 |
+
* Optionally include Image tags with caption and title for featured images or attached images in both regular and Google News sitemaps.
|
38 |
+
* Pings Google, Bing & Yahoo and optionally Yandex and Baidu on new post publication.
|
39 |
* Compatible with multi-lingual sites using **Polylang** to allow all languages to be indexed equally.
|
40 |
+
* Options to define which post types and taxonomies get included in the sitemap and automatic priority calculation rules.
|
41 |
+
* Set priority per post.
|
42 |
+
* Exclude individual posts or pages.
|
43 |
+
* Option to add new robots.txt rules. These can be used to further control (read: limit) the indexation of various parts of your site and subsequent spread of pagerank accross your sites pages.
|
44 |
+
* Includes XLS stylesheets for human readable sitemaps.
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
= Translations =
|
48 |
|
49 |
+
- **Dutch** * R.A. van Hagen http://status301.net (version 4.3)
|
50 |
+
- **French** * R.A. van Hagen http://status301.net (version 4.2) (improved translation or suggestions welcome)
|
51 |
+
- **Indonesian** * Nasrulhaq Muiz http://al-badar.net/ (version 4.2)
|
52 |
+
- **Italian** * Raffaello Tesi http://www.raffaellotesi.com (version 4.3.2)
|
53 |
+
- **Serbian** * WPdiscounts http://wpdiscounts.com/ (version 4.1)
|
54 |
+
- **Spanish** * Andrew Kurtis - WebHostingHub Support http://www.webhostinghub.com/ (version 4.3.2)
|
55 |
+
- **Ukrainian** * Cmd Software http://www.cmd-soft.com/ (version 4.0)
|
56 |
|
57 |
+
New transtations will be accepted and listed here. See translation instructions under [Other Notes](http://wordpress.org/plugins/xml-sitemap-feed/other_notes/).
|
58 |
|
59 |
= Credits =
|
60 |
|
61 |
+
XML Sitemap Feed was originally based on the discontinued plugin Standard XML Sitemap Generator by Patrick Chia. Since then, it has been completely rewritten and extended in many ways.
|
62 |
|
63 |
|
64 |
== Installation ==
|
79 |
|
80 |
2. Upload the zip file via the Plugins > Add New > Upload page … OR … unpack and upload with your favourite FTP client to the /plugins/ folder.
|
81 |
|
82 |
+
3. Activate the plugin on the Plugins page.
|
83 |
|
84 |
4. If you have been using another XML Sitemap plugin before, check your site root and remove any created sitemap.xml file that remained there.
|
85 |
|
89 |
|
90 |
Same as above but do a **Network Activate** to make a XML sitemap available for each site on your network.
|
91 |
|
92 |
+
Installed alongside [WordPress MU Sitewide Tags Pages](http://wordpress.org/plugins/wordpress-mu-sitewide-tags/), XML Sitemap Feed will **not** create a sitemap.xml nor change robots.txt for any **tag blogs**. This is done deliberately because they would be full of links outside the tags blogs own domain and subsequently ignored (or worse: penalised) by Google.
|
|
|
|
|
|
|
|
|
93 |
|
94 |
|
95 |
== Frequently Asked Questions ==
|
96 |
|
97 |
+
= Where are the options? =
|
|
|
|
|
98 |
|
99 |
+
See the XML Sitemaps section on **Settings > Reading**.
|
|
|
|
|
100 |
|
101 |
= How do I get my latest articles listed on Google News? =
|
102 |
|
106 |
|
107 |
= My Google News Sitemap is empty! =
|
108 |
|
109 |
+
The rules of the Google News game are that you do not feed the monster any stale food. Older than 2 days is bad. You need to whip up some fresh chow ;)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
|
111 |
= Can I manipulate values for priority and changefreq? =
|
112 |
|
113 |
+
Yes. You can find default settings for priority, changefreq and lastmod on **Settings > Reading**. A fixed priority can be set on a post by post basis too.
|
|
|
|
|
|
|
|
|
114 |
|
115 |
= Do I need to submit the sitemap to search engines? =
|
116 |
|
117 |
No. In normal circumstances, your site will be indexed by the major search engines before you know it. The search engines will be looking for a robots.txt file and (with this plugin activated) find a pointer in it to the XML Sitemap on your blog. The search engines will return on a regular basis to see if your site has updates.
|
|
|
118 |
|
119 |
+
Besides that, Google and Bing are pinged upon each new publication.
|
120 |
|
121 |
+
**NOTE:** If you have a server _without rewrite rules_, use your blog _without fancy URLs_ (meaning, you have WordPress Permalinks set to the old default value) or have it installed in a _subdirectory_, then read **Do I need to change my robots.txt** for more instructions.
|
122 |
|
123 |
+
= Does this plugin ping search engines? =
|
|
|
|
|
|
|
124 |
|
125 |
+
Yes, Google and Bing are pinged upon each new publication. Unless you disable this feature on **Settings > Reading**.
|
126 |
|
127 |
= Do I need to change my robots.txt? =
|
128 |
|
145 |
|
146 |
No. While I would advise you to use any one of the nicer Permalink structures for better indexing, you might not be able to (or don't want to) do that. If so, you can still use this plugin:
|
147 |
|
148 |
+
Check to see if the URL yourblog.url/?feed=sitemap does produce a feed. Now manually upload your own robots.txt file to your website root containing:
|
149 |
`
|
150 |
+
Sitemap: http://yourblog.url/?feed=sitemap
|
151 |
|
152 |
User-agent: *
|
153 |
Allow: /
|
156 |
|
157 |
= Can I change the sitemap name/URL? =
|
158 |
|
159 |
+
No. If you have fancy URL's turned ON in WordPress (Permalinks), the sitemap url that you manually submit to Google (if you are impatient) should be `yourblogurl.tld/sitemap.xml` but if you have the Permalinks' Default option set the feed is only available via `yourblog.url/?feed=sitemap`.
|
160 |
|
161 |
= Where can I customize the xml output? =
|
162 |
|
164 |
|
165 |
The stylesheet (to make the sitemap human readable) can be edited in `xml-sitemap-feed/sitemap.xsl.php`.
|
166 |
|
167 |
+
Note: your modifications will be overwritten upon the next plugin upgrade!
|
168 |
+
|
169 |
= I see no sitemap.xml file in my site root! =
|
170 |
|
171 |
The sitemap is dynamically generated just like a feed. There is no actual file created.
|
209 |
|
210 |
To get around this, you might either at least write one post and give it _Private_ status or alternatively create your own robots.txt file containing:
|
211 |
`
|
212 |
+
Sitemap: http://yourblog.url/sitemap.xml
|
213 |
|
214 |
User-agent: *
|
215 |
Allow: /
|
220 |
|
221 |
On some setups (usually using the WordPress MU Domain Mapping plugin) this error occurs. The problem is known, the cause is not... Until I find out why this is happening, please take comfort in knowing that this only affects reading the sitemap in normal browsers but will NOT affect any spidering/indexing on your site. The sitemap is still readable by all search engines!
|
222 |
|
223 |
+
**XML declaration allowed only at the start of the document**
|
224 |
|
225 |
+
This error occurs when blank lines or other output is generated before the start of the actual sitemap content. This can be caused by blank lines at the beginning of wp-config.php or your themes functions.php or by another plugin that generates output where it shouldn't. You'll need to test by disabling all other plugins, switching to the default theme and manually inspecting your wp-config.php file.
|
226 |
|
227 |
+
= I see only a BLANK (white) page when opening the sitemap =
|
228 |
|
229 |
+
There are several cases where this might happen.
|
230 |
|
231 |
+
Open your sitemap in a browser and look at the source code. This can usually be seen by hitting Ctrl+U or right-click then select 'View source...' Then scan the produced source (if any) for errors.
|
232 |
|
233 |
+
A. If you see strange output in the first few lines (head tags) of the source, then there is a conflict or bug occuring on your installation. Please go to the [Support forum](http://wordpress.org/support/plugin/xml-sitemap-feed) for help.
|
234 |
|
235 |
+
B. If the source is empty or incomplete then you're probably experiencing an issue with your servers PHP memory limit. In those cases, you should see a messages like `PHP Fatal error: Allowed memory size of xxxxxx bytes exhausted.` in your server/account error log file.
|
236 |
|
237 |
+
This can happen on large sites. To avoid these issues, there is an option to split posts over different sitemaps on Settings > Reading. Try different settings, each time revisiting the main sitemap index file and open different sitemaps listed there to check.
|
238 |
|
239 |
+
Read more on [Increasing memory allocated to PHP](http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP) (try a value higher than 256M) or ask your hosting provider what you can do.
|
240 |
|
241 |
+
= Can I run this on a WPMU / WP3+ Multi-Site setup? =
|
242 |
|
243 |
+
Yes. In fact, it has been designed for it. Tested on WPMU 2.9.2 and WPMS 3+ both with normal activation and with Network Activate / Site Wide Activate.
|
244 |
|
|
|
245 |
|
246 |
+
== Translation ==
|
247 |
|
248 |
+
1. Install PoEdit on your computer.
|
249 |
+
1. Go to this plugins /languages/ directory.
|
250 |
+
1. If there is no .po file that corresponds with your language yet, rename the template translation database xml-sitemap-feed-xx_XX.po by replacing the xx with your language code and XX with your country code.
|
251 |
+
1. Open the .po file of your language with PoEdit.
|
252 |
+
1. Go to Edit > Preferences and on the tab Editor check the option to compile a .mo database on save automatically. Close with OK.
|
253 |
+
1. Go to Catalog > Settings and set your name, e-mail address, language and country. Close with OK.
|
254 |
+
1. Go to Catalog > Update from POT-file and select the main xml-sitemap-feed.pot file. Then accept all new and removed translation strings with OK.
|
255 |
+
1. Now go ahead and start translating all the texts listed in PoEdit.
|
256 |
+
1. When done, go to File > Save to Save.
|
257 |
+
1. Upload the automatically created xml-sitemap-feed-xx_XX.mo database file (where xx_XX should now be your language and country code) to the plugins /languages/ directory on your WordPress site.
|
258 |
+
1. After verifying the translations work on your site, send the .mo file and, if you're willing to share it, your original .po file to ravanhagen@gmail.com and don't forget to tell me how and with what link you would like to be mentioned in the credits!
|
259 |
|
260 |
Thanks for sharing your translation :)
|
261 |
|
268 |
|
269 |
== Upgrade Notice ==
|
270 |
|
271 |
+
= 4.3.2 =
|
272 |
+
Custom domains and URLs. Major Google News sitemap settings changes. Plus bugfixes.
|
273 |
|
274 |
|
275 |
== Changelog ==
|
276 |
|
277 |
+
= 4.3.2 =
|
278 |
+
* BUGFIX: html esc / filter image title and caption tags
|
279 |
+
* BUGFIX: empty terms counted causing empty taxonomy sitemap appearing in index
|
280 |
+
* BUGFIX: custom taxonomies where lastmod cannot be determined show empty lastmod tag
|
281 |
+
|
282 |
+
= 4.3 =
|
283 |
+
* Google News sitemap settings section
|
284 |
+
* Google News tags: access, genres, keywords, geo_locations
|
285 |
+
* Improved Google News stylesheet
|
286 |
+
* Custom Google News Publication Name
|
287 |
+
* Image tags in Google News sitemap
|
288 |
+
* Custom URLs
|
289 |
+
* Allow additional domains
|
290 |
+
* Image caption and title tags
|
291 |
+
* Ping Yandex and Baidu optional
|
292 |
+
* BUGFIX: Ineffective robots.txt rules
|
293 |
+
* BUGFIX: Priority value 0 in post meta not saved
|
294 |
+
* BUGFIX: Ping for all post types
|
295 |
+
* BUGFIX: Custom taxonomy support
|
296 |
+
* BUGFIX: Split by month shows year
|
297 |
+
|
298 |
+
= 4.2.4 =
|
299 |
+
* NEW: Image tags
|
300 |
+
* Rearranged settings section
|
301 |
+
* FIX: replace permalink, title and bloginfo rss filter hooks with own
|
302 |
+
|
303 |
+
= 4.2.3 =
|
304 |
+
* BUGFIX: Empty ping options after disabling the main sitemap
|
305 |
+
* BUGFIX: Empty language tag for Google News tags in posts sitemap
|
306 |
+
* Small back end changes
|
307 |
+
* NEW: Custom post types split by year/month
|
308 |
+
|
309 |
+
= 4.2 =
|
310 |
+
* NEW: Image & News tags
|
311 |
+
* NEW: Exclude pages/posts
|
312 |
+
|
313 |
+
= 4.1.4 =
|
314 |
+
* BUGFIX: Pass by reference fatal error in PHP 5.4
|
315 |
+
* BUGFIX: issue with Polylang language code in pretty permalinks setting
|
316 |
+
* BUGFIX: unselected post types in sitemap
|
317 |
+
* BUGFIX: 1+ Priority for sticky posts with comments
|
318 |
+
* Dutch and French translations updated
|
319 |
+
|
320 |
+
= 4.1 =
|
321 |
+
* NEW: Ping Google and Bing on new publications
|
322 |
+
* NEW: Set priority per post
|
323 |
+
* NEW: Priority calculation options
|
324 |
+
* NEW: Option to split posts by year or month for faster generation of each sitemap
|
325 |
+
* Reduced queries to increase performance
|
326 |
+
* Improved Lastmod and Changefreq calculations
|
327 |
+
* Core class improvements
|
328 |
+
* Dropped qTranslate support
|
329 |
+
* Dropped PHP4 support
|
330 |
+
* BUGFIX: removed several PHP notices
|
331 |
+
|
332 |
= 4.0.1 =
|
333 |
* NEW: Dutch and French translations
|
334 |
* BUGFIX: Non public sites still have sitemap by default
|
426 |
* BUGFIX: `get_post_modified_time` instead of `get_post_time`
|
427 |
|
428 |
= 0.1 =
|
429 |
+
* rework from Patrick Chia's [Standard XML Sitemaps](http://wordpress.org/plugins/standard-xml-sitemap/)
|
430 |
* increased post urls limit from 100 to 1000 (of max. 50,000 allowed by the Sitemap protocol)
|
xml-sitemap.php
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Plugin Name: XML Sitemap & Google News
|
4 |
Plugin URI: http://status301.net/wordpress-plugins/xml-sitemap-feed/
|
5 |
-
Description:
|
6 |
Text Domain: xml-sitemap-feed
|
7 |
-
Version: 4.
|
8 |
Author: RavanH
|
9 |
Author URI: http://status301.net/
|
10 |
*/
|
@@ -27,14 +27,18 @@ Author URI: http://status301.net/
|
|
27 |
* --------------------
|
28 |
*
|
29 |
* FILTERS
|
30 |
-
* xml_sitemap_url
|
31 |
* (deprecated) (receives an ARRAY and MUST return one; can be multiple urls)
|
32 |
-
*
|
33 |
-
*
|
34 |
-
*
|
35 |
-
*
|
36 |
-
*
|
37 |
-
* xmlsf_defaults
|
|
|
|
|
|
|
|
|
38 |
|
39 |
* ACTIONS
|
40 |
* [ none at this point, but feel free to request, suggest or submit one :) ]
|
@@ -48,6 +52,15 @@ if(!empty($_SERVER['SCRIPT_FILENAME']) && 'xml-sitemap.php' == basename($_SERVER
|
|
48 |
* CONSTANTS
|
49 |
* -------------------- */
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
/* The following constants can be used to change plugin defaults by defining them in wp-config.php */
|
52 |
|
53 |
/*
|
@@ -104,15 +117,6 @@ if ( !defined('XMLSF_NEWS_POST_TYPE') )
|
|
104 |
*/
|
105 |
|
106 |
|
107 |
-
/* The following constants should not be changed */
|
108 |
-
|
109 |
-
define('XMLSF_VERSION', '4.0.1');
|
110 |
-
|
111 |
-
if ( file_exists ( dirname(__FILE__).'/xml-sitemap-feed' ) )
|
112 |
-
define('XMLSF_PLUGIN_DIR', dirname(__FILE__) . '/xml-sitemap-feed');
|
113 |
-
else
|
114 |
-
define('XMLSF_PLUGIN_DIR', dirname(__FILE__));
|
115 |
-
|
116 |
|
117 |
/* -------------------------------------
|
118 |
* MISSING WORDPRESS FUNCTIONS
|
1 |
<?php
|
2 |
/*
|
3 |
+
Plugin Name: XML Sitemap & Google News feeds
|
4 |
Plugin URI: http://status301.net/wordpress-plugins/xml-sitemap-feed/
|
5 |
+
Description: Feed the hungry spiders in compliance with the XML Sitemap and Google News protocols. Happy with the results? Please leave me a <strong><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=ravanhagen%40gmail%2ecom&item_name=XML%20Sitemap%20Feed&item_number=4%2e0&no_shipping=0&tax=0&bn=PP%2dDonationsBF&charset=UTF%2d8&lc=us">tip</a></strong> for continued development and support. Thanks :)
|
6 |
Text Domain: xml-sitemap-feed
|
7 |
+
Version: 4.3.2
|
8 |
Author: RavanH
|
9 |
Author URI: http://status301.net/
|
10 |
*/
|
27 |
* --------------------
|
28 |
*
|
29 |
* FILTERS
|
30 |
+
* xml_sitemap_url -> Filters the URL used in the sitemap reference in robots.txt
|
31 |
* (deprecated) (receives an ARRAY and MUST return one; can be multiple urls)
|
32 |
+
* and for the home URL in the sitemap (receives a STRING and MUST
|
33 |
+
* return one) itself. Useful for multi language plugins or other
|
34 |
+
* plugins that affect the blogs main URL... See pre-defined filter
|
35 |
+
* XMLSitemapFeed::qtranslate() in XMLSitemapFeed.class.php as an
|
36 |
+
* example.
|
37 |
+
* xmlsf_defaults -> Filters the default array values for different option groups.
|
38 |
+
* xmlsf_allowed_domain -> Filters the response when checking the url against allowed domains.
|
39 |
+
* Can be true or false.
|
40 |
+
* the_title_xmlsitemap -> Filters the Google News publication name, title and keywords
|
41 |
+
and Image title and caption tags
|
42 |
|
43 |
* ACTIONS
|
44 |
* [ none at this point, but feel free to request, suggest or submit one :) ]
|
52 |
* CONSTANTS
|
53 |
* -------------------- */
|
54 |
|
55 |
+
define('XMLSF_VERSION', '4.3.2');
|
56 |
+
|
57 |
+
if ( file_exists ( dirname(__FILE__).'/xml-sitemap-feed' ) )
|
58 |
+
define('XMLSF_PLUGIN_DIR', dirname(__FILE__) . '/xml-sitemap-feed');
|
59 |
+
else
|
60 |
+
define('XMLSF_PLUGIN_DIR', dirname(__FILE__));
|
61 |
+
|
62 |
+
define('XMLSF_PLUGIN_BASENAME', plugin_basename(__FILE__));
|
63 |
+
|
64 |
/* The following constants can be used to change plugin defaults by defining them in wp-config.php */
|
65 |
|
66 |
/*
|
117 |
*/
|
118 |
|
119 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
|
121 |
/* -------------------------------------
|
122 |
* MISSING WORDPRESS FUNCTIONS
|