All in One SEO Pack - Version 3.1.1

Version Description

Download this release

Release Info

Developer hallsofmontezuma
Plugin Icon 128x128 All in One SEO Pack
Version 3.1.1
Comparing to
See all releases

Code changes from version 3.0.3 to 3.1.1

admin/aioseop_module_class.php CHANGED
@@ -1748,15 +1748,12 @@ if ( ! class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1748
  wp_enqueue_style( 'aioseop-module-style-rtl', AIOSEOP_PLUGIN_URL . 'css/modules/aioseop_module-rtl.css', array( 'aioseop-module-style' ), AIOSEOP_VERSION );
1749
  }
1750
 
1751
- // Uses WP Scripts to load the current platform version of jQuery UI CSS.
1752
  if ( ! wp_style_is( 'aioseop-jquery-ui', 'registered' ) && ! wp_style_is( 'aioseop-jquery-ui', 'enqueued' ) ) {
1753
- $wp_scripts = wp_scripts();
1754
  wp_enqueue_style(
1755
  'aioseop-jquery-ui',
1756
- '//ajax.googleapis.com/ajax/libs/jqueryui/' . $wp_scripts->registered['jquery-ui-core']->ver . '/themes/smoothness/jquery-ui.min.css',
1757
- false,
1758
- AIOSEOP_VERSION,
1759
- false
1760
  );
1761
  }
1762
  }
1748
  wp_enqueue_style( 'aioseop-module-style-rtl', AIOSEOP_PLUGIN_URL . 'css/modules/aioseop_module-rtl.css', array( 'aioseop-module-style' ), AIOSEOP_VERSION );
1749
  }
1750
 
 
1751
  if ( ! wp_style_is( 'aioseop-jquery-ui', 'registered' ) && ! wp_style_is( 'aioseop-jquery-ui', 'enqueued' ) ) {
 
1752
  wp_enqueue_style(
1753
  'aioseop-jquery-ui',
1754
+ AIOSEOP_PLUGIN_URL . 'css/aioseop-jquery-ui.css',
1755
+ array(),
1756
+ AIOSEOP_VERSION
 
1757
  );
1758
  }
1759
  }
