From 6fe59c4bdc4c360c58fd950a495a920ce35e1159 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Tue, 13 Oct 2020 15:04:07 +0000 Subject: [PATCH] Sitemaps: Check the result of `get_term_link()` when collecting the URLs in `WP_Sitemaps_Taxonomies::get_url_list()`. This avoids a PHP warning during sitemap generation if `get_term_link()` returns an error, e.g. due to term ID being shared between multiple taxonomies. Additionally, pass the `$taxonomy` argument to `get_term_link()` to properly disambiguate the call. Props dd32. Fixes #51416. Built from https://develop.svn.wordpress.org/trunk@49137 git-svn-id: http://core.svn.wordpress.org/trunk@48899 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- .../sitemaps/providers/class-wp-sitemaps-taxonomies.php | 8 +++++++- wp-includes/version.php | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/wp-includes/sitemaps/providers/class-wp-sitemaps-taxonomies.php b/wp-includes/sitemaps/providers/class-wp-sitemaps-taxonomies.php index 31515f806a..e8fcc6d5ab 100644 --- a/wp-includes/sitemaps/providers/class-wp-sitemaps-taxonomies.php +++ b/wp-includes/sitemaps/providers/class-wp-sitemaps-taxonomies.php @@ -99,8 +99,14 @@ class WP_Sitemaps_Taxonomies extends WP_Sitemaps_Provider { if ( ! empty( $taxonomy_terms->terms ) ) { foreach ( $taxonomy_terms->terms as $term ) { + $term_link = get_term_link( $term, $taxonomy ); + + if ( is_wp_error( $term_link ) ) { + continue; + } + $sitemap_entry = array( - 'loc' => get_term_link( $term ), + 'loc' => $term_link, ); /** diff --git a/wp-includes/version.php b/wp-includes/version.php index e0c1abcd67..e4dc78d2ec 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -13,7 +13,7 @@ * * @global string $wp_version */ -$wp_version = '5.6-alpha-49136'; +$wp_version = '5.6-alpha-49137'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.