WP Meta SEO - Version 4.2.5

Version Description

  • Add : Possibility to automatically add articles to sitemaps
    • Fix : Select all posts in the sitemap
Download this release

Release Info

Developer JoomUnited
Plugin Icon 128x128 WP Meta SEO
Version 4.2.5
Comparing to
See all releases

Code changes from version 4.2.4 to 4.2.5

assets/js/metaseo_sitemap.js CHANGED
@@ -158,7 +158,7 @@
158
  var wpms_save_create_sitemaps = function (link_sitemap) {
159
  // show spinner
160
  $('.spinner_save_sitemaps').css({'visibility': 'visible'}).show();
161
- var posts = {}, pages = {}, menus = {}, customUrl = {} ,taxonomies = [], columns_menu = {}, wpms_category_link = [], check_all_menu_items = [];
162
  var custom_post_type = {};
163
  // get custom post type params to save to sitemap
164
  $.each(wpmseositemap.post_type,function(i,post_type){
@@ -220,6 +220,12 @@
220
  }
221
  });
222
 
 
 
 
 
 
 
223
  $('.sitemap_addlink_categories').each(function (i, v) {
224
  if ($(v).is(':checked')) {
225
  wpms_category_link.push($(v).val());
@@ -256,7 +262,7 @@
256
  var menu_id = $(v).data('menu_id');
257
  columns_menu[menu_id] = $(v).val()
258
  });
259
-
260
  var datas = {
261
  action: 'wpms_save_sitemap_settings',
262
  wpms_sitemap_posts: JSON.stringify(posts),
@@ -272,6 +278,7 @@
272
  wpms_sitemap_root: wpms_sitemap_root,
273
  wpms_sitemap_add: wpms_sitemap_add,
274
  wpms_category_link: wpms_category_link,
 
275
  check_all_menu_items: check_all_menu_items,
276
  wpms_sitemap_taxonomies: taxonomies,
277
  wpms_public_name_posts: $('.public_name_posts').val(),
@@ -374,15 +381,60 @@
374
  wpms_save_create_sitemaps();
375
  });
376
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
377
  // check all
