

/* Render the Patterns catalogue even when WordPress has not assigned the custom page template.
   This keeps /patterns/ working reliably with Hostinger/WordPress page setups. */
function threadborne_route_patterns_catalog(){
  if (is_admin()) return;
  $request_path = trim(parse_url(isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/', PHP_URL_PATH), '/');
  $home_path = trim(parse_url(home_url('/'), PHP_URL_PATH), '/');
  if ($home_path !== '') {
    if ($request_path === $home_path) return;
    if (strpos($request_path, $home_path . '/') === 0) {
      $request_path = substr($request_path, strlen($home_path) + 1);
    }
  }
  if ($request_path === 'patterns') {
    status_header(200);
    nocache_headers();
    include get_theme_file_path('/page-patterns.php');
    exit;
  }
}
add_action('template_redirect','threadborne_route_patterns_catalog',0);
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://threadbornetreasures.com/wp-sitemap-index.xsl" ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://threadbornetreasures.com/wp-sitemap-posts-post-1.xml</loc></sitemap><sitemap><loc>https://threadbornetreasures.com/wp-sitemap-posts-page-1.xml</loc></sitemap><sitemap><loc>https://threadbornetreasures.com/wp-sitemap-taxonomies-category-1.xml</loc></sitemap><sitemap><loc>https://threadbornetreasures.com/wp-sitemap-users-1.xml</loc></sitemap></sitemapindex>