admin/class-aioseop-notices.php CHANGED
@@ -117,10 +117,11 @@ if ( ! class_exists( 'AIOSEOP_Notices' ) ) {
117
  if ( version_compare( phpversion(), '5.3.6', '<' ) ) {
118
  return false;
119
  }
120
-
121
  $this->_requires();
122
- if ( current_user_can( 'aiosp_manage_seo' ) ) {
123
 
 
124
  $this->aioseop_screens[] = 'toplevel_page_' . AIOSEOP_PLUGIN_DIRNAME . '/aioseop_class';
125
  $this->aioseop_screens[] = 'all-in-one-seo_page_' . AIOSEOP_PLUGIN_DIRNAME . '/modules/aioseop_performance';
126
  $this->aioseop_screens[] = 'all-in-one-seo_page_' . AIOSEOP_PLUGIN_DIRNAME . '/modules/aioseop_sitemap';
@@ -132,8 +133,6 @@ if ( ! class_exists( 'AIOSEOP_Notices' ) ) {
132
  $this->aioseop_screens[] = 'all-in-one-seo_page_' . AIOSEOP_PLUGIN_DIRNAME . '/modules/aioseop_bad_robots';
133
  $this->aioseop_screens[] = 'all-in-one-seo_page_' . AIOSEOP_PLUGIN_DIRNAME . '/modules/aioseop_feature_manager';
134
 
135
- $this->obj_load_options();
136
-
137
  add_action( 'admin_init', array( $this, 'init' ) );
138
  add_action( 'current_screen', array( $this, 'admin_screen' ) );
139
  }
@@ -549,6 +548,7 @@ if ( ! class_exists( 'AIOSEOP_Notices' ) ) {
549
  }
550
 
551
  $this->notices[ $slug ]['time_set'] = $time_set;
 
552
  $this->active_notices[ $slug ] = $display_time;
553
 
554
  return true;
117
  if ( version_compare( phpversion(), '5.3.6', '<' ) ) {
118
  return false;
119
  }
120
+
121
  $this->_requires();
122
+ $this->obj_load_options();
123
 
124
+ if ( current_user_can( 'aiosp_manage_seo' ) ) {
125
  $this->aioseop_screens[] = 'toplevel_page_' . AIOSEOP_PLUGIN_DIRNAME . '/aioseop_class';
126
  $this->aioseop_screens[] = 'all-in-one-seo_page_' . AIOSEOP_PLUGIN_DIRNAME . '/modules/aioseop_performance';
127
  $this->aioseop_screens[] = 'all-in-one-seo_page_' . AIOSEOP_PLUGIN_DIRNAME . '/modules/aioseop_sitemap';
133
  $this->aioseop_screens[] = 'all-in-one-seo_page_' . AIOSEOP_PLUGIN_DIRNAME . '/modules/aioseop_bad_robots';
134
  $this->aioseop_screens[] = 'all-in-one-seo_page_' . AIOSEOP_PLUGIN_DIRNAME . '/modules/aioseop_feature_manager';
135
 
 
 
136
  add_action( 'admin_init', array( $this, 'init' ) );
137
  add_action( 'current_screen', array( $this, 'admin_screen' ) );
138
  }
548
  }
549
 
550
  $this->notices[ $slug ]['time_set'] = $time_set;
551
+ $this->notices[ $slug ]['time_start'] = $display_time;
552
  $this->active_notices[ $slug ] = $display_time;
553
 
554
  return true;
admin/display/menu.php CHANGED
@@ -18,7 +18,7 @@ class AIOSEOPAdminMenus {
18
  return;
19
  }
20
 
21
- if ( current_user_can( 'manage_options' ) || current_user_can( 'aiosp_manage_seo' ) ) {
22
  add_action( 'admin_menu', array( $this, 'add_pro_submenu' ), 11 );
23
  } else {
24
  return;
18
  return;
19
  }
20
 
21
+ if ( ! AIOSEOPPRO && ( current_user_can( 'manage_options' ) || current_user_can( 'aiosp_manage_seo' ) ) ) {
22
  add_action( 'admin_menu', array( $this, 'add_pro_submenu' ), 11 );
23
  } else {
24
  return;
admin/display/welcome-content.php CHANGED
@@ -2,7 +2,7 @@
2
  <div class="welcome-panel-content">
3
  <div class="welcome-panel-column-container">
4
  <div>
5
- <h3><a href="https://semperplugins.com/all-in-one-seo-pack-3-0/" target="_blank"><?php echo esc_html( sprintf( __( "Check out what's new in our %s release post!", 'all_in_one_seo_pack' ), 'Version 3' ) ); ?></a></h3>
6
  </div>
7
  <div class="welcome-panel-column">
8
  <h3>
2
  <div class="welcome-panel-content">
3
  <div class="welcome-panel-column-container">
4
  <div>
5
+ <h3><a href="https://semperplugins.com/all-in-one-seo-pack-3-0/" target="_blank"><?php echo esc_html( sprintf( __( "Check out what's new in our %s release post!", 'all-in-one-seo-pack' ), __( 'Version 3', 'all-in-one-seo-pack' ) ) ); ?></a></h3>
6
  </div>
7
  <div class="welcome-panel-column">
8
  <h3>
aioseop_class.php CHANGED
@@ -3504,7 +3504,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
3504
  */
3505
  public function woo_upgrade_notice() {
3506
  global $aioseop_notices;
3507
- if ( class_exists( 'WooCommerce' ) && current_user_can( 'manage_options' ) && ! AIOSEOPPRO ) {
3508
  $aioseop_notices->activate_notice( 'woocommerce_detected' );
3509
  } else {
3510
  global $aioseop_notices;
3504
  */
3505
  public function woo_upgrade_notice() {
3506
  global $aioseop_notices;
3507
+ if ( class_exists( 'WooCommerce' ) && ! AIOSEOPPRO ) {
3508
  $aioseop_notices->activate_notice( 'woocommerce_detected' );
3509
  } else {
3510
  global $aioseop_notices;
all_in_one_seo_pack.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: All In One SEO Pack
5
  Plugin URI: https://semperplugins.com/all-in-one-seo-pack-pro-version/
6
  Description: Out-of-the-box SEO for WordPress. Features like XML Sitemaps, SEO for custom post types, SEO for blogs or business sites, SEO for ecommerce sites, and much more. More than 50 million downloads since 2007.
7
- Version: 3.0.3
8
  Author: Michael Torbert
9
  Author URI: https://semperplugins.com/all-in-one-seo-pack-pro-version/
10
  Text Domain: all-in-one-seo-pack
@@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
32
  * The original WordPress SEO plugin.
33
  *
34
  * @package All-in-One-SEO-Pack
35
- * @version 3.0.3
36
  */
37
 
38
  if ( ! defined( 'AIOSEOPPRO' ) ) {
@@ -42,7 +42,7 @@ if ( ! defined( 'AIOSEOP_PLUGIN_NAME' ) ) {
42
  define( 'AIOSEOP_PLUGIN_NAME', 'All in One SEO Pack' );
43
  }
44
  if ( ! defined( 'AIOSEOP_VERSION' ) ) {
45
- define( 'AIOSEOP_VERSION', '3.0.3' );
46
  }
47
 
48
  /*
4
  Plugin Name: All In One SEO Pack
5
  Plugin URI: https://semperplugins.com/all-in-one-seo-pack-pro-version/
6
  Description: Out-of-the-box SEO for WordPress. Features like XML Sitemaps, SEO for custom post types, SEO for blogs or business sites, SEO for ecommerce sites, and much more. More than 50 million downloads since 2007.
7
+ Version: 3.1.1
8
  Author: Michael Torbert
9
  Author URI: https://semperplugins.com/all-in-one-seo-pack-pro-version/
10
  Text Domain: all-in-one-seo-pack
32
  * The original WordPress SEO plugin.
33
  *
34
  * @package All-in-One-SEO-Pack
35
+ * @version 3.1.1
36
  */
37
 
38
  if ( ! defined( 'AIOSEOPPRO' ) ) {
42
  define( 'AIOSEOP_PLUGIN_NAME', 'All in One SEO Pack' );
43
  }
44
  if ( ! defined( 'AIOSEOP_VERSION' ) ) {
45
+ define( 'AIOSEOP_VERSION', '3.1.1' );
46
  }
47
 
48
  /*
css/aioseop-jquery-ui.css ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * jQuery UI - v1.11.4
3
+ * Targets AIOSEOP instead of whole page to avoid plugin conflicts.
4
+ *
5
+ * @since 3.0.0
6
+ *
7
+ * ©2015 jQuery Foundation and other contributors; Licensed MIT.
8
+ */
9
+ #aiosp_tabbed .ui-helper-clearfix:before,
10
+ #aiosp_tabbed .ui-helper-clearfix:after {
11
+ content: "";
12
+ display: table;
13
+ border-collapse: collapse
14
+ }
15
+
16
+ #aiosp_tabbed .ui-helper-clearfix:after {
17
+ clear: both
18
+ }
19
+
20
+ #aiosp_tabbed .ui-tabs {
21
+ position: relative;
22
+ padding: .2em
23
+ }
24
+
25
+ #aiosp_tabbed .ui-tabs .ui-tabs-nav {
26
+ margin: 0;
27
+ padding: .2em .2em 0
28
+ }
29
+
30
+ #aiosp_tabbed .ui-tabs .ui-tabs-nav li {
31
+ list-style: none;
32
+ float: left;
33
+ position: relative;
34
+ top: 0;
35
+ margin: 1px .2em 0 0;
36
+ border-bottom-width: 0;
37
+ padding: 0;
38
+ white-space: nowrap
39
+ }
40
+
41
+ #aiosp_tabbed .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
42
+ float: left;
43
+ padding: .5em 1em;
44
+ text-decoration: none
45
+ }
46
+
47
+ #aiosp_tabbed .ui-tabs .ui-tabs-nav li.ui-tabs-active {
48
+ margin-bottom: -1px;
49
+ padding-bottom: 1px
50
+ }
51
+
52
+ #aiosp_tabbed .ui-state-default,
53
+ #aiosp_tabbed .ui-widget-content .ui-state-default,
54
+ #aiosp_tabbed .ui-widget-header .ui-state-default {
55
+ border: 1px solid #d3d3d3;
56
+ background: #e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;
57
+ font-weight: normal;
58
+ color: #555
59
+ }
60
+
61
+ #aiosp_tabbed .ui-state-active,
62
+ #aiosp_tabbed .ui-widget-content .ui-state-active,
63
+ #aiosp_tabbed .ui-widget-header .ui-state-active {
64
+ border: 1px solid #aaa;
65
+ background: #fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;
66
+ font-weight: normal;
67
+ color: #212121
68
+ }
69
+
70
+ #aiosp_tabbed .ui-corner-all,
71
+ #aiosp_tabbed .ui-corner-top,
72
+ #aiosp_tabbed .ui-corner-left,
73
+ #aiosp_tabbed .ui-corner-tl {
74
+ border-top-left-radius: 4px
75
+ }
76
+
77
+ #aiosp_tabbed .ui-corner-all,
78
+ #aiosp_tabbed .ui-corner-top,
79
+ #aiosp_tabbed .ui-corner-right,
80
+ #aiosp_tabbed .ui-corner-tr {
81
+ border-top-right-radius: 4px
82
+ }
83
+
84
+ #aiosp_tabbed .ui-corner-all,
85
+ #aiosp_tabbed .ui-corner-bottom,
86
+ #aiosp_tabbed .ui-corner-left,
87
+ #aiosp_tabbed .ui-corner-bl {
88
+ border-bottom-left-radius: 4px
89
+ }
90
+
91
+ #aiosp_tabbed .ui-corner-all,
92
+ #aiosp_tabbed .ui-corner-bottom,
93
+ #aiosp_tabbed .ui-corner-right,
94
+ #aiosp_tabbed .ui-corner-br {
95
+ border-bottom-right-radius: 4px
96
+ }
97
+
98
+ .aioseop-ui-tooltip.ui-tooltip {
99
+ padding: 8px;
100
+ position: absolute;
101
+ z-index: 9999;
102
+ max-width: 300px;
103
+ -webkit-box-shadow: 0 0 5px #aaa;
104
+ box-shadow: 0 0 5px #aaa
105
+ }
inc/aioseop_updates_class.php CHANGED
@@ -133,6 +133,12 @@ class AIOSEOP_Updates {
133
  ) {
134
  $this->reset_review_notice_201906();
135
  }
 
 
 
 
 
 
