Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
home
/
ophq1335
/
www
/
wp-content
/
plugins
/
wp-seopress
/
src
/
Actions
/
Sitemap
/
/home/ophq1335/www/wp-content/plugins/wp-seopress/src/Actions/Sitemap/Router.php
<?php // phpcs:ignore namespace SEOPress\Actions\Sitemap; if ( ! defined( 'ABSPATH' ) ) { exit; } use SEOPress\Core\Hooks\ExecuteHooks; /** * Router */ class Router implements ExecuteHooks { /** * The Router hooks. * * @since 4.3.0 * * @return void */ public function hooks() { add_action( 'init', array( $this, 'init' ) ); add_filter( 'query_vars', array( $this, 'queryVars' ) ); } /** * The init function. * * @since 4.3.0 * @see init * * @return void */ public function init() { if ( '1' !== seopress_get_service( 'SitemapOption' )->isEnabled() || '1' !== seopress_get_toggle_option( 'xml-sitemap' ) ) { return; } // Use the static method to register rules. // This keeps the registration logic in one place. $sitemap_options = get_option( 'seopress_xml_sitemap_option_name' ); $toggle_options = get_option( 'seopress_toggle' ); self::registerRewriteRules( $sitemap_options, $toggle_options ); } /** * Register sitemap rewrite rules * * This static method contains the actual rewrite rule registration logic. * It's called by both init() (during normal requests) and by the activation hook * (in seopress.php) to avoid code duplication. * * @since 9.4.0 * * @param array $sitemap_options The sitemap options array. * @param array $toggle_options The toggle options array. * @return void */ public static function registerRewriteRules( $sitemap_options, $toggle_options ) { $is_sitemap_enabled = isset( $sitemap_options['seopress_xml_sitemap_general_enable'] ) && '1' === $sitemap_options['seopress_xml_sitemap_general_enable']; $is_toggle_enabled = isset( $toggle_options['toggle-xml-sitemap'] ) && '1' === $toggle_options['toggle-xml-sitemap']; if ( ! $is_sitemap_enabled || ! $is_toggle_enabled ) { return; } // XML Index. add_rewrite_rule( '^sitemaps.xml$', 'index.php?seopress_sitemap=1', 'top' ); // XSL Sitemap. add_rewrite_rule( '^sitemaps_xsl.xsl$', 'index.php?seopress_sitemap_xsl=1', 'top' ); // XSL Video Sitemap. add_rewrite_rule( '^sitemaps_video_xsl.xsl$', 'index.php?seopress_sitemap_video_xsl=1', 'top' ); add_rewrite_rule( '([^/]+?)-sitemap([0-9]+)?\.xml$', 'index.php?seopress_cpt=$matches[1]&seopress_paged=$matches[2]', 'top' ); // XML Author. $is_author_enabled = isset( $sitemap_options['seopress_xml_sitemap_author_enable'] ) && '1' === $sitemap_options['seopress_xml_sitemap_author_enable']; if ( $is_author_enabled ) { add_rewrite_rule( 'author.xml?$', 'index.php?seopress_author=1', 'top' ); } } /** * The queryVars function. * * @since 4.3.0 * @see query_vars * * @param array $vars The query variables. * * @return array */ public function queryVars( $vars ) { $vars[] = 'seopress_sitemap'; $vars[] = 'seopress_sitemap_xsl'; $vars[] = 'seopress_sitemap_video_xsl'; $vars[] = 'seopress_cpt'; $vars[] = 'seopress_paged'; $vars[] = 'seopress_author'; return $vars; } }