Version Description
- NEW: filter xmlsf_custom_urls
- More cleanup
- BUGFIX: broken Polylang compatibility reported by @zesseb
Download this release
Release Info
Developer | deployer |
Plugin | XML Sitemap & Google News feeds |
Version | 4.6.2 |
Comparing to | |
See all releases |
Code changes from version 4.6.1 to 4.6.2
- includes/admin.php +2 -2
- includes/core.php +64 -95
- languages/xml-sitemap-feed-nl_NL.mo +0 -0
- languages/xml-sitemap-feed-nl_NL.po +3 -3
- readme.txt +10 -5
- xml-sitemap.php +3 -2
includes/admin.php
CHANGED
@@ -125,7 +125,7 @@ class XMLSF_Admin extends XMLSitemapFeed {
|
|
125 |
if (!empty($options[$key]['pong'])) {
|
126 |
if ( $tzstring = get_option('timezone_string') ) {
|
127 |
// use same timezoneformat as translatable examples in options-general.php
|
128 |
-
$timezone_format =
|
129 |
date_default_timezone_set($tzstring);
|
130 |
} else {
|
131 |
$timezone_format = 'Y-m-d G:i:s T';
|
@@ -475,7 +475,7 @@ jQuery( document ).ready( function() {
|
|
475 |
echo '
|
476 |
<fieldset><legend class="screen-reader-text">'.__('Publication name','xml-sitemap-feed').'</legend>
|
477 |
<input type="text" name="'.parent::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><p class="description">' .
|
478 |
-
__('The publication name should match the name submitted on the Google News Publisher Center. If you wish to change it, please read <a href="https://support.google.com/news/publisher/answer/40402" target="_blank">Updated publication name</a>.') . '</p>
|
479 |
</fieldset>';
|
480 |
}
|
481 |
|
125 |
if (!empty($options[$key]['pong'])) {
|
126 |
if ( $tzstring = get_option('timezone_string') ) {
|
127 |
// use same timezoneformat as translatable examples in options-general.php
|
128 |
+
$timezone_format = translate_with_gettext_context('Y-m-d G:i:s', 'timezone date format');
|
129 |
date_default_timezone_set($tzstring);
|
130 |
} else {
|
131 |
$timezone_format = 'Y-m-d G:i:s T';
|
475 |
echo '
|
476 |
<fieldset><legend class="screen-reader-text">'.__('Publication name','xml-sitemap-feed').'</legend>
|
477 |
<input type="text" name="'.parent::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><p class="description">' .
|
478 |
+
__('The publication name should match the name submitted on the Google News Publisher Center. If you wish to change it, please read <a href="https://support.google.com/news/publisher/answer/40402" target="_blank">Updated publication name</a>.','xml-sitemap-feed') . '</p>
|
479 |
</fieldset>';
|
480 |
}
|
481 |
|
includes/core.php
CHANGED
@@ -18,6 +18,9 @@ class XMLSitemapFeed {
|
|
18 |
// Database options prefix
|
19 |
private $prefix = 'xmlsf_';
|
20 |
|
|
|
|
|
|
|
21 |
// Flushed flag
|
22 |
private $yes_mother = false;
|
23 |
|
@@ -150,8 +153,6 @@ class XMLSitemapFeed {
|
|
150 |
|
151 |
// robots
|
152 |
$this->defaults['robots'] = "";
|
153 |
-
// Old rules "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";
|
154 |
-
// Better is to set <meta name="robots" content="noindex, follow"> or send X-Robots-Tag header. TODO !!
|
155 |
|
156 |
// additional urls
|
157 |
$this->defaults['urls'] = array();
|
@@ -187,7 +188,16 @@ class XMLSitemapFeed {
|
|
187 |
* QUERY FUNCTIONS
|
188 |
*/
|
189 |
|
190 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
{
|
192 |
if (empty($this->defaults))
|
193 |
$this->set_defaults();
|
@@ -222,16 +232,14 @@ class XMLSitemapFeed {
|
|
222 |
return (!empty($return)) ? (array)$return : array();
|
223 |
}
|
224 |
|
225 |
-
|
226 |
{
|
227 |
return $this->disabled_post_types;
|
228 |
-
|
229 |
}
|
230 |
|
231 |
-
|
232 |
{
|
233 |
return $this->disabled_taxonomies;
|
234 |
-
|
235 |
}
|
236 |
|
237 |
public function get_post_types()
|
@@ -285,17 +293,10 @@ class XMLSitemapFeed {
|
|
285 |
|
286 |
public function get_urls()
|
287 |
{
|
288 |
-
$
|
289 |
-
|
290 |
// make sure it's an array we are returning
|
291 |
-
|
292 |
-
|
293 |
-
return $return;
|
294 |
-
else
|
295 |
-
return explode("\n",$return);
|
296 |
-
} else {
|
297 |
-
return array();
|
298 |
-
}
|
299 |
}
|
300 |
|
301 |
public function get_domains()
|
@@ -374,7 +375,7 @@ class XMLSitemapFeed {
|
|
374 |
if ( !empty($blogpage) ) {
|
375 |
global $polylang;
|
376 |
if ( isset($polylang) )
|
377 |
-
$this->blogpage = $polylang->get_translations('post', $blogpage);
|
378 |
else
|
379 |
$this->blogpage = array($blogpage);
|
380 |
} else {
|
@@ -633,7 +634,7 @@ class XMLSitemapFeed {
|
|
633 |
if ( $post_type == 'page' && $id = get_option('page_on_front') ) {
|
634 |
global $polylang;
|
635 |
if ( isset($polylang) )
|
636 |
-
$exclude += $polylang->get_translations('post', $id);
|
637 |
else
|
638 |
$exclude[] = $id;
|
639 |
}
|
@@ -775,41 +776,27 @@ class XMLSitemapFeed {
|
|
775 |
|
776 |
public function filter_request( $request )
|
777 |
{
|
778 |
-
if ( isset($request['feed']) && strpos($request['feed'],'sitemap')
|
779 |
|
780 |
-
if ( $request['feed']
|
781 |
-
|
782 |
-
// setup actions and filters
|
783 |
-
add_action('do_feed_sitemap', array($this, 'load_template_index'), 10, 1);
|
784 |
-
|
785 |
-
return $request;
|
786 |
-
}
|
787 |
-
|
788 |
-
if ( $request['feed'] == 'sitemap-news' ) {
|
789 |
-
$defaults = $this->defaults('news_tags');
|
790 |
$options = $this->get_option('news_tags');
|
791 |
-
|
792 |
-
|
|
|
|
|
|
|
|
|
793 |
|
794 |
// disable caching
|
795 |
define('DONOTCACHEPAGE', true);
|
796 |
define('DONOTCACHEDB', true);
|
797 |
|
798 |
-
// setup template
|
799 |
-
add_action('do_feed_sitemap-news', array($this, 'load_template_news'), 10, 1);
|
800 |
-
|
801 |
// set up query filters
|
802 |
-
|
803 |
-
|
804 |
-
if ( function_exists('date_default_timezone_set') ) {
|
805 |
-
date_default_timezone_set ( 'UTC' );
|
806 |
-
$zone = 'gmt';
|
807 |
-
} else {
|
808 |
-
$zone = 'blog';
|
809 |
-
}
|
810 |
if ( get_lastdate($zone, $news_post_type) > date('Y-m-d H:i:s', strtotime('-48 hours')) ) {
|
811 |
add_filter('post_limits', array($this, 'filter_news_limits'));
|
812 |
-
add_filter('posts_where', array($this, 'filter_news_where')
|
813 |
} else {
|
814 |
add_filter('post_limits', array($this, 'filter_no_news_limits'));
|
815 |
}
|
@@ -828,18 +815,10 @@ class XMLSitemapFeed {
|
|
828 |
return $request;
|
829 |
}
|
830 |
|
831 |
-
if ( $request['feed']
|
832 |
-
// setup actions and filters
|
833 |
-
add_action('do_feed_sitemap-home', array($this, 'load_template_base'), 10, 1);
|
834 |
-
|
835 |
-
return $request;
|
836 |
-
}
|
837 |
-
|
838 |
-
if ( strpos($request['feed'],'sitemap-posttype') == 0 ) {
|
839 |
foreach ( $this->get_post_types() as $post_type ) {
|
840 |
if ( $request['feed'] == 'sitemap-posttype-'.$post_type['name'] ) {
|
841 |
-
//
|
842 |
-
add_action('do_feed_sitemap-posttype-'.$post_type['name'], array($this, 'load_template'), 10, 1);
|
843 |
add_filter( 'post_limits', array($this, 'filter_limits') );
|
844 |
|
845 |
// modify request parameters
|
@@ -856,12 +835,9 @@ class XMLSitemapFeed {
|
|
856 |
}
|
857 |
}
|
858 |
|
859 |
-
if ( strpos($request['feed'],'sitemap-taxonomy')
|
860 |
foreach ( $this->get_taxonomies() as $taxonomy ) {
|
861 |
if ( $request['feed'] == 'sitemap-taxonomy-'.$taxonomy ) {
|
862 |
-
// setup actions and filters
|
863 |
-
add_action('do_feed_sitemap-taxonomy-'.$taxonomy, array($this, 'load_template_taxonomy'), 10, 1);
|
864 |
-
|
865 |
// modify request parameters
|
866 |
$request['taxonomy'] = $taxonomy;
|
867 |
$request['lang'] = '';
|
@@ -875,16 +851,7 @@ class XMLSitemapFeed {
|
|
875 |
}
|
876 |
}
|
877 |
}
|
878 |
-
|
879 |
-
if ( strpos($request['feed'],'sitemap-custom') == 0 ) {
|
880 |
-
// setup actions and filters
|
881 |
-
add_action('do_feed_sitemap-custom', array($this, 'load_template_custom'), 10, 1);
|
882 |
-
|
883 |
-
return $request;
|
884 |
-
}
|
885 |
-
|
886 |
}
|
887 |
-
|
888 |
return $request;
|
889 |
}
|
890 |
|
@@ -938,21 +905,11 @@ class XMLSitemapFeed {
|
|
938 |
return 'LIMIT 0, 50000';
|
939 |
}
|
940 |
|
941 |
-
// override default feed limit for taxonomy sitemaps
|
942 |
-
public function filter_limits_taxonomy( $limits )
|
943 |
-
{
|
944 |
-
return 'LIMIT 0, 1';
|
945 |
-
}
|
946 |
-
|
947 |
// only posts from the last 48 hours
|
948 |
public function filter_news_where( $where = '' )
|
949 |
{
|
950 |
-
|
951 |
-
|
952 |
-
return $where . " AND post_date_gmt > '" . date('Y-m-d H:i:s', strtotime('-48 hours')) . "'";
|
953 |
-
} else {
|
954 |
-
return $where . " AND post_date > '" . date('Y-m-d H:i:s', strtotime('-48 hours')) . "'";
|
955 |
-
}
|
956 |
}
|
957 |
|
958 |
// override default feed limit for GN
|
@@ -1060,8 +1017,9 @@ class XMLSitemapFeed {
|
|
1060 |
delete_option('xmlsf_'.$option);
|
1061 |
}
|
1062 |
|
1063 |
-
if ( defined('WP_DEBUG') && WP_DEBUG )
|
1064 |
error_log('XML Sitemap Feeds settings cleared');
|
|
|
1065 |
}
|
1066 |
|
1067 |
function cache_flush($new_status, $old_status)
|
@@ -1196,32 +1154,28 @@ class XMLSitemapFeed {
|
|
1196 |
delete_option('xmlsf_version');
|
1197 |
add_option($this->prefix.'version', XMLSF_VERSION, '', 'no');
|
1198 |
|
1199 |
-
if ( defined('WP_DEBUG') && WP_DEBUG )
|
1200 |
error_log('XML Sitemap Feeds upgraded from '.$old_version.' to '.XMLSF_VERSION);
|
1201 |
-
|
1202 |
}
|
1203 |
|
1204 |
public function plugins_loaded()
|
1205 |
{
|
1206 |
// TEXT DOMAIN
|
1207 |
-
if ( is_admin() ) // text domain needed on admin only
|
1208 |
load_plugin_textdomain('xml-sitemap-feed', false, dirname(dirname(plugin_basename( __FILE__ ))) . '/languages' );
|
1209 |
-
|
1210 |
}
|
1211 |
|
1212 |
-
public function
|
1213 |
{
|
1214 |
// return if this is a multisite and we're not network activating
|
1215 |
if ( is_multisite() ) {
|
1216 |
if ( !is_network_admin() ) return;
|
1217 |
}
|
1218 |
|
1219 |
-
// is file.php included on plugin activation? if not, get_home_path()
|
1220 |
-
// is not available and we need to do:
|
1221 |
-
//require_once(ABSPATH . 'wp-admin/includes/file.php');
|
1222 |
-
$home_path = trailingslashit( get_home_path() );
|
1223 |
-
|
1224 |
// CHECK FOR STATIC SITEMAP FILES, DELETE IF EXIST
|
|
|
1225 |
$sitemaps = $this->get_sitemaps();
|
1226 |
foreach ( $sitemaps as $name => $pretty ) {
|
1227 |
if ( file_exists( $home_path . $pretty ) )
|
@@ -1234,20 +1188,36 @@ class XMLSitemapFeed {
|
|
1234 |
// UPGRADE
|
1235 |
$version = get_option('xmlsf_version', 0);
|
1236 |
|
1237 |
-
if ( version_compare(XMLSF_VERSION, $version, '>') )
|
1238 |
$this->upgrade($version);
|
|
|
1239 |
|
1240 |
-
// TAXONOMIES
|
1241 |
$sitemaps = $this->get_sitemaps();
|
1242 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1243 |
if (isset($sitemaps['sitemap-news'])) {
|
|
|
|
|
|
|
1244 |
// register the taxonomies
|
1245 |
$this->register_gn_taxonomies();
|
1246 |
|
1247 |
// create terms
|
1248 |
if ( delete_transient('xmlsf_create_genres') ) {
|
1249 |
foreach ($this->gn_genres as $name) {
|
1250 |
-
|
1251 |
}
|
1252 |
}
|
1253 |
}
|
@@ -1265,7 +1235,6 @@ class XMLSitemapFeed {
|
|
1265 |
|
1266 |
// Include the admin class file
|
1267 |
include_once( dirname(__FILE__) . '/admin.php' );
|
1268 |
-
|
1269 |
}
|
1270 |
|
1271 |
public function flush_rules($hard = false)
|
@@ -1368,7 +1337,7 @@ class XMLSitemapFeed {
|
|
1368 |
add_filter('rt_nginx_helper_purge_urls', array($this, 'nginx_helper_purge_urls'), 10, 2);
|
1369 |
|
1370 |
// ACTIVATION
|
1371 |
-
register_activation_hook( XMLSF_PLUGIN_BASENAME, array($this, '
|
1372 |
|
1373 |
// DE-ACTIVATION
|
1374 |
register_deactivation_hook( XMLSF_PLUGIN_BASENAME, array($this, 'flush_rules') );
|
18 |
// Database options prefix
|
19 |
private $prefix = 'xmlsf_';
|
20 |
|
21 |
+
// Timezone
|
22 |
+
private $timezone = null;
|
23 |
+
|
24 |
// Flushed flag
|
25 |
private $yes_mother = false;
|
26 |
|
153 |
|
154 |
// robots
|
155 |
$this->defaults['robots'] = "";
|
|
|
|
|
156 |
|
157 |
// additional urls
|
158 |
$this->defaults['urls'] = array();
|
188 |
* QUERY FUNCTIONS
|
189 |
*/
|
190 |
|
191 |
+
protected function timezone()
|
192 |
+
{
|
193 |
+
$gmt = date_default_timezone_set('UTC');
|
194 |
+
if ( $this->timezone === null ) {
|
195 |
+
$this->timezone = $gmt ? 'gmt' : 'blog';
|
196 |
+
}
|
197 |
+
return $this->timezone;
|
198 |
+
}
|
199 |
+
|
200 |
+
protected function defaults($key = false)
|
201 |
{
|
202 |
if (empty($this->defaults))
|
203 |
$this->set_defaults();
|
232 |
return (!empty($return)) ? (array)$return : array();
|
233 |
}
|
234 |
|
235 |
+
protected function disabled_post_types()
|
236 |
{
|
237 |
return $this->disabled_post_types;
|
|
|
238 |
}
|
239 |
|
240 |
+
protected function disabled_taxonomies()
|
241 |
{
|
242 |
return $this->disabled_taxonomies;
|
|
|
243 |
}
|
244 |
|
245 |
public function get_post_types()
|
293 |
|
294 |
public function get_urls()
|
295 |
{
|
296 |
+
$urls = $this->get_option('urls');
|
|
|
297 |
// make sure it's an array we are returning
|
298 |
+
$return = ( !is_array($urls) ) ? explode( "\n", $urls ) : $urls;
|
299 |
+
return apply_filters( 'xmlsf_get_urls', $return );
|
|
|
|
|
|
|
|
|
|
|
|
|
300 |
}
|
301 |
|
302 |
public function get_domains()
|
375 |
if ( !empty($blogpage) ) {
|
376 |
global $polylang;
|
377 |
if ( isset($polylang) )
|
378 |
+
$this->blogpage = $polylang->model->get_translations('post', $blogpage);
|
379 |
else
|
380 |
$this->blogpage = array($blogpage);
|
381 |
} else {
|
634 |
if ( $post_type == 'page' && $id = get_option('page_on_front') ) {
|
635 |
global $polylang;
|
636 |
if ( isset($polylang) )
|
637 |
+
$exclude += $polylang->model->get_translations('post', $id);
|
638 |
else
|
639 |
$exclude[] = $id;
|
640 |
}
|
776 |
|
777 |
public function filter_request( $request )
|
778 |
{
|
779 |
+
if ( isset($request['feed']) && strpos($request['feed'],'sitemap') === 0 ) {
|
780 |
|
781 |
+
if ( $request['feed'] === 'sitemap-news' ) {
|
782 |
+
// determine up news post type
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
783 |
$options = $this->get_option('news_tags');
|
784 |
+
if ( isset($options['post_type']) && !empty($options['post_type']) ) {
|
785 |
+
$news_post_type = $options['post_type'];
|
786 |
+
} else {
|
787 |
+
$defaults = $this->defaults('news_tags');
|
788 |
+
$news_post_type = $defaults['post_type'];
|
789 |
+
}
|
790 |
|
791 |
// disable caching
|
792 |
define('DONOTCACHEPAGE', true);
|
793 |
define('DONOTCACHEDB', true);
|
794 |
|
|
|
|
|
|
|
795 |
// set up query filters
|
796 |
+
$zone = $this->timezone();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
797 |
if ( get_lastdate($zone, $news_post_type) > date('Y-m-d H:i:s', strtotime('-48 hours')) ) {
|
798 |
add_filter('post_limits', array($this, 'filter_news_limits'));
|
799 |
+
add_filter('posts_where', array($this, 'filter_news_where'));
|
800 |
} else {
|
801 |
add_filter('post_limits', array($this, 'filter_no_news_limits'));
|
802 |
}
|
815 |
return $request;
|
816 |
}
|
817 |
|
818 |
+
if ( strpos($request['feed'],'sitemap-posttype') === 0 ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
819 |
foreach ( $this->get_post_types() as $post_type ) {
|
820 |
if ( $request['feed'] == 'sitemap-posttype-'.$post_type['name'] ) {
|
821 |
+
// change default feed posts limit
|
|
|
822 |
add_filter( 'post_limits', array($this, 'filter_limits') );
|
823 |
|
824 |
// modify request parameters
|
835 |
}
|
836 |
}
|
837 |
|
838 |
+
if ( strpos($request['feed'],'sitemap-taxonomy') === 0 ) {
|
839 |
foreach ( $this->get_taxonomies() as $taxonomy ) {
|
840 |
if ( $request['feed'] == 'sitemap-taxonomy-'.$taxonomy ) {
|
|
|
|
|
|
|
841 |
// modify request parameters
|
842 |
$request['taxonomy'] = $taxonomy;
|
843 |
$request['lang'] = '';
|
851 |
}
|
852 |
}
|
853 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
854 |
}
|
|
|
855 |
return $request;
|
856 |
}
|
857 |
|
905 |
return 'LIMIT 0, 50000';
|
906 |
}
|
907 |
|
|
|
|
|
|
|
|
|
|
|
|
|
908 |
// only posts from the last 48 hours
|
909 |
public function filter_news_where( $where = '' )
|
910 |
{
|
911 |
+
$_gmt = ( 'gmt' === $this->timezone() ) ? '_gmt' : '';
|
912 |
+
return $where . " AND post_date" . $_gmt . " > '" . date('Y-m-d H:i:s', strtotime('-48 hours')) . "'";
|
|
|
|
|
|
|
|
|
913 |
}
|
914 |
|
915 |
// override default feed limit for GN
|
1017 |
delete_option('xmlsf_'.$option);
|
1018 |
}
|
1019 |
|
1020 |
+
if ( defined('WP_DEBUG') && WP_DEBUG ) {
|
1021 |
error_log('XML Sitemap Feeds settings cleared');
|
1022 |
+
}
|
1023 |
}
|
1024 |
|
1025 |
function cache_flush($new_status, $old_status)
|
1154 |
delete_option('xmlsf_version');
|
1155 |
add_option($this->prefix.'version', XMLSF_VERSION, '', 'no');
|
1156 |
|
1157 |
+
if ( defined('WP_DEBUG') && WP_DEBUG ) {
|
1158 |
error_log('XML Sitemap Feeds upgraded from '.$old_version.' to '.XMLSF_VERSION);
|
1159 |
+
}
|
1160 |
}
|
1161 |
|
1162 |
public function plugins_loaded()
|
1163 |
{
|
1164 |
// TEXT DOMAIN
|
1165 |
+
if ( is_admin() ) { // text domain needed on admin only
|
1166 |
load_plugin_textdomain('xml-sitemap-feed', false, dirname(dirname(plugin_basename( __FILE__ ))) . '/languages' );
|
1167 |
+
}
|
1168 |
}
|
1169 |
|
1170 |
+
public function unlink_static()
|
1171 |
{
|
1172 |
// return if this is a multisite and we're not network activating
|
1173 |
if ( is_multisite() ) {
|
1174 |
if ( !is_network_admin() ) return;
|
1175 |
}
|
1176 |
|
|
|
|
|
|
|
|
|
|
|
1177 |
// CHECK FOR STATIC SITEMAP FILES, DELETE IF EXIST
|
1178 |
+
$home_path = trailingslashit( get_home_path() );
|
1179 |
$sitemaps = $this->get_sitemaps();
|
1180 |
foreach ( $sitemaps as $name => $pretty ) {
|
1181 |
if ( file_exists( $home_path . $pretty ) )
|
1188 |
// UPGRADE
|
1189 |
$version = get_option('xmlsf_version', 0);
|
1190 |
|
1191 |
+
if ( version_compare(XMLSF_VERSION, $version, '>') ) {
|
1192 |
$this->upgrade($version);
|
1193 |
+
}
|
1194 |
|
|
|
1195 |
$sitemaps = $this->get_sitemaps();
|
1196 |
|
1197 |
+
if (isset($sitemaps['sitemap'])) {
|
1198 |
+
// load feed templates
|
1199 |
+
add_action('do_feed_sitemap', array($this, 'load_template_index'), 10, 1);
|
1200 |
+
add_action('do_feed_sitemap-home', array($this, 'load_template_base'), 10, 1);
|
1201 |
+
add_action('do_feed_sitemap-custom', array($this, 'load_template_custom'), 10, 1);
|
1202 |
+
foreach ( $this->get_post_types() as $post_type ) {
|
1203 |
+
add_action('do_feed_sitemap-posttype-'.$post_type['name'], array($this, 'load_template'), 10, 1);
|
1204 |
+
}
|
1205 |
+
foreach ( $this->get_taxonomies() as $taxonomy ) {
|
1206 |
+
add_action('do_feed_sitemap-taxonomy-'.$taxonomy, array($this, 'load_template_taxonomy'), 10, 1);
|
1207 |
+
}
|
1208 |
+
}
|
1209 |
+
|
1210 |
if (isset($sitemaps['sitemap-news'])) {
|
1211 |
+
// load feed template
|
1212 |
+
add_action('do_feed_sitemap-news', array($this, 'load_template_news'), 10, 1);
|
1213 |
+
|
1214 |
// register the taxonomies
|
1215 |
$this->register_gn_taxonomies();
|
1216 |
|
1217 |
// create terms
|
1218 |
if ( delete_transient('xmlsf_create_genres') ) {
|
1219 |
foreach ($this->gn_genres as $name) {
|
1220 |
+
wp_insert_term( $name, 'gn-genre' );
|
1221 |
}
|
1222 |
}
|
1223 |
}
|
1235 |
|
1236 |
// Include the admin class file
|
1237 |
include_once( dirname(__FILE__) . '/admin.php' );
|
|
|
1238 |
}
|
1239 |
|
1240 |
public function flush_rules($hard = false)
|
1337 |
add_filter('rt_nginx_helper_purge_urls', array($this, 'nginx_helper_purge_urls'), 10, 2);
|
1338 |
|
1339 |
// ACTIVATION
|
1340 |
+
register_activation_hook( XMLSF_PLUGIN_BASENAME, array($this, 'unlink_static') );
|
1341 |
|
1342 |
// DE-ACTIVATION
|
1343 |
register_deactivation_hook( XMLSF_PLUGIN_BASENAME, array($this, 'flush_rules') );
|
languages/xml-sitemap-feed-nl_NL.mo
CHANGED
Binary file
|
languages/xml-sitemap-feed-nl_NL.po
CHANGED
@@ -3,7 +3,7 @@ msgstr ""
|
|
3 |
"Project-Id-Version: XML Sitemap and Google News feeds/4.4\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2016-04-06 23:43+0200\n"
|
6 |
-
"PO-Revision-Date: 2016-04-
|
7 |
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
|
8 |
"Language-Team: RavanH <ravanhagen@gmail.com>\n"
|
9 |
"Language: nl_NL\n"
|
@@ -429,9 +429,9 @@ msgid ""
|
|
429 |
"categories, select them here. If no categories are selected, posts of all "
|
430 |
"categories will be included in your News Sitemap."
|
431 |
msgstr ""
|
432 |
-
"Als je berichten in je
|
433 |
"selecteer die hier. Als er geen categorieën geselecteerd zijn, worden "
|
434 |
-
"artikelen uit alle categorieën in de
|
435 |
|
436 |
#: ../includes/admin.php:569 ../includes/admin.php:649
|
437 |
msgid "Use the Ctrl/Cmd key plus click to select more than one or to deselect."
|
3 |
"Project-Id-Version: XML Sitemap and Google News feeds/4.4\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2016-04-06 23:43+0200\n"
|
6 |
+
"PO-Revision-Date: 2016-04-12 01:37+0200\n"
|
7 |
"Last-Translator: RavanH <ravanhagen@gmail.com>\n"
|
8 |
"Language-Team: RavanH <ravanhagen@gmail.com>\n"
|
9 |
"Language: nl_NL\n"
|
429 |
"categories, select them here. If no categories are selected, posts of all "
|
430 |
"categories will be included in your News Sitemap."
|
431 |
msgstr ""
|
432 |
+
"Als je berichten in je Nieuws Sitemap wil beperken tot bepaalde categorieën, "
|
433 |
"selecteer die hier. Als er geen categorieën geselecteerd zijn, worden "
|
434 |
+
"artikelen uit alle categorieën in de Nieuws Sitemap bijgesloten."
|
435 |
|
436 |
#: ../includes/admin.php:569 ../includes/admin.php:649
|
437 |
msgid "Use the Ctrl/Cmd key plus click to select more than one or to deselect."
|
readme.txt
CHANGED
@@ -50,7 +50,7 @@ Please read the FAQ's for info on how to get your articles listed on Google News
|
|
50 |
* Configure <access>, <genres> and <keywords> tags both globally and post by post
|
51 |
* Pings Google on new publications.
|
52 |
|
53 |
-
**
|
54 |
|
55 |
* Compatible with multi-lingual sites using **Polylang** to allow all languages to be indexed equally.
|
56 |
* 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.
|
@@ -62,6 +62,7 @@ Please read the FAQ's for info on how to get your articles listed on Google News
|
|
62 |
- **French** * R.A. van Hagen http://status301.net (version 4.2) (improved translation or suggestions needed!)
|
63 |
- **Indonesian** * Nasrulhaq Muiz http://al-badar.net/ (version 4.2)
|
64 |
- **Italian** * Raffaello Tesi http://www.raffaellotesi.com (version 4.3.2)
|
|
|
65 |
- **Serbian** * WPdiscounts http://wpdiscounts.com/ (version 4.1)
|
66 |
- **Spanish** * Andrew Kurtis - WebHostingHub Support http://www.webhostinghub.com/ (version 4.3.2)
|
67 |
- **Ukrainian** * Cmd Software http://www.cmd-soft.com/ (version 4.0)
|
@@ -293,15 +294,19 @@ Thanks for sharing your translation :)
|
|
293 |
|
294 |
== Upgrade Notice ==
|
295 |
|
296 |
-
= 4.6.
|
297 |
-
New filter
|
298 |
|
299 |
== Changelog ==
|
300 |
|
|
|
|
|
|
|
|
|
301 |
= 4.6.2 =
|
302 |
-
* NEW: filter
|
303 |
* More cleanup
|
304 |
-
*
|
305 |
|
306 |
= 4.6.1 =
|
307 |
* Code cleanup
|
50 |
* Configure <access>, <genres> and <keywords> tags both globally and post by post
|
51 |
* Pings Google on new publications.
|
52 |
|
53 |
+
**More**
|
54 |
|
55 |
* Compatible with multi-lingual sites using **Polylang** to allow all languages to be indexed equally.
|
56 |
* 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.
|
62 |
- **French** * R.A. van Hagen http://status301.net (version 4.2) (improved translation or suggestions needed!)
|
63 |
- **Indonesian** * Nasrulhaq Muiz http://al-badar.net/ (version 4.2)
|
64 |
- **Italian** * Raffaello Tesi http://www.raffaellotesi.com (version 4.3.2)
|
65 |
+
- **Japanese** * gblsm https://profiles.wordpress.org/gblsm/ (version 4.6)
|
66 |
- **Serbian** * WPdiscounts http://wpdiscounts.com/ (version 4.1)
|
67 |
- **Spanish** * Andrew Kurtis - WebHostingHub Support http://www.webhostinghub.com/ (version 4.3.2)
|
68 |
- **Ukrainian** * Cmd Software http://www.cmd-soft.com/ (version 4.0)
|
294 |
|
295 |
== Upgrade Notice ==
|
296 |
|
297 |
+
= 4.6.3 =
|
298 |
+
New filter xmlsf_custom_sitemaps, custom urls bugfix.
|
299 |
|
300 |
== Changelog ==
|
301 |
|
302 |
+
= 4.6.3 =
|
303 |
+
* NEW: filter xmlsf_custom_sitemaps
|
304 |
+
* BUGFIX: empty custom urls sitemap
|
305 |
+
|
306 |
= 4.6.2 =
|
307 |
+
* NEW: filter xmlsf_custom_urls
|
308 |
* More cleanup
|
309 |
+
* BUGFIX: broken Polylang compatibility reported by @zesseb
|
310 |
|
311 |
= 4.6.1 =
|
312 |
* Code cleanup
|
xml-sitemap.php
CHANGED
@@ -4,7 +4,7 @@ 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.6.
|
8 |
Author: RavanH
|
9 |
Author URI: http://status301.net/
|
10 |
*/
|
@@ -32,7 +32,8 @@ Author URI: http://status301.net/
|
|
32 |
* xmlsf_allowed_domain -> Filters the response when checking the url against allowed domains.
|
33 |
* Can be true or false.
|
34 |
* the_title_xmlsitemap -> Filters the Google News publication name, title and keywords
|
35 |
-
*
|
|
|
36 |
*
|
37 |
* ACTIONS
|
38 |
* xmlsf_news_tags_after -> Fired inside the Google News Sitemap loop at the end of the news
|
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.6.2
|
8 |
Author: RavanH
|
9 |
Author URI: http://status301.net/
|
10 |
*/
|
32 |
* xmlsf_allowed_domain -> Filters the response when checking the url against allowed domains.
|
33 |
* Can be true or false.
|
34 |
* the_title_xmlsitemap -> Filters the Google News publication name, title and keywords
|
35 |
+
* plus the Image title and caption tags
|
36 |
+
* xmlsf_get_urls -> Filters the urls array
|
37 |
*
|
38 |
* ACTIONS
|
39 |
* xmlsf_news_tags_after -> Fired inside the Google News Sitemap loop at the end of the news
|