136
  }
137
 
138
  /**
@@ -325,4 +331,15 @@ class AIOSEOP_Updates {
325
  $aioseop_notices->reset_notice( 'review_plugin' );
326
  $aioseop_notices->remove_notice( 'review_plugin' );
327
  }
 
 
 
 
 
 
 
 
 
328
  }
 
 
133
  ) {
134
  $this->reset_review_notice_201906();
135
  }
136
+
137
+ if (
138
+ version_compare( $old_version, '3.1', '<' )
139
+ ) {
140
+ $this->reset_flush_rewrite_rules_201906();
141
+ }
142
  }
143
 
144
  /**
331
  $aioseop_notices->reset_notice( 'review_plugin' );
332
  $aioseop_notices->remove_notice( 'review_plugin' );
333
  }
334
+
335
+ /**
336
+ * Flushes rewrite rules for XML Sitemap URL changes
337
+ *
338
+ * @since 3.1
339
+ */
340
+ public function reset_flush_rewrite_rules_201906() {
341
+ add_action( 'shutdown', 'flush_rewrite_rules' );
342
+ }
343
  }
344
+
345
+
inc/commonstrings.php CHANGED
@@ -23,7 +23,7 @@ class AIOSP_Common_Strings {
23
  __( 'Use these checkboxes to select which Taxonomies you want to use %s with.', 'all-in-one-seo-pack' );
24
  __( 'This displays an SEO News widget on the dashboard.', 'all-in-one-seo-pack' );
25
  /* translators: %s is a placeholder, which means that it should not be translated. It will be replaced with the name of the plugin, All in One SEO Pack. */
26
- __( 'Check this to add %s to the Admin Bar for easy access to your SEO settings.', 'all-in-one-seo-pack' );
27
  /* translators: %s is a placeholder, which means that it should not be translated. It will be replaced with the name of the plugin, All in One SEO Pack. */
28
  __( 'Check this to move the %s menu item to the top of your WordPress Dashboard menu.', 'all-in-one-seo-pack' );
29
  __( 'Check this if you want to track outbound forms with Google Analytics.', 'all-in-one-seo-pack' );
@@ -84,7 +84,7 @@ class AIOSP_Common_Strings {
84
 
85
  // From functions_general.php.
86
  __( 'Show SEO News', 'all-in-one-seo-pack' );
87
- __( 'Display Menu In Admin Bar:', 'all-in-one-seo-pack' );
88
  __( 'Display Menu At The Top:', 'all-in-one-seo-pack' );
89
  __( 'Track Outbound Forms:', 'all-in-one-seo-pack' );
90
  __( 'Track Events:', 'all-in-one-seo-pack' );
23
  __( 'Use these checkboxes to select which Taxonomies you want to use %s with.', 'all-in-one-seo-pack' );
24
  __( 'This displays an SEO News widget on the dashboard.', 'all-in-one-seo-pack' );
25
  /* translators: %s is a placeholder, which means that it should not be translated. It will be replaced with the name of the plugin, All in One SEO Pack. */
26
+ __( 'Check this to add %s to the Toolbar for easy access to your SEO settings.', 'all-in-one-seo-pack' );
27
  /* translators: %s is a placeholder, which means that it should not be translated. It will be replaced with the name of the plugin, All in One SEO Pack. */
28
  __( 'Check this to move the %s menu item to the top of your WordPress Dashboard menu.', 'all-in-one-seo-pack' );
29
  __( 'Check this if you want to track outbound forms with Google Analytics.', 'all-in-one-seo-pack' );
84
 
85
  // From functions_general.php.
86
  __( 'Show SEO News', 'all-in-one-seo-pack' );
87
+ __( 'Display Menu In Toolbar:', 'all-in-one-seo-pack' );
88
  __( 'Display Menu At The Top:', 'all-in-one-seo-pack' );
89
  __( 'Track Outbound Forms:', 'all-in-one-seo-pack' );
90
  __( 'Track Events:', 'all-in-one-seo-pack' );
modules/aioseop_opengraph.php CHANGED
@@ -364,13 +364,13 @@ if ( ! class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
364
  'name' => __( 'Select OG:Image Source', 'all-in-one-seo-pack' ),
365
  'type' => 'select',
366
  'initial_options' => array(
367
- '' => __( 'Default Image' ),
368
- 'featured' => __( 'Featured Image' ),
369
- 'attach' => __( 'First Attached Image' ),
370
- 'content' => __( 'First Image In Content' ),
371
- 'custom' => __( 'Image From Custom Field' ),
372
- 'author' => __( 'Post Author Image' ),
373
- 'auto' => __( 'First Available Image' ),
374
  ),
375
  ),
376
  'fallback' => array(
364
  'name' => __( 'Select OG:Image Source', 'all-in-one-seo-pack' ),
365
  'type' => 'select',
366
  'initial_options' => array(
367
+ '' => __( 'Default Image', 'all-in-one-seo-pack' ),
368
+ 'featured' => __( 'Featured Image', 'all-in-one-seo-pack' ),
369
+ 'attach' => __( 'First Attached Image', 'all-in-one-seo-pack' ),
370
+ 'content' => __( 'First Image In Content', 'all-in-one-seo-pack' ),
371
+ 'custom' => __( 'Image From Custom Field', 'all-in-one-seo-pack' ),
372
+ 'author' => __( 'Post Author Image', 'all-in-one-seo-pack' ),
373
+ 'auto' => __( 'First Available Image', 'all-in-one-seo-pack' ),
374
  ),
375
  ),
376
  'fallback' => array(
modules/aioseop_sitemap.php CHANGED
@@ -1434,10 +1434,11 @@ if ( ! class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
1434
  * @return array
1435
  */
1436
  public function get_rewrite_rules( $prefix_removed_rules_with = null ) {
 
1437
  $sitemap_rules = array(
1438
- $this->get_filename() . '.xml' => 'index.php?' . $this->prefix . 'path=root',
1439
- $this->get_filename() . '_(.+)_(\d+).xml' => 'index.php?' . $this->prefix . 'path=$matches[1]&' . $this->prefix . 'page=$matches[2]',
1440
- $this->get_filename() . '_(.+).xml' => 'index.php?' . $this->prefix . 'path=$matches[1]',
1441
  );
1442
 
1443
  if ( isset( $this->options[ "{$this->prefix}rss_sitemap" ] ) && $this->options[ "{$this->prefix}rss_sitemap" ] ) {
@@ -1952,7 +1953,7 @@ if ( ! class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
1952
  $options[ "{$this->prefix}posttypes" ] = array_diff( $options[ "{$this->prefix}posttypes" ], array( 'all' ) );
1953
  $options[ "{$this->prefix}taxonomies" ] = $this->show_or_hide_taxonomy( array_diff( $options[ "{$this->prefix}taxonomies" ], array( 'all' ) ) );
1954
 
1955
- $files[] = array( 'loc' => aioseop_home_url( '/' . $prefix . '_addl' . $suffix ) );
1956
 
1957
  // Get post types selected, and NoIndex post types & Index posts.
1958
  $post_types = $options[ "{$this->prefix}posttypes" ];
@@ -2027,21 +2028,21 @@ if ( ! class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
2027
  $count = 1;
2028
  for ( $post_count = 0; $post_count < $post_counts[ $sm ]; $post_count += $this->max_posts ) {
2029
  $files[] = array(
2030
- 'loc' => aioseop_home_url( '/' . $prefix . '_' . $sm . '_' . ( $count ++ ) . $suffix ),
2031
  'changefreq' => $freq,
2032
  'priority' => $prio,
2033
  );
2034
  }
2035
  } else {
2036
  $files[] = array(
2037
- 'loc' => aioseop_home_url( '/' . $prefix . '_' . $sm . $suffix ),
2038
  'changefreq' => $freq,
2039
  'priority' => $prio,
2040
  );
2041
  }
2042
  } else {
2043
  $files[] = array(
2044
- 'loc' => aioseop_home_url( '/' . $prefix . '_' . $sm . $suffix ),
2045
  'changefreq' => $freq,
2046
  'priority' => $prio,
2047
  );
@@ -2050,14 +2051,14 @@ if ( ! class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
2050
  }
2051
  if ( $this->option_isset( 'archive' ) ) {
2052
  $files[] = array(
2053
- 'loc' => aioseop_home_url( '/' . $prefix . '_archive' . $suffix ),
2054
  'changefreq' => $this->get_default_frequency( 'archive' ),
2055
  'priority' => $this->get_default_priority( 'archive' ),
2056
  );
2057
  }
2058
  if ( $this->option_isset( 'author' ) ) {
2059
  $files[] = array(
2060
- 'loc' => aioseop_home_url( '/' . $prefix . '_author' . $suffix ),
2061
  'changefreq' => $this->get_default_frequency( 'author' ),
2062
  'priority' => $this->get_default_priority( 'author' ),
2063
  );
@@ -2075,21 +2076,21 @@ if ( ! class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
2075
  $count = 1;
2076
  for ( $tc = 0; $tc < $term_count; $tc += $this->max_posts ) {
2077
  $files[] = array(
2078
- 'loc' => aioseop_home_url( '/' . $prefix . '_' . $v1_taxonomy . '_' . ( $count ++ ) . $suffix ),
2079
  'changefreq' => $this->get_default_frequency( 'taxonomies' ),
2080
  'priority' => $this->get_default_priority( 'taxonomies' ),
2081
  );
2082
  }
2083
  } else {
2084
  $files[] = array(
2085
- 'loc' => aioseop_home_url( '/' . $prefix . '_' . $v1_taxonomy . $suffix ),
2086
  'changefreq' => $this->get_default_frequency( 'taxonomies' ),
2087
  'priority' => $this->get_default_priority( 'taxonomies' ),
2088
  );
2089
  }
2090
  } else {
2091
  $files[] = array(
2092
- 'loc' => aioseop_home_url( '/' . $prefix . '_' . $v1_taxonomy . $suffix ),
2093
  'changefreq' => $this->get_default_frequency( 'taxonomies' ),
2094
  'priority' => $this->get_default_priority( 'taxonomies' ),
2095
  );
@@ -2162,7 +2163,7 @@ if ( ! class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
2162
  if ( 'root' === $sitemap_type ) {
2163
  $filename = $this->get_filename();
2164
  } else {
2165
- $filename = $this->get_filename() . '_' . $sitemap_type;
2166
  }
2167
  }
2168
  if ( empty( $comment ) ) {
@@ -2211,7 +2212,7 @@ if ( ! class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
2211
  if ( ! empty( $this->options[ "{$this->prefix}indexes" ] ) && ( $post_counts[ $posttype ] > $this->max_posts ) ) {
2212
  $count = 1;
2213
  for ( $post_count = 0; $post_count < $post_counts[ $posttype ]; $post_count += $this->max_posts ) {
2214
- $this->do_write_sitemap( $posttype, $count - 1, $this->get_filename() . "_{$posttype}_{$count}" );
2215
  $count ++;
2216
  }
2217
  } else {
@@ -2228,7 +2229,7 @@ if ( ! class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
2228
  if ( $term_count > $this->max_posts ) {
2229
  $count = 1;
2230
  for ( $tc = 0; $tc < $term_count; $tc += $this->max_posts ) {
2231
- $this->do_write_sitemap( $taxonomy, $tc, $this->get_filename() . "_{$taxonomy}_{$count}" );
2232
  $count ++;
2233
  }
2234
  } else {
1434
  * @return array
1435
  */
1436
  public function get_rewrite_rules( $prefix_removed_rules_with = null ) {
1437
+
1438
  $sitemap_rules = array(
1439
+ $this->get_filename() . '.xml' => 'index.php?' . $this->prefix . 'path=root',
1440
+ '(.+)-' . $this->get_filename() . '(\d+).xml' => 'index.php?' . $this->prefix . 'path=$matches[1]&' . $this->prefix . 'page=$matches[2]',
1441
+ '(.+)-' . $this->get_filename() . '.xml' => 'index.php?' . $this->prefix . 'path=$matches[1]',
1442
  );
1443
 
1444
  if ( isset( $this->options[ "{$this->prefix}rss_sitemap" ] ) && $this->options[ "{$this->prefix}rss_sitemap" ] ) {
1953
  $options[ "{$this->prefix}posttypes" ] = array_diff( $options[ "{$this->prefix}posttypes" ], array( 'all' ) );
1954
  $options[ "{$this->prefix}taxonomies" ] = $this->show_or_hide_taxonomy( array_diff( $options[ "{$this->prefix}taxonomies" ], array( 'all' ) ) );
1955
 
1956
+ $files[] = array( 'loc' => aioseop_home_url( '/addl-' . $prefix . $suffix ) );
1957
 
1958
  // Get post types selected, and NoIndex post types & Index posts.
1959
  $post_types = $options[ "{$this->prefix}posttypes" ];
2028
  $count = 1;
2029
  for ( $post_count = 0; $post_count < $post_counts[ $sm ]; $post_count += $this->max_posts ) {
2030
  $files[] = array(
2031
+ 'loc' => aioseop_home_url( '/' . $sm . '-' . $prefix . ( $count ++ ) . $suffix ),
2032
  'changefreq' => $freq,
2033
  'priority' => $prio,
2034
  );
2035
  }
2036
  } else {
2037
  $files[] = array(
2038
+ 'loc' => aioseop_home_url( '/' . $sm . '-' . $prefix . $suffix ),
2039
  'changefreq' => $freq,
2040
  'priority' => $prio,
2041
  );
2042
  }
2043
  } else {
2044
  $files[] = array(
2045
+ 'loc' => aioseop_home_url( '/' . $sm . '-' . $prefix . $suffix ),
2046
  'changefreq' => $freq,
2047
  'priority' => $prio,
2048
  );
2051
  }
2052
  if ( $this->option_isset( 'archive' ) ) {
2053
  $files[] = array(
2054
+ 'loc' => aioseop_home_url( '/' . 'archive-' . $prefix . $suffix ),
2055
  'changefreq' => $this->get_default_frequency( 'archive' ),
2056
  'priority' => $this->get_default_priority( 'archive' ),
2057
  );
2058
  }
2059
  if ( $this->option_isset( 'author' ) ) {
2060
  $files[] = array(
2061
+ 'loc' => aioseop_home_url( '/' . 'author-' . $prefix . $suffix ),
2062
  'changefreq' => $this->get_default_frequency( 'author' ),
2063
  'priority' => $this->get_default_priority( 'author' ),
2064
  );
2076
  $count = 1;
2077
  for ( $tc = 0; $tc < $term_count; $tc += $this->max_posts ) {
2078
  $files[] = array(
2079
+ 'loc' => aioseop_home_url( '/' . $v1_taxonomy . '-' . $prefix . ( $count ++ ) . $suffix ),
2080
  'changefreq' => $this->get_default_frequency( 'taxonomies' ),
2081
  'priority' => $this->get_default_priority( 'taxonomies' ),
2082
  );
2083
  }
2084
  } else {
2085
  $files[] = array(
2086
+ 'loc' => aioseop_home_url( '/' . $v1_taxonomy . '-' . $prefix . $suffix ),
2087
  'changefreq' => $this->get_default_frequency( 'taxonomies' ),
2088
  'priority' => $this->get_default_priority( 'taxonomies' ),
2089
  );
2090
  }
2091
  } else {
2092
  $files[] = array(
2093
+ 'loc' => aioseop_home_url( '/' . $v1_taxonomy . '-' . $prefix . $suffix ),
2094
  'changefreq' => $this->get_default_frequency( 'taxonomies' ),
2095
  'priority' => $this->get_default_priority( 'taxonomies' ),
2096
  );
2163
  if ( 'root' === $sitemap_type ) {
2164
  $filename = $this->get_filename();
2165
  } else {
2166
+ $filename = $sitemap_type . '-' . $this->get_filename();
2167
  }
2168
  }
2169
  if ( empty( $comment ) ) {
2212
  if ( ! empty( $this->options[ "{$this->prefix}indexes" ] ) && ( $post_counts[ $posttype ] > $this->max_posts ) ) {
2213
  $count = 1;
2214
  for ( $post_count = 0; $post_count < $post_counts[ $posttype ]; $post_count += $this->max_posts ) {
2215
+ $this->do_write_sitemap( $posttype, $count - 1, "{$posttype}-" . $this->get_filename() . "{$count}" );
2216
  $count ++;
2217
  }
2218
  } else {
2229
  if ( $term_count > $this->max_posts ) {
2230
  $count = 1;
2231
  for ( $tc = 0; $tc < $term_count; $tc += $this->max_posts ) {
2232
+ $this->do_write_sitemap( $taxonomy, $tc, "{$taxonomy}-" . $this->get_filename() . "{$count}" );
2233
  $count ++;
2234
  }
2235
  } else {
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: hallsofmontezuma, semperplugins, wpsmort, arnaudbroes
3
  Tags: SEO, Google Search Console, XML Sitemap, meta description, meta title, noindex
4
  Requires at least: 4.7
5
  Tested up to: 5.2
6
- Stable tag: 3.0.3
7
  License: GPLv2 or later
8
  Requires PHP: 5.2.4
9
 
3
  Tags: SEO, Google Search Console, XML Sitemap, meta description, meta title, noindex
4
  Requires at least: 4.7
5
  Tested up to: 5.2
6
+ Stable tag: 3.1.1
7
  License: GPLv2 or later
8
  Requires PHP: 5.2.4
9