Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
demountable
/
wp-content
/
plugins
/
surerank
/
inc
/
lib
/
bsf-analytics
/
assets
:
routes.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Custom Sitemap Routes * * This file manages all the rewrite rules and query variable handling * for custom sitemap functionality in SureRank. * * @package SureRank * @since 1.0.0 */ namespace SureRank\Inc; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } use SureRank\Inc\Sitemap\Xml_Sitemap; use SureRank\Inc\Traits\Get_Instance; /** * Custom Sitemap Routes * * This class manages all the rewrite rules and query variable handling * for custom sitemap functionality in SureRank. * * @since 1.0.0 */ class Routes { use Get_Instance; /** * Register rewrite rules and query variables. * * @since 1.0.0 * @return void */ public function __construct() { // Add rewrite rules. add_action( 'init', [ $this, 'register_rewrite_rules' ], 1 ); } /** * Register custom rewrite rules. * * @since 1.0.0 * @return void */ public function register_rewrite_rules() { $this->sitemap_routes(); } /** * Register custom rewrite rules for the sitemap. * * @since 1.0.0 * @return void */ public function sitemap_routes() { global $wp; global $wp_rewrite; // Add default rewrite rules. add_rewrite_rule( '^' . Xml_Sitemap::get_slug() . '$', 'index.php?surerank_sitemap=1', 'top' ); add_rewrite_rule( '^([a-z]+)-stylesheet\.xsl$', 'index.php?surerank_sitemap_type=$matches[1]', 'top' ); // Handle prefixed sitemap URLs (cpt- and tax-). $cpt_prefix = Xml_Sitemap::get_post_type_prefix(); $tax_prefix = Xml_Sitemap::get_taxonomy_prefix(); add_rewrite_rule( '^(' . $cpt_prefix . '|' . $tax_prefix . ')-([a-z0-9_-]+)-sitemap-([0-9]+)?\.xml$', 'index.php?surerank_sitemap=$matches[2]&surerank_prefix=$matches[1]&surerank_sitemap_page=$matches[3]', 'top' ); // Legacy support for built-in types without prefixes. add_rewrite_rule( '^(post|page|attachment|post-tag|author|category|product-category)-sitemap-([0-9]+)?\.xml$', 'index.php?surerank_sitemap=$matches[1]&surerank_sitemap_page=$matches[2]', 'top' ); // Generic fallback for any type without prefix (legacy support). add_rewrite_rule( '^([a-z0-9_-]+)-sitemap-([0-9]+)?\.xml$', 'index.php?surerank_sitemap=$matches[1]&surerank_sitemap_page=$matches[2]', 'top' ); $wp->add_query_var( 'surerank_sitemap' ); $wp->add_query_var( 'surerank_prefix' ); $wp->add_query_var( 'surerank_sitemap_type' ); $wp->add_query_var( 'surerank_sitemap_page' ); } }