Submit
Path:
~
/
home
/
bfxleof
/
www
/
wp-includes
/
Requests
/
Exception
/
File Content:
class-wp-sitemaps-renderer.php
<?php /** * Sitemaps: WP_Sitemaps_Renderer class * * Responsible for rendering Sitemaps data to XML in accordance with sitemap protocol. * * @package WordPress * @subpackage Sitemaps * @since 5.5.0 */ /** * Class WP_Sitemaps_Renderer * * @since 5.5.0 */ class WP_Sitemaps_Renderer { /** * XSL stylesheet for styling a sitemap for web browsers. * * @since 5.5.0 * * @var string */ protected $stylesheet = ''; /** * XSL stylesheet for styling a sitemap for web browsers. * * @since 5.5.0 * * @var string */ protected $stylesheet_index = ''; /** * WP_Sitemaps_Renderer constructor. * * @since 5.5.0 */ public function __construct() { $stylesheet_url = $this->get_sitemap_stylesheet_url(); if ( $stylesheet_url ) { $this->stylesheet = '<?xml-stylesheet type="text/xsl" href="' . esc_url( $stylesheet_url ) . '" ?>'; } $stylesheet_index_url = $this->get_sitemap_index_stylesheet_url(); if ( $stylesheet_index_url ) { $this->stylesheet_index = '<?xml-stylesheet type="text/xsl" href="' . esc_url( $stylesheet_index_url ) . '" ?>'; } } /** * Gets the URL for the sitemap stylesheet. * * @since 5.5.0 * * @global WP_Rewrite $wp_rewrite WordPress rewrite component. * * @return string The sitemap stylesheet URL. */ public function get_sitemap_stylesheet_url() { global $wp_rewrite; $sitemap_url = home_url( '/wp-sitemap.xsl' ); if ( ! $wp_rewrite->using_permalinks() ) { $sitemap_url = home_url( '/?sitemap-stylesheet=sitemap' ); } /** * Filters the URL for the sitemap stylesheet. * * If a falsey value is returned, no stylesheet will be used and * the "raw" XML of the sitemap will be displayed. * * @since 5.5.0 * * @param string $sitemap_url Full URL for the sitemaps XSL file. */ return apply_filters( 'wp_sitemaps_stylesheet_url', $sitemap_url ); } /** * Gets the URL for the sitemap index stylesheet. * * @since 5.5.0 * * @global WP_Rewrite $wp_rewrite WordPress rewrite component. * * @return string The sitemap index stylesheet URL. */ public function get_sitemap_index_stylesheet_url() { global $wp_rewrite; $sitemap_url = home_url( '/wp-sitemap-index.xsl' ); if ( ! $wp_rewrite->using_permalinks() ) { $sitemap_url = home_url( '/?sitemap-stylesheet=index' ); } /** * Filters the URL for the sitemap index stylesheet. * * If a falsey value is returned, no stylesheet will be used and * the "raw" XML of the sitemap index will be displayed. * * @since 5.5.0 * * @param string $sitemap_url Full URL for the sitemaps index XSL file. */ return apply_filters( 'wp_sitemaps_stylesheet_index_url', $sitemap_url ); } /** * Renders a sitemap index. * * @since 5.5.0 * * @param array $sitemaps Array of sitemap URLs. */ public function render_index( $sitemaps ) { header( 'Content-type: application/xml; charset=UTF-8' ); $this->check_for_simple_xml_availability(); $index_xml = $this->get_sitemap_index_xml( $sitemaps ); if ( ! empty( $index_xml ) ) { // All output is escaped within get_sitemap_index_xml(). // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo $index_xml; } } /** * Gets XML for a sitemap index. * * @since 5.5.0 * * @param array $sitemaps Array of sitemap URLs. * @return string|false A well-formed XML string for a sitemap index. False on error. */ public function get_sitemap_index_xml( $sitemaps ) { $sitemap_index = new SimpleXMLElement( sprintf( '%1$s%2$s%3$s', '<?xml version="1.0" encoding="UTF-8" ?>', $this->stylesheet_index, '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" />' ) ); foreach ( $sitemaps as $entry ) { $sitemap = $sitemap_index->addChild( 'sitemap' ); // Add each element as a child node to the <sitemap> entry. foreach ( $entry as $name => $value ) { if ( 'loc' === $name ) { $sitemap->addChild( $name, esc_url( $value ) ); } elseif ( 'lastmod' === $name ) { $sitemap->addChild( $name, esc_xml( $value ) ); } else { _doing_it_wrong( __METHOD__, sprintf( /* translators: %s: List of element names. */ __( 'Fields other than %s are not currently supported for the sitemap index.' ), implode( ',', array( 'loc', 'lastmod' ) ) ), '5.5.0' ); } } } return $sitemap_index->asXML(); } /** * Renders a sitemap. * * @since 5.5.0 * * @param array $url_list Array of URLs for a sitemap. */ public function render_sitemap( $url_list ) { header( 'Content-type: application/xml; charset=UTF-8' ); $this->check_for_simple_xml_availability(); $sitemap_xml = $this->get_sitemap_xml( $url_list ); if ( ! empty( $sitemap_xml ) ) { // All output is escaped within get_sitemap_xml(). // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo $sitemap_xml; } } /** * Gets XML for a sitemap. * * @since 5.5.0 * * @param array $url_list Array of URLs for a sitemap. * @return string|false A well-formed XML string for a sitemap index. False on error. */ public function get_sitemap_xml( $url_list ) { $urlset = new SimpleXMLElement( sprintf( '%1$s%2$s%3$s', '<?xml version="1.0" encoding="UTF-8" ?>', $this->stylesheet, '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" />' ) ); foreach ( $url_list as $url_item ) { $url = $urlset->addChild( 'url' ); // Add each element as a child node to the <url> entry. foreach ( $url_item as $name => $value ) { if ( 'loc' === $name ) { $url->addChild( $name, esc_url( $value ) ); } elseif ( in_array( $name, array( 'lastmod', 'changefreq', 'priority' ), true ) ) { $url->addChild( $name, esc_xml( $value ) ); } else { _doing_it_wrong( __METHOD__, sprintf( /* translators: %s: List of element names. */ __( 'Fields other than %s are not currently supported for sitemaps.' ), implode( ',', array( 'loc', 'lastmod', 'changefreq', 'priority' ) ) ), '5.5.0' ); } } } return $urlset->asXML(); } /** * Checks for the availability of the SimpleXML extension and errors if missing. * * @since 5.5.0 */ private function check_for_simple_xml_availability() { if ( ! class_exists( 'SimpleXMLElement' ) ) { add_filter( 'wp_die_handler', static function () { return '_xml_wp_die_handler'; } ); wp_die( sprintf( /* translators: %s: SimpleXML */ esc_xml( __( 'Could not generate XML sitemap due to missing %s extension' ) ), 'SimpleXML' ), esc_xml( __( 'WordPress › Error' ) ), array( 'response' => 501, // "Not implemented". ) ); } } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
Transport
---
0755
418.php
478 bytes
0644
Category.php
3944 bytes
0644
ChaCha20.php
12934 bytes
0644
Exception.php
1214 bytes
0644
Hooks.php
1510 bytes
0644
Int32.php
24542 bytes
0644
SMTP.php
47285 bytes
0644
admin-bar.css
23876 bytes
0644
archives.php
2768 bytes
0644
autoload-20260705065453.php
2731 bytes
0644
autoload.php
2731 bytes
0644
block-20260705002820.json
2449 bytes
0644
block.json
2449 bytes
0644
class-json.php
43441 bytes
0644
class-walker-category-dropdown.php
2133 bytes
0644
class-wp-comment-query.php
45483 bytes
0644
class-wp-customize-nav-menus.php
57019 bytes
0644
class-wp-http-streams-20260706003432.php
16117 bytes
0644
class-wp-http-streams.php
16117 bytes
0644
class-wp-locale.php
13982 bytes
0644
class-wp-network-20260623105137.php
12379 bytes
0644
class-wp-network-query.php
19169 bytes
0644
class-wp-network.php
12379 bytes
0644
class-wp-oembed-controller-20260621150705.php
6793 bytes
0644
class-wp-oembed-controller-20260623003207.php
6793 bytes
0644
class-wp-oembed-controller.php
6793 bytes
0644
class-wp-site-query.php
29308 bytes
0644
class-wp-site.php
7428 bytes
0644
class-wp-sitemaps-posts-20260707140035.php
5875 bytes
0644
class-wp-sitemaps-posts.php
5875 bytes
0644
class-wp-sitemaps-renderer.php
6797 bytes
0644
class-wp-sitemaps-stylesheet.php
8599 bytes
0644
class-wp-theme-20260624010354.php
51601 bytes
0644
class-wp-theme.php
51601 bytes
0644
class-wp-widget-media-image-20260705020211.php
12037 bytes
0644
class-wp-widget-media-image.php
12037 bytes
0644
common-rtl.css
6510 bytes
0644
data-20260707001443.js
147192 bytes
0644
data.js
147192 bytes
0644
effect-puff-20260705020512.js
943 bytes
0644
effect-puff.js
943 bytes
0644
embed-404.php
972 bytes
0644
footer-embed.php
438 bytes
0644
header-embed-20260707144350.php
702 bytes
0644
header-embed.php
702 bytes
0644
htmlhint-20260707094128.js
17735 bytes
0644
htmlhint.js
17735 bytes
0644
https-detection-20260623045811.php
6871 bytes
0644
https-detection-20260623211809-20260705134447.php
6871 bytes
0644
https-detection-20260623211809-20260706045855-20260706084454.php
6871 bytes
0644
https-detection-20260623211809-20260706045855.php
6871 bytes
0644
https-detection-20260623211809.php
6871 bytes
0644
https-detection.php
6871 bytes
0644
https-migration-20260621215951-20260623235132.php
4730 bytes
0644
https-migration-20260621215951.php
4730 bytes
0644
https-migration-20260621222700-20260622020253.php
4730 bytes
0644
https-migration-20260621222700.php
4730 bytes
0644
https-migration-20260622015718-20260624070035.php
4730 bytes
0644
https-migration-20260622015718.php
4730 bytes
0644
https-migration-20260622015741.php
4730 bytes
0644
https-migration-20260622015815.php
4730 bytes
0644
https-migration-20260622055634-20260706222812.php
4730 bytes
0644
https-migration-20260622055634.php
4730 bytes
0644
https-migration-20260622145328.php
4730 bytes
0644
https-migration-20260622194220-20260706215531.php
4730 bytes
0644
https-migration-20260622194220.php
4730 bytes
0644
https-migration-20260622204948-20260624053934.php
4730 bytes
0644
https-migration-20260622204948.php
4730 bytes
0644
https-migration-20260623045848-20260624121841.php
4730 bytes
0644
https-migration-20260623045848.php
4730 bytes
0644
https-migration.php
4730 bytes
0644
jquery-ui-dialog-rtl.css
5967 bytes
0644
jquery.form.js
41023 bytes
0644
jquery.serialize-object-20260705033756.js
769 bytes
0644
jquery.serialize-object.js
769 bytes
0644
json2.js
18422 bytes
0644
latest-comments.php
4999 bytes
0644
locale-20260705004114.php
162 bytes
0644
locale.php
162 bytes
0644
media-views.css
56034 bytes
0644
media-views.min.css
45500 bytes
0644
module.audio-video.matroska.php
107155 bytes
0644
ms-blogs.php
25174 bytes
0644
nav-menu-template-20260622044248.php
23296 bytes
0644
nav-menu-template.php
23296 bytes
0644
php72compat_const-20260705195122-20260707083238.php
4597 bytes
0644
php72compat_const-20260705195122.php
4597 bytes
0644
php72compat_const.php
4597 bytes
0644
post-thumbnail-template.php
9353 bytes
0644
progressbar.min-20260705090235.js
2514 bytes
0644
progressbar.min.js
2514 bytes
0644
revision-20260621233948.php
22027 bytes
0644
revision.php
22027 bytes
0644
shortcode-20260622122648.php
697 bytes
0644
shortcode-20260623123016.php
697 bytes
0644
shortcode-20260705105239-20260707144633.php
697 bytes
0644
shortcode-20260705105239.php
697 bytes
0644
shortcode.min.js
4096 bytes
0644
shortcode.php
697 bytes
0644
style-rtl.css
68520 bytes
0644
taxonomy.php
165888 bytes
0644
thickbox.css
2659 bytes
0644
tinymce.min-20260707074204.js
365570 bytes
0644
tinymce.min.js
365570 bytes
0644
utils.js
4665 bytes
0644
wp-custom-header-20260704171420.js
10447 bytes
0644
wp-custom-header.js
10447 bytes
0644
wp-embed-template-ie.min-20260707082223.css
1473 bytes
0644
wp-embed-template-ie.min.css
1473 bytes
0644
wp-embed.min.js
1478 bytes
0644
N4ST4R_ID | Naxtarrr