0*VP?̝*V` *V =*V<P*V.*V =p3*V PA*V<*V*V4*V@+*V >*V =p3*V PA*V<*V*V/*V =*V<*V4*V@+*V >*V (=*V<P*V.p*V` 0p*V <*V 4P*V.*V` @=*VP H=p3*V@ PA*V0<*V0 @PR*V@ PhR*VPPAp*V` p*V`<8*V``u*Vp<*Vp*V4*V@+*V >*VP =*V <*V` +*V {*V@ **V |*Vp P`ߚ*V` Q*V |*V0 P`ߚ*V  Q*V H*Vp *V =*V  <P*V 0 .p*V` p*V@ <*V@0 4*V0 +*V =p3*VPA*Vp`u*VP<pI*VpP*V`=p3*VPA*V`=*VpPu*Vp8*Vp`u*V=*V<8*Vpu*V<pI*V*V=*V<*V +*VP0=p*V` p*V<*VG*VPA*V`u*V<pI*Vp*VPpp0-*VpG*Vp=p3*V`PA*V<*V0H`ҝ*V Hp+*V HpW*VPt*V<*V =p3*VP Ap3*V` A*V <*V!>0o\@R@p5M@\@rJR@[@L@r\@g@g@JR@ X@\@x[@ Y@g@g@r@L@P M@x M@D@ M@D@h8L@\@\@\@`R@`\@M@x0L@`D@8\@\@M@\@\@\@g@g@[@t( get_query_var( 'paged' ) ); // Bail early if this isn't a sitemap or stylesheet route. if ( ! ( $sitemap || $stylesheet_type ) ) { return; } if ( ! $this->sitemaps_enabled() ) { $wp_query->set_404(); status_header( 404 ); return; } // Render stylesheet if this is stylesheet route. if ( $stylesheet_type ) { $stylesheet = new WP_Sitemaps_Stylesheet(); $stylesheet->render_stylesheet( $stylesheet_type ); exit; } // Render the index. if ( 'index' === $sitemap ) { $sitemap_list = $this->index->get_sitemap_list(); $this->renderer->render_index( $sitemap_list ); exit; } $provider = $this->registry->get_provider( $sitemap ); if ( ! $provider ) { return; } if ( empty( $paged ) ) { $paged = 1; } $url_list = $provider->get_url_list( $paged, $object_subtype ); // Force a 404 and bail early if no URLs are present. if ( empty( $url_list ) ) { $wp_query->set_404(); status_header( 404 ); return; } $this->renderer->render_sitemap( $url_list ); exit; } /** * Redirects a URL to the wp-sitemap.xml * * @since 5.5.0 * * @param bool $bypass Pass-through of the pre_handle_404 filter value. * @param WP_Query $query The WP_Query object. * @return bool Bypass value. */ public function redirect_sitemapxml( $bypass, $query ) { // If a plugin has already utilized the pre_handle_404 function, return without action to avoid conflicts. if ( $bypass ) { return $bypass; } // 'pagename' is for most permalink types, name is for when the %postname% is used as a top-level field. if ( 'sitemap-xml' === $query->get( 'pagename' ) || 'sitemap-xml' === $query->get( 'name' ) ) { wp_safe_redirect( $this->index->get_index_url() ); exit(); } return $bypass; } /** * Adds the sitemap index to robots.txt. * * @since 5.5.0 * * @param string $output robots.txt output. * @param bool $public Whether the site is public. * @return string The robots.txt output. */ public function add_robots( $output, $public ) { if ( $public ) { $output .= "\nSitemap: " . esc_url( $this->index->get_index_url() ) . "\n"; } return $output; } }