From 941d33c8cce9fd1942dccff7a9f8c32521bc11d1 Mon Sep 17 00:00:00 2001 From: Mohammad Jangda Date: Wed, 30 Mar 2016 16:45:48 -0400 Subject: [PATCH] When a sitemap has no posts, delete it For both cron and CLI. Otherwise we end up with rougue empty sitemaps. Fixes #63 --- includes/msm-sitemap-builder-cron.php | 2 ++ includes/wp-cli.php | 2 ++ 2 files changed, 4 insertions(+) diff --git a/includes/msm-sitemap-builder-cron.php b/includes/msm-sitemap-builder-cron.php index 2a43637ff..a2bcf5c86 100644 --- a/includes/msm-sitemap-builder-cron.php +++ b/includes/msm-sitemap-builder-cron.php @@ -305,6 +305,8 @@ public static function generate_sitemap_for_year_month_day( $args ) { $date_stamp = Metro_Sitemap::get_date_stamp( $year, $month, $day ); if ( Metro_Sitemap::date_range_has_posts( $date_stamp, $date_stamp ) ) { Metro_Sitemap::generate_sitemap_for_date( $date_stamp ); + } else { + Metro_Sitemap::delete_sitemap_for_date( $date_stamp ); } self::find_next_day_to_process( $year, $month, $day ); diff --git a/includes/wp-cli.php b/includes/wp-cli.php index 7e31a9041..9b2fbda5b 100644 --- a/includes/wp-cli.php +++ b/includes/wp-cli.php @@ -148,6 +148,8 @@ function generate_sitemap_for_year_month_day( $args, $assoc_args ) { $date_stamp = Metro_Sitemap::get_date_stamp( $year, $month, $day ); if ( Metro_Sitemap::date_range_has_posts( $date_stamp, $date_stamp ) ) { Metro_Sitemap::generate_sitemap_for_date( $date_stamp ); // TODO: simplify; this function should accept the year, month, day and translate accordingly + } else { + Metro_Sitemap::delete_sitemap_for_date( $date_stamp ); } }