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.

git-svn-id: https://develop.svn.wordpress.org/trunk@49137 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2020-10-13 15:02:23 +00:00
parent 3021eff927
commit 5fa77839fe

View File

@ -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,
);
/**