XML Sitemap & Google News feeds - Version 5.1.1

Version Description

Bugfix release: options page and news pings.

=

Download this release

Release Info

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

Code changes from version 5.1 to 5.1.1

controllers/admin/main.php CHANGED
@@ -27,14 +27,14 @@ class XMLSF_Admin_Controller
27
  require XMLSF_DIR . '/models/admin/main.php';
28
  require XMLSF_DIR . '/controllers/admin/notices.php';
29
 
30
- $sitemaps = (array) get_option( 'xmlsf_sitemaps' );
31
 
32
- if ( isset($sitemaps['sitemap']) ) {
33
  require XMLSF_DIR . '/models/admin/sitemap.php';
34
  require XMLSF_DIR . '/controllers/admin/sitemap.php';
35
  }
36
 
37
- if ( isset($sitemaps['sitemap-news']) ) {
38
  require XMLSF_DIR . '/models/admin/sitemap-news.php';
39
  require XMLSF_DIR . '/controllers/admin/sitemap-news.php';
40
  }
@@ -44,7 +44,7 @@ class XMLSF_Admin_Controller
44
 
45
  add_action( 'admin_init', array( $this, 'notices_actions' ) );
46
  add_action( 'admin_init', array( $this, 'transients_actions' ) );
47
- add_action( 'admin_init', array( $this, 'register_settings' ) );
48
 
49
  // ACTIONS & CHECKS
50
  add_action( 'admin_init', array( $this, 'tools_actions' ) );
@@ -63,14 +63,12 @@ class XMLSF_Admin_Controller
63
 
64
  public function register_settings()
65
  {
66
- $sitemaps = (array) get_option( 'xmlsf_sitemaps' );
67
-
68
  // sitemaps
69
  register_setting( 'reading', 'xmlsf_sitemaps', array('XMLSF_Admin_Sanitize','sitemaps_settings') );
70
  add_settings_field( 'xmlsf_sitemaps', __('Enable XML sitemaps','xml-sitemap-feed'), array($this,'sitemaps_settings_field'), 'reading' );
71
 
72
  // custom domains, only when any sitemap is active
73
- if ( isset($sitemaps['sitemap']) || isset($sitemaps['sitemap-news']) ) {
74
  register_setting( 'reading', 'xmlsf_domains', array('XMLSF_Admin_Sanitize','domains_settings') );
75
  add_settings_field( 'xmlsf_domains', __('Allowed domains','xml-sitemap-feed'), array($this,'domains_settings_field'), 'reading' );
76
  }
@@ -86,7 +84,7 @@ class XMLSF_Admin_Controller
86
  }
87
 
88
  // ping, only when any sitemap is active
