collect_urls( $template, $inner_sitemap, $current_page ); try { $sitemap->createMultilingualSitemap( $this->urls ); } catch ( \Exception $exc ) { echo $exc->getTraceAsString(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } try { $sitemap->outputSitemap( $template, $is_xml, $inner_sitemap ); } catch ( \Exception $exc ) { echo $exc->getTraceAsString(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } /** * Collect Sitemap URLs */ public function collect_urls( $template = 'sitemap', $inner_sitemap = null, $current_page = null ) { $this->urls[] = sgg_get_sitemap_url( $this->settings->sitemap_url, 'sitemap_xml' ); // Polylang, TranslatePress $languages = sgg_get_languages(); $default_language = sgg_get_default_language_code(); if ( ! empty( $languages ) ) { foreach ( $languages as $language ) { $url = sgg_get_sitemap_url( "{$language}/{$this->settings->sitemap_url}", 'sitemap_xml' ); $this->urls[] = ! empty( $default_language ) ? str_replace( "/{$default_language}/", '/', $url ) : $url; } } // WPML if ( defined( 'ICL_SITEPRESS_VERSION' ) ) { $wpml_languages = apply_filters( 'wpml_active_languages', array() ); foreach ( $wpml_languages as $language ) { if ( apply_filters( 'wpml_default_language', null ) === $language['code'] ) { continue; } $this->urls[] = esc_url( "{$language['url']}{$this->settings->sitemap_url}" ); } } } }