378
  $('.sitemap_check_all').on('click', function () {
379
  var type = $(this).data('type');
380
  if ($(this).is(':checked')) {
381
  $('.cb_sitemaps_' + type).prop('checked', true);
382
  $('.check_all_menu_items').prop('checked', true);
 
 
383
  } else {
384
  $('.cb_sitemaps_' + type).prop('checked', false);
385
  $('.check_all_menu_items').prop('checked', false);
 
 
386
  }
387
  // Create sitemap automatic
388
  wpms_save_create_sitemaps();
158
  var wpms_save_create_sitemaps = function (link_sitemap) {
159
  // show spinner
160
  $('.spinner_save_sitemaps').css({'visibility': 'visible'}).show();
161
+ var posts = {}, pages = {}, menus = {}, customUrl = {} ,taxonomies = [], columns_menu = {}, wpms_category_link = [], check_all_menu_items = [], wpms_category_select_all = [];
162
  var custom_post_type = {};
163
  // get custom post type params to save to sitemap
164
  $.each(wpmseositemap.post_type,function(i,post_type){
220
  }
221
  });
222
 
223
+ $(".xm_category_select_all").each(function (i, v) {
224
+ if ($(v).is(':checked')) {
225
+ wpms_category_select_all.push($(v).val());
226
+ }
227
+ });
228
+
229
  $('.sitemap_addlink_categories').each(function (i, v) {
230
  if ($(v).is(':checked')) {
231
  wpms_category_link.push($(v).val());
262
  var menu_id = $(v).data('menu_id');
263
  columns_menu[menu_id] = $(v).val()
264
  });
265
+
266
  var datas = {
267
  action: 'wpms_save_sitemap_settings',
268
  wpms_sitemap_posts: JSON.stringify(posts),
278
  wpms_sitemap_root: wpms_sitemap_root,
279
  wpms_sitemap_add: wpms_sitemap_add,
280
  wpms_category_link: wpms_category_link,
281
+ wpms_category_select_all: wpms_category_select_all,
282
  check_all_menu_items: check_all_menu_items,
283
  wpms_sitemap_taxonomies: taxonomies,
284
  wpms_public_name_posts: $('.public_name_posts').val(),
381
  wpms_save_create_sitemaps();
382
  });
383
 
384
+ $('.xml_cb_customposttype_all').on('click', function () {
385
+ var posttype = $(this).data('posttype');
386
+
387
+ if ($(this).is(':checked')) {
388
+ $('.cb_sitemaps_' + posttype).prop('checked', true);
389
+ } else {
390
+ $('.cb_sitemaps_' + posttype).prop('checked', false);
391
+ }
392
+ });
393
+
394
+
395
+ $('.xm_category_select_all').on('click', function () {
396
+ var categoryID = $(this).val();
397
+ var category = $(this).data('category');
398
+
399
+ if ($(this).is(':checked')) {
400
+ $('.' + category).prop('checked', true);
401
+ is_all = 1;
402
+ } else {
403
+ $('.' + category).prop('checked', false);
404
+ is_all = 0;
405
+ }
406
+
407
+ var datas = {
408
+ action: 'wpms_sitemap_check_all_category',
409
+ wpms_sitemap_category_id: categoryID,
410
+ wpms_sitemap_cateogry_is_all: is_all,
411
+ wpms_nonce: wpms_localize.wpms_nonce
412
+ };
413
+
414
+ $.ajax({
415
+ url: ajaxurl,
416
+ method: 'POST',
417
+ dataType: 'json',
418
+ data: datas,
419
+ success: function () {
420
+ wpms_regen_sitemaps();
421
+ }
422
+ });
423
+ });
424
+
425
  // check all
426
  $('.sitemap_check_all').on('click', function () {
427
  var type = $(this).data('type');
428
  if ($(this).is(':checked')) {
429
  $('.cb_sitemaps_' + type).prop('checked', true);
430
  $('.check_all_menu_items').prop('checked', true);
431
+ $('.xm_category_select_all_'+ type).prop('checked', true);
432
+ $('.xml_cb_customposttype_all_' + type).prop('checked', true);
433
  } else {
434
  $('.cb_sitemaps_' + type).prop('checked', false);
435
  $('.check_all_menu_items').prop('checked', false);
436
+ $('.xm_category_select_all_'+ type).prop('checked', false);
437
+ $('.xml_cb_customposttype_all_' + type).prop('checked', false);
438
  }
439
  // Create sitemap automatic
440
  wpms_save_create_sitemaps();
inc/class.metaseo-sitemap.php CHANGED
@@ -61,6 +61,54 @@ class MetaSeoSitemap
61
  add_action('wp_ajax_wpms_list_posts_category', array($this, 'listPostsCategory'));
62
  add_action('wp_update_nav_menu', array($this, 'wpUpdateNavMenu'), 10, 1);
63
  add_action('wp_update_nav_menu_item', array($this, 'wpAddNavMenuItem'), 10, 3);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  }
65
 
66
  /**
@@ -162,7 +210,8 @@ class MetaSeoSitemap
162
  'wpms_public_name_posts' => '',
163
  'wpms_sitemap_posts' => array(),
164
  'wpms_sitemap_pages' => array(),
165
- 'wpms_sitemap_include_lang' => array()
 
166
  );
167
 
168
  if (is_plugin_active(WPMSEO_ADDON_FILENAME)) {
@@ -1118,7 +1167,7 @@ class MetaSeoSitemap
1118
  $lastmod = $gglstmp_url->appendChild($xml->createElement('lastmod'));
1119
 
1120
  $now = $wpdb->get_var(
1121
- $wpdb->prepare('SELECT post_modified FROM ' . $wpdb->posts . ', ' . $wpdb->term_relationships . ' WHERE post_status = %s AND term_taxonomy_id = %d AND $wpdb->posts.ID = $wpdb->term_relationships.object_id ORDER BY post_modified DESC', array(
1122
  'publish',
1123
  $term_value->term_taxonomy_id
1124
  ))
@@ -2429,6 +2478,9 @@ ORDER BY p.post_date DESC', array($post_type)));
2429
  */
2430
  public function regenerateSitemaps($type = 'ajax')
2431
  {
 
 
 
2432
  $wpms_url_robot = get_home_path() . 'robots.txt';
2433
  $wpms_url_home = site_url('/');
2434
  $this->getSitemapSettings();
@@ -2668,7 +2720,8 @@ ORDER BY p.post_date DESC', array($_POST['category_id'])));
2668
  'wpms_display_order_menus' => 1,
2669
  'wpms_display_order_posts' => 2,
2670
  'wpms_display_order_pages' => 3,
2671
- 'wpms_display_order_urls' => 4
 
2672
  );
2673
 
2674
  if (is_plugin_active(WPMSEO_ADDON_FILENAME)) {
@@ -2752,6 +2805,7 @@ ORDER BY p.post_date DESC', array($_POST['category_id'])));
2752
 
2753
  update_option('_metaseo_settings_sitemap', $settings_sitemap);
2754
 
 
2755
  /**
2756
  * Save sitemap settings
2757
  *
@@ -2760,4 +2814,130 @@ ORDER BY p.post_date DESC', array($_POST['category_id'])));
2760
  do_action('wpms_save_sitemap_settings', $settings_sitemap);
2761
  wp_send_json(true);
2762
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2763
  }
61
  add_action('wp_ajax_wpms_list_posts_category', array($this, 'listPostsCategory'));
62
  add_action('wp_update_nav_menu', array($this, 'wpUpdateNavMenu'), 10, 1);
63
  add_action('wp_update_nav_menu_item', array($this, 'wpAddNavMenuItem'), 10, 3);
64
+ add_action('publish_post', array($this, 'wpAutoAddPostInSitemap'), 10, 1);
65
+ add_action('wp_ajax_wpms_sitemap_check_all_category', array($this, 'checkAllCategoryInSitemap'));
66
+ }
67
+
68
+ /**
69
+ * Fires after a post item has been updated.
70
+ *
71
+ * @param integer $postId Post ID
72
+ *
73
+ * @return void
74
+ */
75
+ public function wpAutoAddPostInSitemap($postId)
76
+ {
77
+ if (!(defined('REST_REQUEST') && REST_REQUEST)) {
78
+ $settings = get_option('_metaseo_settings_sitemap');
79
+ $category = get_the_category($postId);
80
+ $is_create_sitemap = false;
81
+ if (!empty($category)) {
82
+ foreach ($category as $cat) {
83
+ if (isset($settings['wpms_category_select_all']) && isset($settings['wpms_category_link'])
84
+ && in_array($cat->cat_ID, $settings['wpms_category_select_all'])
85
+ && in_array($cat->cat_ID, $settings['wpms_category_link'])
86
+ ) {
87
+ $is_create_sitemap = true;
88
+ }
89
+ }
90
+ }
91
+
92
+ if (!empty($settings['wpms_sitemap_posts'])) {
93
+ foreach ($settings['wpms_sitemap_posts'] as $post) {
94
+ if ((int)$post['post_id'] === $postId) {
95
+ // Exist in sitemap
96
+ $is_create_sitemap = false;
97
+ }
98
+ }
99
+ }
100
+
101
+ if ($is_create_sitemap) {
102
+ $settings['wpms_sitemap_posts'][$postId] = array(
103
+ 'post_id' => $postId,
104
+ 'priority' => '1',
105
+ 'frequency' => 'monthly'
106
+ );
107
+
108
+ update_option('_metaseo_settings_sitemap', $settings);
109
+ $this->regenerateSitemaps('submit');
110
+ }
111
+ }
112
  }
113
 
114
  /**
210
  'wpms_public_name_posts' => '',
211
  'wpms_sitemap_posts' => array(),
212
  'wpms_sitemap_pages' => array(),
213
+ 'wpms_sitemap_include_lang' => array(),
214
+ 'wpms_category_select_all' => array()
215
  );
216
 
217
  if (is_plugin_active(WPMSEO_ADDON_FILENAME)) {
1167
  $lastmod = $gglstmp_url->appendChild($xml->createElement('lastmod'));
1168
 
1169
  $now = $wpdb->get_var(
1170
+ $wpdb->prepare('SELECT post_modified FROM ' . $wpdb->posts . ' AS posttable, ' . $wpdb->term_relationships . ' AS termrelationship WHERE post_status = %s AND term_taxonomy_id = %d AND posttable.ID = termrelationship.object_id ORDER BY post_modified DESC', array(
1171
  'publish',
1172
  $term_value->term_taxonomy_id
1173
  ))
2478
  */
2479
  public function regenerateSitemaps($type = 'ajax')
2480
  {
2481
+ if (! function_exists('get_home_path')) {
2482
+ include_once ABSPATH . '/wp-admin/includes/file.php';
2483
+ }
2484
  $wpms_url_robot = get_home_path() . 'robots.txt';
2485
  $wpms_url_home = site_url('/');
2486
  $this->getSitemapSettings();
2720
  'wpms_display_order_menus' => 1,
2721
  'wpms_display_order_posts' => 2,
2722
  'wpms_display_order_pages' => 3,
2723
+ 'wpms_display_order_urls' => 4,
2724
+ 'wpms_category_select_all' => array()
2725
  );
2726
 
2727
  if (is_plugin_active(WPMSEO_ADDON_FILENAME)) {
2805
 
2806
  update_option('_metaseo_settings_sitemap', $settings_sitemap);
2807
 
2808
+ $this->updatePostInSitemapWithSelectAll();
2809
  /**
2810
  * Save sitemap settings
2811
  *
2814
  do_action('wpms_save_sitemap_settings', $settings_sitemap);
2815
  wp_send_json(true);
2816
  }
2817
+
2818
+ /**
2819
+ * Update all post into sitemap with select all
2820
+ *
2821
+ * @return void
2822
+ */
2823
+ public function updatePostInSitemapWithSelectAll()
2824
+ {
2825
+ $settings = get_option('_metaseo_settings_sitemap');
2826
+ $post_in_category = array();
2827
+ $post_in_sitemap = array();
2828
+
2829
+ if (!empty($settings['wpms_category_select_all'])) {
2830
+ foreach ($settings['wpms_category_select_all'] as $cat_id) {
2831
+ $args = array(
2832
+ 'numberposts' => -1,
2833
+ 'category' => $cat_id,
2834
+ 'post_type' => 'post'
2835
+ );
2836
+
2837
+ $posts = get_posts($args);
2838
+ if (!empty($posts)) {
2839
+ foreach ($posts as $post) {
2840
+ $post_in_category[] = $post->ID;
2841
+ }
2842
+ }
2843
+ }
2844
+ }
2845
+
2846
+ if (!empty($settings['wpms_sitemap_posts'])) {
2847
+ foreach ($settings['wpms_sitemap_posts'] as $value) {
2848
+ $post_in_sitemap[] = (int)$value['post_id'];
2849
+ }
2850
+ }
2851
+
2852
+
2853
+ if (!empty($post_in_category)) {
2854
+ foreach ($post_in_category as $post) {
2855
+ if (in_array($post, $post_in_sitemap)) {
2856
+ continue;
2857
+ }
2858
+
2859
+ $settings['wpms_sitemap_posts'][$post] = array(
2860
+ 'post_id' => $post,
2861
+ 'priority' => '1',
2862
+ 'frequency' => 'monthly'
2863
+ );
2864
+ }
2865
+ }
2866
+
2867
+ update_option('_metaseo_settings_sitemap', $settings);
2868
+ }
2869
+
2870
+ /**
2871
+ * Ajax generate sitemap
2872
+ *
2873
+ * @return void
2874
+ */
2875
+ public function checkAllCategoryInSitemap()
2876
+ {
2877
+ if (empty($_POST['wpms_nonce'])
2878
+ || !wp_verify_nonce($_POST['wpms_nonce'], 'wpms_nonce')) {
2879
+ die();
2880
+ }
2881
+ $post_in_category = array();
2882
+ $post_in_sitemap = array();
2883
+ $settings = get_option('_metaseo_settings_sitemap');
2884
+ $is_all = $_POST['wpms_sitemap_cateogry_is_all'];
2885
+ $cat_id = $_POST['wpms_sitemap_category_id'];
2886
+
2887
+ if (isset($_POST['wpms_sitemap_category_id'])) {
2888
+ $args = array(
2889
+ 'numberposts' => -1,
2890
+ 'category' => $cat_id,
2891
+ 'post_type' => 'post'
2892
+ );
2893
+
2894
+ $posts = get_posts($args);
2895
+ if (!empty($posts)) {
2896
+ foreach ($posts as $post) {
2897
+ $post_in_category[] = $post->ID;
2898
+ }
2899
+ }
2900
+ }
2901
+
2902
+ if (!empty($settings['wpms_sitemap_posts'])) {
2903
+ foreach ($settings['wpms_sitemap_posts'] as $value) {
2904
+ $post_in_sitemap[] = (int)$value['post_id'];
2905
+ }
2906
+ }
2907
+
2908
+ if ($is_all) {
2909
+ if ($post_in_category) {
2910
+ foreach ($post_in_category as $post) {
2911
+ if (in_array($post, $post_in_sitemap)) {
2912
+ continue;
2913
+ }
2914
+
2915
+ $settings['wpms_sitemap_posts'][$post] = array(
2916
+ 'post_id' => $post,
2917
+ 'priority' => '1',
2918
+ 'frequency' => 'monthly'
2919
+ );
2920
+ }
2921
+ }
2922
+
2923
+ array_push($settings['wpms_category_select_all'], $cat_id);
2924
+ } else {
2925
+ if (!empty($post_in_sitemap)) {
2926
+ foreach ($post_in_sitemap as $v) {
2927
+ if (in_array($v, $post_in_category)) {
2928
+ unset($settings['wpms_sitemap_posts'][$v]);
2929
+ }
2930
+ }
2931
+ }
2932
+
2933
+ foreach ($settings['wpms_category_select_all'] as $k => $val) {
2934
+ if ((int)$val === (int)$cat_id) {
2935
+ unset($settings['wpms_category_select_all'][$k]);
2936
+ }
2937
+ }
2938
+ }
2939
+ $settings['wpms_category_select_all'] = array_unique($settings['wpms_category_select_all']);
2940
+ update_option('_metaseo_settings_sitemap', $settings);
2941
+ $this->regenerateSitemaps();
2942
+ }
2943
  }
inc/class.wp-metaseo.php CHANGED
@@ -46,7 +46,7 @@ class WpMetaSeo
46
  *
47
  * @return void
48
  */
49
- public static function pluginActivation($wp = '4.0', $php = '5.3.0')
50
  {
51
  global $wp_version;
52
 
46
  *
47
  * @return void
48
  */
49
+ public static function pluginActivation($wp = '4.0', $php = '5.6.0')
50
  {
51
  global $wp_version;
52
 
inc/install-wizard/content/viewEvironment.php CHANGED
@@ -24,7 +24,7 @@ defined('ABSPATH') || die('No direct script access allowed!');
24
  </label>
25
 
26
  <div class="right-checkbox">
27
- <?php if (version_compare(PHP_VERSION, '5.3', '<')) : ?>
28
  <img src="<?php echo esc_url(WPMETASEO_PLUGIN_URL . '/assets/images/icon-information/icon-information.png') ?>"
29
  srcset="<?php echo esc_url(WPMETASEO_PLUGIN_URL . '/assets/images/icon-information/icon-information@2x.png') ?> 2x, <?php echo esc_url(WPMETASEO_PLUGIN_URL . '/assets/images/icon-information/icon-information@3x.png') ?> 3x"
30
  class="img_warning">
@@ -36,7 +36,7 @@ defined('ABSPATH') || die('No direct script access allowed!');
36
  </div>
37
  </div>
38
 
39
- <?php if (version_compare(PHP_VERSION, '5.3', '<')) : ?>
40
  <p class="description text_left">
41
  <?php esc_html_e('Your PHP version is ', 'wp-meta-seo'); ?>
42
  <?php echo esc_html(PHP_VERSION) ?>
24
  </label>
25
 
26
  <div class="right-checkbox">
27
+ <?php if (version_compare(PHP_VERSION, '5.6', '<')) : ?>
28
  <img src="<?php echo esc_url(WPMETASEO_PLUGIN_URL . '/assets/images/icon-information/icon-information.png') ?>"
29
  srcset="<?php echo esc_url(WPMETASEO_PLUGIN_URL . '/assets/images/icon-information/icon-information@2x.png') ?> 2x, <?php echo esc_url(WPMETASEO_PLUGIN_URL . '/assets/images/icon-information/icon-information@3x.png') ?> 3x"
30
  class="img_warning">
36
  </div>
37
  </div>
38
 
39
+ <?php if (version_compare(PHP_VERSION, '5.6', '<')) : ?>
40
  <p class="description text_left">
41
  <?php esc_html_e('Your PHP version is ', 'wp-meta-seo'); ?>
42
  <?php echo esc_html(PHP_VERSION) ?>
inc/pages/google-analytics/google-analytics.php CHANGED
@@ -6,7 +6,7 @@
6
  <h2 class="wpms_uppercase"><?php esc_html_e('Google Analytics tracking & report', 'wp-meta-seo') ?></h2>
7
  <p class="ju-description"><?php esc_html_e('Enable Google Analytics tracking and reports using a Google Analytics direct connection. Require free Google Cloud credentials', 'wp-meta-seo') ?></p>
8
  <p class="wpms-ga-link-document">
9
- <a class="ju-link-classic" href="<?php echo esc_url('https://www.joomunited.com/documentation/wp-meta-seo-documentation#toc-7-1-activate-analytics-tracking') ?>"
10
  target="_blank"><?php esc_html_e('DOCUMENTATION', 'wp-meta-seo') ?></a>
11
  <a class="ju-link-classic" href="<?php echo esc_url('https://console.cloud.google.com/apis/dashboard') ?>" style="margin-left: 15px"
12
  target="_blank"><?php esc_html_e('GET GOOGLE CREDENTIALS >>', 'wp-meta-seo') ?></a>
6
  <h2 class="wpms_uppercase"><?php esc_html_e('Google Analytics tracking & report', 'wp-meta-seo') ?></h2>
7
  <p class="ju-description"><?php esc_html_e('Enable Google Analytics tracking and reports using a Google Analytics direct connection. Require free Google Cloud credentials', 'wp-meta-seo') ?></p>
8
  <p class="wpms-ga-link-document">
9
+ <a class="ju-link-classic" href="<?php echo esc_url('https://www.joomunited.com/wordpress-documentation/wp-meta-seo/343-wp-meta-seo-google-analytics-integration') ?>"
10
  target="_blank"><?php esc_html_e('DOCUMENTATION', 'wp-meta-seo') ?></a>
11
  <a class="ju-link-classic" href="<?php echo esc_url('https://console.cloud.google.com/apis/dashboard') ?>" style="margin-left: 15px"
12
  target="_blank"><?php esc_html_e('GET GOOGLE CREDENTIALS >>', 'wp-meta-seo') ?></a>
inc/pages/sitemaps/metaseo-google-sitemap.php CHANGED
@@ -90,12 +90,6 @@ defined('ABSPATH') || die('No direct script access allowed!');
90
  echo '<div class="content-box div_wpms_save_sitemaps">
91
  <button type="button" class="ju-button orange-button waves-effect waves-light wpms_save_create_sitemaps">' . esc_html__('Regenerate and save sitemaps', 'wp-meta-seo') . '</button>
92
  <span class="spinner spinner_save_sitemaps"></span><label class="msg-success">' . esc_html__('Sitemap saved and regenerated', 'wp-meta-seo') . '</label></div>';
93
- if (is_plugin_active(WPMSEO_ADDON_FILENAME)) {
94
- echo '<p class="content-box description">
95
- ' . esc_html__('Sitemap automatic submission to Google Search Console on save, ', 'wp-meta-seo') . '
96
- <a href="' . esc_url(admin_url('admin.php?page=metaseo_console&tab=settings')) . '" style="color: #ff8726">
97
- ' . esc_html__('requires authentication', 'wp-meta-seo') . '</a></p>';
98
- }
99
  ?>
100
  </form>
101
  </div>
90
  echo '<div class="content-box div_wpms_save_sitemaps">
91
  <button type="button" class="ju-button orange-button waves-effect waves-light wpms_save_create_sitemaps">' . esc_html__('Regenerate and save sitemaps', 'wp-meta-seo') . '</button>
92
  <span class="spinner spinner_save_sitemaps"></span><label class="msg-success">' . esc_html__('Sitemap saved and regenerated', 'wp-meta-seo') . '</label></div>';
 
 
 
 
 
 
93
  ?>
94
  </form>
95
  </div>
inc/pages/sitemaps/metaseo-source_posts.php CHANGED
@@ -97,6 +97,12 @@ defined('ABSPATH') || die('No direct script access allowed!');
97
  } else {
98
  $checked = '';
99
  }
 
 
 
 
 
 
100
  ?>
101
  <div class="wpms_row_full">
102
  <div class="ju-settings-option wpms_row">
@@ -124,7 +130,8 @@ defined('ABSPATH') || die('No direct script access allowed!');
124
  <div class="ju-switch-button">
125
  <label class="switch">
126
  <input data-category="<?php echo esc_attr($value->taxo . $value->slug) ?>"
127
- class="xm_cb_all" id="<?php echo esc_attr($value->taxo . $value->slug) ?>"
 
128
  type="checkbox">
129
  <span class="slider round"></span>
130
  </label>
97
  } else {
98
  $checked = '';
99
  }
100
+
101
+ if (in_array($value->cat_ID, $sitemap->settings_sitemap['wpms_category_select_all'])) {
102
+ $selectall_checked = 'checked';
103
+ } else {
104
+ $selectall_checked = '';
105
+ }
106
  ?>
107
  <div class="wpms_row_full">
108
  <div class="ju-settings-option wpms_row">
130
  <div class="ju-switch-button">
131
  <label class="switch">
132
  <input data-category="<?php echo esc_attr($value->taxo . $value->slug) ?>"
133
+ class="xm_category_select_all xm_category_select_all_posts" id="<?php echo esc_attr($value->taxo . $value->slug) ?>"
134
+ value="<?php echo esc_attr($value->cat_ID) ?>" <?php echo esc_html($selectall_checked) ?>
135
  type="checkbox">
136
  <span class="slider round"></span>
137
  </label>
languages/wp-meta-seo-en_US.mo CHANGED
Binary file
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: JoomUnited
3
  Tags: google, webmaster tools, keywords, meta, meta description, meta keywords, meta title, robots meta, search engine optimization, seo, wordpress seo, yahoo, image optimization, image resize, custom post seo, redirect, redirection, 301, broken link
4
  Requires at least: 4.7
5
- Tested up to: 5.4.0
6
- Stable tag: 4.2.4
7
- Requires PHP: 5.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -49,7 +49,7 @@ WP Meta SEO gives you the control over all your SEO optimization. Bulk SEO conte
49
 
50
  ## Meta information bulk edition and image SEO =
51
 
52
- Editing meta information on an existing website can be veeeery long, open each post, edit, close it, open again and almost nobody was doing it. Especially if you need to edit content + image meta.
53
  WP Meta SEO is going to list all posts, pages, custom post types and all images. Type your meta content and fix image size and everything is AJAX saved.
54
  Plus, a bulk copy feature is available to save tons of time in your SEO optimization process:
55
 
@@ -169,7 +169,7 @@ The redirect manager will help you to fix all types of 404 errors you can encoun
169
 
170
  A HTML support document is provided with WP Meta SEO on JoomUnited website
171
  Feel free to ask SEO questions on our forum or here in the support section
172
- **Documentation here:** <a href="https://www.joomunited.com/documentation/wp-meta-seo-documentation" rel="friend">https://www.joomunited.com/documentation/wp-meta-seo-documentation</a>
173
 
174
  == Installation ==
175
 
@@ -259,6 +259,10 @@ Yes WP Meta SEO is compatible with Gutenberg editor since 3.7 version.
259
 
260
  == Changelog ==
261
 
 
 
 
 
262
  = 4.2.4 =
263
  * Add : Possibility to remove category prefix
264
  * Fix : The loader image to display incorrectly in the metabox
2
  Contributors: JoomUnited
3
  Tags: google, webmaster tools, keywords, meta, meta description, meta keywords, meta title, robots meta, search engine optimization, seo, wordpress seo, yahoo, image optimization, image resize, custom post seo, redirect, redirection, 301, broken link
4
  Requires at least: 4.7
5
+ Tested up to: 5.4.1
6
+ Stable tag: 4.2.5
7
+ Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
49
 
50
  ## Meta information bulk edition and image SEO =
51
 
52
+ Editing meta information on an existing website can be very long, open each post, edit, close it, open again and almost nobody was doing it. Especially if you need to edit content + image meta.
53
  WP Meta SEO is going to list all posts, pages, custom post types and all images. Type your meta content and fix image size and everything is AJAX saved.
54
  Plus, a bulk copy feature is available to save tons of time in your SEO optimization process:
55
 
169
 
170
  A HTML support document is provided with WP Meta SEO on JoomUnited website
171
  Feel free to ask SEO questions on our forum or here in the support section
172
+ **Documentation here:** <a href="https://www.joomunited.com/support/wordpress-plugins-documentation#wp-meta-seo" rel="friend">https://www.joomunited.com/support/wordpress-plugins-documentation#wp-meta-seo</a>
173
 
174
  == Installation ==
175
 
259
 
260
  == Changelog ==
261
 
262
+ = 4.2.5 =
263
+ * Add : Possibility to automatically add articles to sitemaps
264
+ * Fix : Select all posts in the sitemap
265
+
266
  = 4.2.4 =
267
  * Add : Possibility to remove category prefix
268
  * Fix : The loader image to display incorrectly in the metabox
wp-meta-seo.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: WP Meta SEO
5
  * Plugin URI: http://www.joomunited.com/wordpress-products/wp-meta-seo
6
  * Description: WP Meta SEO is a plugin for WordPress to fill meta for content, images and main SEO info in a single view.
7
- * Version: 4.2.4
8
  * Text Domain: wp-meta-seo
9
  * Domain Path: /languages
10
  * Author: JoomUnited
@@ -17,7 +17,7 @@ if (!function_exists('add_action')) {
17
  exit;
18
  }
19
 
20
- if (version_compare(PHP_VERSION, '5.3', '<')) {
21
  if (!function_exists('wpmsDisablePlugin')) {
22
  /**
23
  * Deactivate plugin
@@ -42,7 +42,7 @@ if (version_compare(PHP_VERSION, '5.3', '<')) {
42
  function wpmsShowError()
43
  {
44
  echo '<div class="error"><p><strong>WP Meta SEO</strong>
45
- need at least PHP 5.3 version, please update php before installing the plugin.</p></div>';
46
  }
47
  }
48
 
@@ -87,7 +87,7 @@ if (class_exists('\Joomunited\WPMS\JUCheckRequirements')) {
87
  'plugin_path' => 'wp-meta-seo/wp-meta-seo.php',
88
  'plugin_textdomain' => 'wp-meta-seo',
89
  'requirements' => array(
90
- 'php_version' => '5.3',
91
  'php_modules' => array(
92
  'curl' => 'warning',
93
  'libxml' => 'warning'
@@ -132,7 +132,7 @@ if (!defined('WPMSEO_VERSION')) {
132
  /**
133
  * Plugin version
134
  */
135
- define('WPMSEO_VERSION', '4.2.4');
136
  }
137
 
138
  if (!defined('WPMS_CLIENTID')) {
4
  * Plugin Name: WP Meta SEO
5
  * Plugin URI: http://www.joomunited.com/wordpress-products/wp-meta-seo
6
  * Description: WP Meta SEO is a plugin for WordPress to fill meta for content, images and main SEO info in a single view.
7
+ * Version: 4.2.5
8
  * Text Domain: wp-meta-seo
9
  * Domain Path: /languages
10
  * Author: JoomUnited
17
  exit;
18
  }
19
 
20
+ if (version_compare(PHP_VERSION, '5.6', '<')) {
21
  if (!function_exists('wpmsDisablePlugin')) {
22
  /**
23
  * Deactivate plugin
42
  function wpmsShowError()
43
  {
44
  echo '<div class="error"><p><strong>WP Meta SEO</strong>
45
+ need at least PHP 5.6 version, please update php before installing the plugin.</p></div>';
46
  }
47
  }
48
 
87
  'plugin_path' => 'wp-meta-seo/wp-meta-seo.php',
88
  'plugin_textdomain' => 'wp-meta-seo',
89
  'requirements' => array(
90
+ 'php_version' => '5.6',
91
  'php_modules' => array(
92
  'curl' => 'warning',
93
  'libxml' => 'warning'
132
  /**
133
  * Plugin version
134
  */
135
+ define('WPMSEO_VERSION', '4.2.5');
136
  }
137
 
138
  if (!defined('WPMS_CLIENTID')) {