Files
2026-04-28 15:13:50 +02:00

39 lines
1.1 KiB
PHP

<?php
namespace AIOSEO\Plugin\Pro\Sitemap;
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
use AIOSEO\Plugin\Common\Sitemap as CommonSitemap;
/**
* Parses the current request and checks whether we need to serve a sitemap or a stylesheet.
*
* @since 4.2.1
*/
class RequestParser extends CommonSitemap\RequestParser {
/**
* Checks whether we need to serve a sitemap or related stylesheet.
*
* @since 4.2.1
*
* @param \WP $wp The main WordPress environment instance.
* @return void
*/
public function checkRequest( $wp ) {
$this->slug = $wp->request
? aioseo()->helpers->cleanSlug( $wp->request )
// We must fallback to the REQUEST URI in case the site uses plain permalinks.
: aioseo()->helpers->cleanSlug( aioseo()->helpers->getRequestUrl() );
// Check if we need to remove the trailing slash or redirect another sitemap URL like "wp-sitemap.xml".
$this->maybeRedirect();
aioseo()->addons->doAddonFunction( 'requestParser', 'checkRequest' );
// The addons need to run before Core does, since the Video and News Sitemap will otherwise be mistaken for the regular one.
parent::checkRequest( $wp );
}
}