89
- if ( isset($sitemaps['sitemap']) || isset($sitemaps['sitemap-news']) ) {
90
  register_setting( 'writing', 'xmlsf_ping', array('XMLSF_Admin_Sanitize','ping_settings') );
91
  add_settings_field( 'xmlsf_ping', __('Ping Services','xml-sitemap-feed'), array($this,'ping_settings_field'), 'writing' );
92
  add_action( 'load-options-writing.php', array($this,'ping_settings_help') );
@@ -142,8 +140,6 @@ class XMLSF_Admin_Controller
142
  {
143
  if ( 1 == get_option('blog_public') ) :
144
 
145
- $options = (array) get_option( 'xmlsf_sitemaps' );
146
-
147
  // The actual fields for data entry
148
  include XMLSF_DIR . '/views/admin/field-sitemaps.php';
149
 
@@ -160,7 +156,7 @@ class XMLSF_Admin_Controller
160
 
161
  public function domains_settings_field()
162
  {
163
- $domains = get_option('xmlsf_domains');
164
  if ( !is_array($domains) ) $domains = array();
165
 
166
  // The actual fields for data entry
@@ -277,9 +273,8 @@ class XMLSF_Admin_Controller
277
  public function check_static_files()
278
  {
279
  $home_path = trailingslashit( get_home_path() );
280
- $sitemaps = get_option( 'xmlsf_sitemaps' );
281
  self::$static_files = array();
282
- $check_for = is_array($sitemaps) ? $sitemaps : array();
283
  if ( get_option('xmlsf_robots') ) {
284
  $check_for['robots'] = 'robots.txt';
285
  }
27
  require XMLSF_DIR . '/models/admin/main.php';
28
  require XMLSF_DIR . '/controllers/admin/notices.php';
29
 
30
+ $this->sitemaps = (array) get_option( 'xmlsf_sitemaps', array() );
31
 
32
+ if ( isset($this->sitemaps['sitemap']) ) {
33
  require XMLSF_DIR . '/models/admin/sitemap.php';
34
  require XMLSF_DIR . '/controllers/admin/sitemap.php';
35
  }
36
 
37
+ if ( isset($this->sitemaps['sitemap-news']) ) {
38
  require XMLSF_DIR . '/models/admin/sitemap-news.php';
39
  require XMLSF_DIR . '/controllers/admin/sitemap-news.php';
40
  }
44
 
45
  add_action( 'admin_init', array( $this, 'notices_actions' ) );
46
  add_action( 'admin_init', array( $this, 'transients_actions' ) );
47
+ add_action( 'admin_init', array( $this, 'register_settings' ), 0 );
48
 
49
  // ACTIONS & CHECKS
50
  add_action( 'admin_init', array( $this, 'tools_actions' ) );
63
 
64
  public function register_settings()
65
  {
 
 
66
  // sitemaps
67
  register_setting( 'reading', 'xmlsf_sitemaps', array('XMLSF_Admin_Sanitize','sitemaps_settings') );
68
  add_settings_field( 'xmlsf_sitemaps', __('Enable XML sitemaps','xml-sitemap-feed'), array($this,'sitemaps_settings_field'), 'reading' );
69
 
70
  // custom domains, only when any sitemap is active
71
+ if ( isset($this->sitemaps['sitemap']) || isset($this->sitemaps['sitemap-news']) ) {
72
  register_setting( 'reading', 'xmlsf_domains', array('XMLSF_Admin_Sanitize','domains_settings') );
73
  add_settings_field( 'xmlsf_domains', __('Allowed domains','xml-sitemap-feed'), array($this,'domains_settings_field'), 'reading' );
74
  }
84
  }
85
 
86
  // ping, only when any sitemap is active
87
+ if ( isset($this->sitemaps['sitemap']) || isset($this->sitemaps['sitemap-news']) ) {
88
  register_setting( 'writing', 'xmlsf_ping', array('XMLSF_Admin_Sanitize','ping_settings') );
89
  add_settings_field( 'xmlsf_ping', __('Ping Services','xml-sitemap-feed'), array($this,'ping_settings_field'), 'writing' );
90
  add_action( 'load-options-writing.php', array($this,'ping_settings_help') );
140
  {
141
  if ( 1 == get_option('blog_public') ) :
142
 
 
 
143
  // The actual fields for data entry
144
  include XMLSF_DIR . '/views/admin/field-sitemaps.php';
145
 
156
 
157
  public function domains_settings_field()
158
  {
159
+ $domains = get_option( 'xmlsf_domains' );
160
  if ( !is_array($domains) ) $domains = array();
161
 
162
  // The actual fields for data entry
273
  public function check_static_files()
274
  {
275
  $home_path = trailingslashit( get_home_path() );
 
276
  self::$static_files = array();
277
+ $check_for = $this->sitemaps;
278
  if ( get_option('xmlsf_robots') ) {
279
  $check_for['robots'] = 'robots.txt';
280
  }
controllers/admin/sitemap-news.php CHANGED
@@ -76,7 +76,7 @@ class XMLSF_Admin_Sitemap_News extends XMLSF_Admin_Controller
76
  /* Adds a News Sitemap box to the side column */
77
  public function add_meta_box()
78
  {
79
- $news_tags = get_option('xmlsf_news_tags');
80
  $news_post_types = !empty($news_tags['post_type']) && is_array($news_tags['post_type']) ? $news_tags['post_type'] : array('post');
81
 
82
  // Only include metabox on post types that are included
@@ -147,9 +147,10 @@ class XMLSF_Admin_Sitemap_News extends XMLSF_Admin_Controller
147
  */
148
  public function settings_page()
149
  {
150
- $this->options = get_option( 'xmlsf_news_tags', array() );
151
- $options = (array) get_option( 'xmlsf_sitemaps' );
152
- $url = trailingslashit(get_bloginfo('url')) . ( xmlsf()->plain_permalinks() ? '?feed=sitemap-news' : $options['sitemap-news'] );
 
153
 
154
  $active_tab = isset( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : 'general';
155
 
76
  /* Adds a News Sitemap box to the side column */
77
  public function add_meta_box()
78
  {
79
+ $news_tags = get_option( 'xmlsf_news_tags' );
80
  $news_post_types = !empty($news_tags['post_type']) && is_array($news_tags['post_type']) ? $news_tags['post_type'] : array('post');
81
 
82
  // Only include metabox on post types that are included
147
  */
148
  public function settings_page()
149
  {
150
+ $this->options = (array) get_option( 'xmlsf_news_tags', array() );
151
+
152
+ $sitemaps = (array) get_option( 'xmlsf_sitemaps', array() );
153
+ $url = trailingslashit(get_bloginfo('url')) . ( xmlsf()->plain_permalinks() || empty($sitemaps['sitemap-news']) ? '?feed=sitemap-news' : $sitemaps['sitemap-news'] );
154
 
155
  $active_tab = isset( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : 'general';
156
 
controllers/admin/sitemap.php CHANGED
@@ -27,43 +27,44 @@ class XMLSF_Admin_Sitemap extends XMLSF_Admin_Controller
27
 
28
  public function tools_actions()
29
  {
30
- if ( isset( $_POST['xmlsf-ping-sitemap'] ) ) {
31
- if ( isset( $_POST['_xmlsf_help_nonce'] ) && wp_verify_nonce( $_POST['_xmlsf_help_nonce'], XMLSF_BASENAME.'-help' ) ) {
32
 
33
- $sitemaps = get_option( 'xmlsf_sitemaps' );
34
 
35
- foreach ( array('google','bing') as $se ) {
36
- $result = xmlsf_ping( $se, $sitemaps['sitemap'], HOUR_IN_SECONDS );
37
 
38
- $se_name = 'google' == $se ? __('Google','xml-sitemap-feed') : __('Bing & Yahoo','xml-sitemap-feed');
 
39
 
40
- switch( $result ) {
41
- case 200:
42
- $msg = sprintf( /* Translators: Search engine / Service name */ __( 'Pinged %s with success.', 'xml-sitemap-feed' ), $se_name );
43
- $type = 'updated';
44
- break;
45
 
46
- case 999:
47
- $msg = sprintf( /* Translators: Search engine / Service name, interval number */ __( 'Ping %s skipped: Sitemap already sent within the last %d minutes.', 'xml-sitemap-feed' ), $se_name, 60 );
48
- $type = 'notice-warning';
49
- break;
 
50
 
51
- case '':
52
- $msg = sprintf( translate('Oops: %s'), translate('Something went wrong.') );
53
- $type = 'error';
54
- break;
55
 
56
- default:
57
- $msg = sprintf( /* Translators: Search engine / Service name, response code number */ __( 'Ping %s failed with response code: %d', 'xml-sitemap-feed' ), $se_name, $result );
58
- $type = 'error';
59
- }
60
 
61
- add_settings_error( 'ping_sitemap', 'ping_sitemap', $msg, $type );
 
 
62
  }
63
 
64
- } else {
65
- add_settings_error( 'ping_sitemap', 'ping_sitemap', translate('Security check failed.') );
66
  }
 
 
 
67
  }
68
  }
69
 
@@ -83,7 +84,7 @@ class XMLSF_Admin_Sitemap extends XMLSF_Admin_Controller
83
  $wpseo_titles = get_option( 'wpseo_titles' );
84
  if ( !empty( $wpseo_titles['disable-date'] ) ) {
85
  // check if Split by option is set anywhere
86
- foreach ( (array) get_option( 'xmlsf_post_types' ) as $type => $settings ) {
87
  if ( is_array( $settings ) && !empty( $settings['archive'] ) ) {
88
  add_action( 'admin_notices', array( 'XMLSF_Admin_Notices', 'notice_wpseo_date_redirect' ) );
89
  break;
@@ -110,7 +111,7 @@ class XMLSF_Admin_Sitemap extends XMLSF_Admin_Controller
110
  $seopress_titles = get_option( 'seopress_titles_option_name' );
111
  if ( ! empty( $seopress_toggle['toggle-titles'] ) && ! empty( $seopress_titles['seopress_titles_archives_date_disable'] ) ) {
112
  // check if Split by option is set anywhere
113
- foreach ( (array) get_option( 'xmlsf_post_types' ) as $type => $settings ) {
114
  if ( is_array( $settings ) && !empty( $settings['archive'] ) ) {
115
  add_action( 'admin_notices', array( 'XMLSF_Admin_Notices', 'notice_seopress_date_redirect' ) );
116
  break;
@@ -272,8 +273,8 @@ class XMLSF_Admin_Sitemap extends XMLSF_Admin_Controller
272
 
273
  $active_tab = isset( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : 'post_types';
274
 
275
- $options = (array) get_option( 'xmlsf_sitemaps' );
276
- $url = trailingslashit(get_bloginfo('url')) . ( xmlsf()->plain_permalinks() ? '?feed=sitemap' : $options['sitemap'] );
277
 
278
  include XMLSF_DIR . '/views/admin/page-sitemap.php';
279
  }
@@ -360,7 +361,7 @@ class XMLSF_Admin_Sitemap extends XMLSF_Admin_Controller
360
 
361
  $count = wp_count_posts( $obj->name );
362
 
363
- $options = get_option('xmlsf_post_types');
364
 
365
  // The actual fields for data entry
366
  include XMLSF_DIR . '/views/admin/field-sitemap-post-type.php';
@@ -393,7 +394,7 @@ class XMLSF_Admin_Sitemap extends XMLSF_Admin_Controller
393
  }
394
 
395
  public function urls_settings_field() {
396
- $urls = get_option('xmlsf_urls');
397
  $lines = array();
398
 
399
  if( is_array($urls) && !empty($urls) ) {
27
 
28
  public function tools_actions()
29
  {
30
+ if ( ! isset( $_POST['xmlsf-ping-sitemap'] ) )
31
+ return;
32
 
33
+ if ( isset( $_POST['_xmlsf_help_nonce'] ) && wp_verify_nonce( $_POST['_xmlsf_help_nonce'], XMLSF_BASENAME.'-help' ) ) {
34
 
35
+ $sitemaps = get_option( 'xmlsf_sitemaps' );
 
36
 
37
+ foreach ( array('google','bing') as $se ) {
38
+ $result = xmlsf_ping( $se, $sitemaps['sitemap'], HOUR_IN_SECONDS );
39
 
40
+ $se_name = 'google' == $se ? __('Google','xml-sitemap-feed') : __('Bing & Yahoo','xml-sitemap-feed');
 
 
 
 
41
 
42
+ switch( $result ) {
43
+ case 200:
44
+ $msg = sprintf( /* Translators: Search engine / Service name */ __( 'Pinged %s with success.', 'xml-sitemap-feed' ), $se_name );
45
+ $type = 'updated';
46
+ break;
47
 
48
+ case 999:
49
+ $msg = sprintf( /* Translators: Search engine / Service name, interval number */ __( 'Ping %s skipped: Sitemap already sent within the last %d minutes.', 'xml-sitemap-feed' ), $se_name, 60 );
50
+ $type = 'notice-warning';
51
+ break;
52
 
53
+ case '':
54
+ $msg = sprintf( translate('Oops: %s'), translate('Something went wrong.') );
55
+ $type = 'error';
56
+ break;
57
 
58
+ default:
59
+ $msg = sprintf( /* Translators: Search engine / Service name, response code number */ __( 'Ping %s failed with response code: %d', 'xml-sitemap-feed' ), $se_name, $result );
60
+ $type = 'error';
61
  }
62
 
63
+ add_settings_error( 'ping_sitemap', 'ping_sitemap', $msg, $type );
 
64
  }
65
+
66
+ } else {
67
+ add_settings_error( 'ping_sitemap', 'ping_sitemap', translate('Security check failed.') );
68
  }
69
  }
70
 
84
  $wpseo_titles = get_option( 'wpseo_titles' );
85
  if ( !empty( $wpseo_titles['disable-date'] ) ) {
86
  // check if Split by option is set anywhere
87
+ foreach ( (array) get_option( 'xmlsf_post_types', array() ) as $type => $settings ) {
88
  if ( is_array( $settings ) && !empty( $settings['archive'] ) ) {
89
  add_action( 'admin_notices', array( 'XMLSF_Admin_Notices', 'notice_wpseo_date_redirect' ) );
90
  break;
111
  $seopress_titles = get_option( 'seopress_titles_option_name' );
112
  if ( ! empty( $seopress_toggle['toggle-titles'] ) && ! empty( $seopress_titles['seopress_titles_archives_date_disable'] ) ) {
113
  // check if Split by option is set anywhere
114
+ foreach ( (array) get_option( 'xmlsf_post_types', array() ) as $type => $settings ) {
115
  if ( is_array( $settings ) && !empty( $settings['archive'] ) ) {
116
  add_action( 'admin_notices', array( 'XMLSF_Admin_Notices', 'notice_seopress_date_redirect' ) );
117
  break;
273
 
274
  $active_tab = isset( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : 'post_types';
275
 
276
+ $sitemaps = (array) get_option( 'xmlsf_sitemaps', array() );
277
+ $url = trailingslashit(get_bloginfo('url')) . ( xmlsf()->plain_permalinks() || empty($sitemaps['sitemap']) ? '?feed=sitemap' : $sitemaps['sitemap'] );
278
 
279
  include XMLSF_DIR . '/views/admin/page-sitemap.php';
280
  }
361
 
362
  $count = wp_count_posts( $obj->name );
363
 
364
+ $options = get_option( 'xmlsf_post_types' );
365
 
366
  // The actual fields for data entry
367
  include XMLSF_DIR . '/views/admin/field-sitemap-post-type.php';
394
  }
395
 
396
  public function urls_settings_field() {
397
+ $urls = get_option( 'xmlsf_urls' );
398
  $lines = array();
399
 
400
  if( is_array($urls) && !empty($urls) ) {
controllers/global.php CHANGED
@@ -41,15 +41,14 @@ function xmlsf_init() {
41
  if ( ! empty( $sitemaps['sitemap-news'] ) ) {
42
  require XMLSF_DIR . '/models/sitemap-news.php';
43
  add_filter( 'xmlsf_news_post_types', 'xmlsf_news_filter_post_types' );
44
- //add_filter( 'request', 'xmlsf_news_filter_request', 2 );
45
 
46
  require XMLSF_DIR . '/controllers/sitemap-news.php';
47
- }
 
48
 
49
  if ( ! empty( $sitemaps['sitemap'] ) ) {
50
  require XMLSF_DIR . '/models/sitemap.php';
51
  add_filter( 'xmlsf_post_types', 'xmlsf_filter_post_types' );
52
- //add_filter( 'request', 'xmlsf_sitemap_filter_request', 3 );
53
 
54
  require XMLSF_DIR . '/controllers/sitemap.php';
55
  new XMLSF_Sitemap_Controller( $sitemaps['sitemap'] );
41
  if ( ! empty( $sitemaps['sitemap-news'] ) ) {
42
  require XMLSF_DIR . '/models/sitemap-news.php';
43
  add_filter( 'xmlsf_news_post_types', 'xmlsf_news_filter_post_types' );
 
44
 
45
  require XMLSF_DIR . '/controllers/sitemap-news.php';
46
+ new XMLSF_Sitemap_News_Controller( $sitemaps['sitemap-news'] );
47
+ }
48
 
49
  if ( ! empty( $sitemaps['sitemap'] ) ) {
50
  require XMLSF_DIR . '/models/sitemap.php';
51
  add_filter( 'xmlsf_post_types', 'xmlsf_filter_post_types' );
 
52
 
53
  require XMLSF_DIR . '/controllers/sitemap.php';
54
  new XMLSF_Sitemap_Controller( $sitemaps['sitemap'] );
controllers/main.php CHANGED
@@ -1,44 +1,5 @@
1
  <?php
2
 
3
- /**
4
- * Do pings, hooked to transition post status
5
- *
6
- * @param $new_status
7
- * @param $old_status
8
- * @param $post
9
- */
10
- function xmlsf_do_pings( $new_status, $old_status, $post ) {
11
- // are we publishing?
12
- if ( $old_status == 'publish' || $new_status != 'publish' )
13
- return;
14
-
15
- $sitemaps = get_option( 'xmlsf_sitemaps' );
16
- $ping = get_option( 'xmlsf_ping' );
17
-
18
- if ( !is_array($sitemaps) || empty($sitemaps) || !is_array($ping) || empty($ping) )
19
- return;
20
-
21
- if ( isset( $sitemaps['sitemap-news'] ) ) {
22
- // check if we've got a post type that is included in our news sitemap
23
- // TODO also check category if needed
24
- $news_tags = get_option('xmlsf_news_tags');
25
- if ( ! empty( $news_tags['post_type'] ) && in_array( $post->post_type, (array) $news_tags['post_type'] ) ) {
26
- xmlsf_ping( 'google', $sitemaps['sitemap-news'], 5 * MINUTE_IN_SECONDS );
27
- }
28
- }
29
-
30
- if ( isset( $sitemaps['sitemap'] ) ) {
31
- // check if we've got a post type that is included in our sitemap
32
- $post_types = get_option( 'xmlsf_post_types' );
33
- if ( is_array( $post_types ) && array_key_exists( $post->post_type, $post_types ) ) {
34
-
35
- foreach ( $ping as $se ) {
36
- xmlsf_ping( $se, $sitemaps['sitemap'], HOUR_IN_SECONDS );
37
- }
38
- }
39
- }
40
- }
41
-
42
  /**
43
  * WPML: switch language
44
  * @see https://wpml.org/wpml-hook/wpml_post_language_details/
1
  <?php
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  /**
4
  * WPML: switch language
5
  * @see https://wpml.org/wpml-hook/wpml_post_language_details/
controllers/sitemap-news.php CHANGED
@@ -1,9 +1,67 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  /**
3
  * set up the news sitemap template
4
  */
5
  function xmlsf_news_load_template() {
6
  load_template( XMLSF_DIR . '/views/feed-sitemap-news.php' );
7
  }
8
-
9
- add_action('do_feed_sitemap-news', 'xmlsf_news_load_template', 10, 1);
1
  <?php
2
+ /* ------------------------------
3
+ * XMLSF Controller CLASS
4
+ * ------------------------------ */
5
+
6
+ class XMLSF_Sitemap_News_Controller
7
+ {
8
+ /**
9
+ * Sitemap index name
10
+ * @var string
11
+ */
12
+ private $sitemap = 'sitemap-news.xml';
13
+
14
+ /**
15
+ * Post types included in sitemap index
16
+ * @var array
17
+ */
18
+ private $post_types;
19
+
20
+ /**
21
+ * CONSTRUCTOR
22
+ * Runs on init
23
+ */
24
+
25
+ function __construct( $sitemap )
26
+ {
27
+ $this->sitemap = $sitemap;
28
+
29
+ // PINGING
30
+ add_action( 'transition_post_status', array($this,'do_pings'), 10, 3 );
31
+
32
+ // FEED TEMPLATES
33
+ add_action('do_feed_sitemap-news', 'xmlsf_news_load_template', 10, 1);
34
+ }
35
+
36
+ /**
37
+ * Do pings, hooked to transition post status
38
+ *
39
+ * @param $new_status
40
+ * @param $old_status
41
+ * @param $post
42
+ */
43
+ public function do_pings( $new_status, $old_status, $post ) {
44
+ // are we publishing?
45
+ if ( $old_status == 'publish' || $new_status != 'publish' )
46
+ return;
47
+
48
+ $ping = (array) get_option( 'xmlsf_ping', array() );
49
+
50
+ if ( in_array( 'google', $ping ) ) {
51
+ // check if we've got a post type that is included in our news sitemap
52
+ // TODO also check category if needed
53
+ $news_tags = get_option('xmlsf_news_tags');
54
+ if ( ! empty( $news_tags['post_type'] ) && in_array( $post->post_type, (array) $news_tags['post_type'] ) ) {
55
+ xmlsf_ping( 'google', $this->sitemap, 5 * MINUTE_IN_SECONDS );
56
+ }
57
+ }
58
+ }
59
+
60
+ }
61
+
62
  /**
63
  * set up the news sitemap template
64
  */
65
  function xmlsf_news_load_template() {
66
  load_template( XMLSF_DIR . '/views/feed-sitemap-news.php' );
67
  }
 
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: sitemap, xml sitemap, news sitemap, sitemap.xml, robots.txt, Google, Googl
5
  Requires at least: 4.4
6
  Requires PHP: 5.4
7
  Tested up to: 5.1
8
- Stable tag: 5.1
9
 
10
  XML and Google News Sitemaps to feed the hungry spiders. Multisite, WP Super Cache, Polylang and WPML compatible.
11
 
@@ -289,15 +289,19 @@ Yes. In fact, it has been designed for it. Tested on WPMU 2.9.2 and WPMS 3+ both
289
 
290
  == Upgrade Notice ==
291
 
292
- = 5.1 =
293
 
294
- New filter and action hooks. Bugfixes and admin UI improvements.
295
 
296
 
297
  == Changelog ==
298
 
 
 
 
299
  = 5.1.1 =
300
- * FIX options page not found.
 
301
 
302
  = 5.1 =
303
  * SEOPress and Catch Box incompatibility admin messages
5
  Requires at least: 4.4
6
  Requires PHP: 5.4
7
  Tested up to: 5.1
8
+ Stable tag: 5.1.1
9
 
10
  XML and Google News Sitemaps to feed the hungry spiders. Multisite, WP Super Cache, Polylang and WPML compatible.
11
 
289
 
290
  == Upgrade Notice ==
291
 
292
+ = 5.1.1 =
293
 
294
+ Bugfix release: options page and news pings.
295
 
296
 
297
  == Changelog ==
298
 
299
+ = 5.1.2 =
300
+ * Plugin support and rate links on plugins page
301
+
302
  = 5.1.1 =
303
+ * FIX options page not found
304
+ * FIX news sitemap only ping
305
 
306
  = 5.1 =
307
  * SEOPress and Catch Box incompatibility admin messages
views/admin/field-news-ping-log.php CHANGED
@@ -11,7 +11,7 @@
11
  <p>
12
  <label>
13
  <?php _e('Maximum log entries','xml-sitemap-feed'); ?>
14
- <input type="number" step="1" min="0" max="10000" id="xmlsf_news_ping_log_max" value="1000" class="medium-text" />
15
  </label>
16
  </p>
17
  <p class="description">
11
  <p>
12
  <label>
13
  <?php _e('Maximum log entries','xml-sitemap-feed'); ?>
14
+ <input type="number" step="1" min="0" max="10000" id="xmlsf_news_ping_log_max" value="1000" class="medium-text" disabled="disabled" />
15
  </label>
16
  </p>
17
  <p class="description">
views/admin/field-sitemaps.php CHANGED
@@ -3,12 +3,12 @@
3
  <?php _e('Enable XML sitemaps','xml-sitemap-feed'); ?>
4
  </legend>
5
  <label>
6
- <input type="checkbox" name="xmlsf_sitemaps[sitemap]" id="xmlsf_sitemaps_index" value="sitemap.xml"<?php echo checked(isset($options['sitemap']), true, false); ?> />
7
  <?php _e('XML Sitemap Index','xml-sitemap-feed'); ?>
8
  </label>
9
 
10
- <?php if ( isset($options['sitemap']) ) {
11
- $sitemap_url = trailingslashit(get_bloginfo('url')) . ( xmlsf()->plain_permalinks() ? '?feed=sitemap' : $options['sitemap'] );
12
  ?>
13
  <span class="description">
14
  &nbsp;&ndash;&nbsp;
@@ -20,12 +20,12 @@
20
  <br>
21
 
22
  <label>
23
- <input type="checkbox" name="xmlsf_sitemaps[sitemap-news]" id="xmlsf_sitemaps_news" value="sitemap-news.xml"<?php echo checked(isset($options['sitemap-news']), true, false); ?> />
24
  <?php _e('Google News Sitemap','xml-sitemap-feed'); ?>
25
  </label>
26
 
27
- <?php if (isset($options['sitemap-news'])) {
28
- $news_url = trailingslashit(get_bloginfo('url')) . ( xmlsf()->plain_permalinks() ? '?feed=sitemap-news' : $options['sitemap-news'] );
29
  ?>
30
  <span class="description">
31
  &nbsp;&ndash;&nbsp;
3
  <?php _e('Enable XML sitemaps','xml-sitemap-feed'); ?>
4
  </legend>
5
  <label>
6
+ <input type="checkbox" name="xmlsf_sitemaps[sitemap]" id="xmlsf_sitemaps_index" value="sitemap.xml"<?php echo checked(isset($this->sitemaps['sitemap']), true, false); ?> />
7
  <?php _e('XML Sitemap Index','xml-sitemap-feed'); ?>
8
  </label>
9
 
10
+ <?php if ( isset($this->sitemaps['sitemap']) ) {
11
+ $sitemap_url = trailingslashit(get_bloginfo('url')) . ( xmlsf()->plain_permalinks() ? '?feed=sitemap' : $this->sitemaps['sitemap'] );
12
  ?>
13
  <span class="description">
14
  &nbsp;&ndash;&nbsp;
20
  <br>
21
 
22
  <label>
23
+ <input type="checkbox" name="xmlsf_sitemaps[sitemap-news]" id="xmlsf_sitemaps_news" value="sitemap-news.xml"<?php echo checked(isset($this->sitemaps['sitemap-news']), true, false); ?> />
24
  <?php _e('Google News Sitemap','xml-sitemap-feed'); ?>
25
  </label>
26
 
27
+ <?php if (isset($this->sitemaps['sitemap-news'])) {
28
+ $news_url = trailingslashit(get_bloginfo('url')) . ( xmlsf()->plain_permalinks() ? '?feed=sitemap-news' : $this->sitemaps['sitemap-news'] );
29
  ?>
30
  <span class="description">
31
  &nbsp;&ndash;&nbsp;
views/styles/sitemap-index.xsl CHANGED
@@ -39,7 +39,7 @@
39
  </table>
40
  </div>
41
  <div id="footer">
42
- <p><img src="data:image/gif;base64,R0lGODlhUAAPAJEAAGZmZv////9mAImOeSwAAAAAUAAPAAACoISPqcvtD0+YtNqLs968myCE4kiW5jkGw8q27gvDwYfWdq3G+i7T9w/M8Ya7GQAUoiSTEyYSKYA2nSKhdXUdCIlaXzRVDVdB0+dS2lJZ1bkt0Sgti6NysvM5jbq2ai2WywJHYrZUaEhIWJXm99foNiRI9XUoV4g4GJjJyEgBGAkEivIIyPUZeppCqorlheo6ulr00UFba3uLEaG7y9urUAAAOw%3D%3D" alt="XML Sitemap" title="XML Sitemap" /> generated by <a href="https://status301.net/wordpress-plugins/xml-sitemap-feed/" title="XML Sitemap Feed plugin for WordPress">XML Sitemap &amp; Google News Feeds</a> running on <a href="https://wordpress.org/">WordPress</a>.</p>
43
  </div>
44
  </body>
45
  </html>
39
  </table>
40
  </div>
41
  <div id="footer">
42
+ <p><img src="data:image/gif;base64,R0lGODlhUAAPAJEAAGZmZv////9mAImOeSwAAAAAUAAPAAACoISPqcvtD0+YtNqLs968myCE4kiW5jkGw8q27gvDwYfWdq3G+i7T9w/M8Ya7GQAUoiSTEyYSKYA2nSKhdXUdCIlaXzRVDVdB0+dS2lJZ1bkt0Sgti6NysvM5jbq2ai2WywJHYrZUaEhIWJXm99foNiRI9XUoV4g4GJjJyEgBGAkEivIIyPUZeppCqorlheo6ulr00UFba3uLEaG7y9urUAAAOw%3D%3D" alt="XML Sitemap" title="XML Sitemap" /> generated by <a href="https://status301.net/wordpress-plugins/xml-sitemap-feed/">XML Sitemap &amp; Google News</a> for <a href="https://wordpress.org/">WordPress</a>.</p>
43
  </div>
44
  </body>
45
  </html>
views/styles/sitemap-news.xsl CHANGED
@@ -49,7 +49,7 @@
49
  </table>
50
  </div>
51
  <div id="footer">
52
- <p><img src="data:image/gif;base64,R0lGODlhUAAPAJEAAGZmZv////9mAImOeSwAAAAAUAAPAAACoISPqcvtD0+YtNqLs968myCE4kiW5jkGw8q27gvDwYfWdq3G+i7T9w/M8Ya7GQAUoiSTEyYSKYA2nSKhdXUdCIlaXzRVDVdB0+dS2lJZ1bkt0Sgti6NysvM5jbq2ai2WywJHYrZUaEhIWJXm99foNiRI9XUoV4g4GJjJyEgBGAkEivIIyPUZeppCqorlheo6ulr00UFba3uLEaG7y9urUAAAOw%3D%3D" alt="XML Sitemap" title="XML Sitemap" /> generated by <a href="https://status301.net/wordpress-plugins/xml-sitemap-feed/" title="XML Sitemap Feed plugin for WordPress">XML Sitemap &amp; Google News Feeds</a> running on <a href="https://wordpress.org/">WordPress</a>.</p>
53
  </div>
54
  </body>
55
  </html>
49
  </table>
50
  </div>
51
  <div id="footer">
52
+ <p><img src="data:image/gif;base64,R0lGODlhUAAPAJEAAGZmZv////9mAImOeSwAAAAAUAAPAAACoISPqcvtD0+YtNqLs968myCE4kiW5jkGw8q27gvDwYfWdq3G+i7T9w/M8Ya7GQAUoiSTEyYSKYA2nSKhdXUdCIlaXzRVDVdB0+dS2lJZ1bkt0Sgti6NysvM5jbq2ai2WywJHYrZUaEhIWJXm99foNiRI9XUoV4g4GJjJyEgBGAkEivIIyPUZeppCqorlheo6ulr00UFba3uLEaG7y9urUAAAOw%3D%3D" alt="XML Sitemap" title="XML Sitemap" /> generated by <a href="https://status301.net/wordpress-plugins/xml-sitemap-feed/">XML Sitemap &amp; Google News</a> for <a href="https://wordpress.org/">WordPress</a>.</p>
53
  </div>
54
  </body>
55
  </html>
views/styles/sitemap-taxonomy.xsl CHANGED
@@ -38,7 +38,7 @@
38
  </table>
39
  </div>
40
  <div id="footer">
41
- <p><img src="data:image/gif;base64,R0lGODlhUAAPAJEAAGZmZv////9mAImOeSwAAAAAUAAPAAACoISPqcvtD0+YtNqLs968myCE4kiW5jkGw8q27gvDwYfWdq3G+i7T9w/M8Ya7GQAUoiSTEyYSKYA2nSKhdXUdCIlaXzRVDVdB0+dS2lJZ1bkt0Sgti6NysvM5jbq2ai2WywJHYrZUaEhIWJXm99foNiRI9XUoV4g4GJjJyEgBGAkEivIIyPUZeppCqorlheo6ulr00UFba3uLEaG7y9urUAAAOw%3D%3D" alt="XML Sitemap" title="XML Sitemap" /> generated by <a href="https://status301.net/wordpress-plugins/xml-sitemap-feed/" title="XML Sitemap Feed plugin for WordPress">XML Sitemap &amp; Google News Feeds</a> running on <a href="https://wordpress.org/">WordPress</a>.</p>
42
  </div>
43
  </body>
44
  </html>
38
  </table>
39
  </div>
40
  <div id="footer">
41
+ <p><img src="data:image/gif;base64,R0lGODlhUAAPAJEAAGZmZv////9mAImOeSwAAAAAUAAPAAACoISPqcvtD0+YtNqLs968myCE4kiW5jkGw8q27gvDwYfWdq3G+i7T9w/M8Ya7GQAUoiSTEyYSKYA2nSKhdXUdCIlaXzRVDVdB0+dS2lJZ1bkt0Sgti6NysvM5jbq2ai2WywJHYrZUaEhIWJXm99foNiRI9XUoV4g4GJjJyEgBGAkEivIIyPUZeppCqorlheo6ulr00UFba3uLEaG7y9urUAAAOw%3D%3D" alt="XML Sitemap" title="XML Sitemap" /> generated by <a href="https://status301.net/wordpress-plugins/xml-sitemap-feed/">XML Sitemap &amp; Google News</a> for <a href="https://wordpress.org/">WordPress</a>.</p>
42
  </div>
43
  </body>
44
  </html>
views/styles/sitemap.xsl CHANGED
@@ -40,7 +40,7 @@
40
  </table>
41
  </div>
42
  <div id="footer">
43
- <p><img src="data:image/gif;base64,R0lGODlhUAAPAJEAAGZmZv////9mAImOeSwAAAAAUAAPAAACoISPqcvtD0+YtNqLs968myCE4kiW5jkGw8q27gvDwYfWdq3G+i7T9w/M8Ya7GQAUoiSTEyYSKYA2nSKhdXUdCIlaXzRVDVdB0+dS2lJZ1bkt0Sgti6NysvM5jbq2ai2WywJHYrZUaEhIWJXm99foNiRI9XUoV4g4GJjJyEgBGAkEivIIyPUZeppCqorlheo6ulr00UFba3uLEaG7y9urUAAAOw%3D%3D" alt="XML Sitemap" title="XML Sitemap" /> generated by <a href="https://status301.net/wordpress-plugins/xml-sitemap-feed/" title="XML Sitemap Feed plugin for WordPress">XML Sitemap &amp; Google News Feeds</a> running on <a href="https://wordpress.org/">WordPress</a>.</p>
44
  </div>
45
  </body>
46
  </html>
40
  </table>
41
  </div>
42
  <div id="footer">
43
+ <p><img src="data:image/gif;base64,R0lGODlhUAAPAJEAAGZmZv////9mAImOeSwAAAAAUAAPAAACoISPqcvtD0+YtNqLs968myCE4kiW5jkGw8q27gvDwYfWdq3G+i7T9w/M8Ya7GQAUoiSTEyYSKYA2nSKhdXUdCIlaXzRVDVdB0+dS2lJZ1bkt0Sgti6NysvM5jbq2ai2WywJHYrZUaEhIWJXm99foNiRI9XUoV4g4GJjJyEgBGAkEivIIyPUZeppCqorlheo6ulr00UFba3uLEaG7y9urUAAAOw%3D%3D" alt="XML Sitemap" title="XML Sitemap" /> generated by <a href="https://status301.net/wordpress-plugins/xml-sitemap-feed/">XML Sitemap &amp; Google News</a> for <a href="https://wordpress.org/">WordPress</a>.</p>
44
  </div>
45
  </body>
46
  </html>
xml-sitemap.php CHANGED
@@ -4,13 +4,13 @@ Plugin Name: XML Sitemap & Google 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">tip</a></strong> for continued development and support. Thanks :)
6
  Text Domain: xml-sitemap-feed
7
- Version: 5.1
8
  Requires PHP: 5.4
9
  Author: RavanH
10
  Author URI: http://status301.net/
11
  */
12
 
13
- define( 'XMLSF_VERSION', '5.1' );
14
 
15
  /* Copyright 2019 RavanH
16
  http://status301.net/
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">tip</a></strong> for continued development and support. Thanks :)
6
  Text Domain: xml-sitemap-feed
7
+ Version: 5.1.1
8
  Requires PHP: 5.4
9
  Author: RavanH
10
  Author URI: http://status301.net/
11
  */
12
 
13
+ define( 'XMLSF_VERSION', '5.1.1' );
14
 
15
  /* Copyright 2019 RavanH
16
  http://status301.net/