Load an url with minimal/no DB queries

It is excruciatingly painful to deeply customize WordPress load process. It’s not quite clear if your requirements here are performance related or tied to soemthing else. For your question as stated there would be about following approaches (madness ascending): get rid of actual code causing unwanted queries, altogether or via techniques like caching customize the … Read more

WordPress Redirecting Non Category Pages /page/nnn to their Canonical URLs

This is by design and intentional. WordPress rewrites have become increasingly complex over the years, and many plugins utilise the page endpoint for a page (usually with a template and custom query) – redirecting introduces a potential world of pain. Long story short, it doesn’t matter anyway. WordPress adds <link rel=”canonical /> for pages, so … Read more

WordPress add_rewrite_rule() cannot visit lower url levels

I fixed my problem as follows: // Adds rewrite rules for shop post type function gtp_add_shop_rewrite_rules() { add_rewrite_rule( ‘^shop/([^/]*)/([^/]*)/([^/]*)$’, ‘index.php?shop-category=$matches[1]&width=$matches[2]&height=$matches[3]’, ‘top’ ); add_rewrite_rule( ‘^shop/([^/]*)/([^/]*)$’, ‘index.php?shop-category=$matches[1]&width=$matches[2]’, ‘top’ ); add_rewrite_rule( ‘^shop/([^/]*)$’, ‘index.php?shop-category=$matches[1]’, ‘top’ ); } add_action(‘init’, ‘gtp_add_shop_rewrite_rules’, 10, 0);

How to rewrite url wordpress?

You should hook add_rewrite_rule() into init Assuming http://local/rieltplus/ is your homepage, and category/catalog/ is a category archives, this should work: add_action(‘init’, function() { add_rewrite_rule( ‘category/catalog/([^/]+)?$’, ‘index.php?category_name=catalog&type=$matches[1]&price_min=1000&price_max=2000&area_min=5&area_max=50&room_num=5&etage=2&plan=old’, ‘top’ ); }); If you want to make that available to any category then mention it in the comments. By the way, local/rieltplus/category/catalog/TYPE&price_min is not a valid URL, unlike … Read more

Adding two rewrite rules

1. Change new_category taxonomy’s rewrite rule while registering: ‘rewrite’ => [‘hierarchical’ => false, ‘with_front’ => false, ‘slug’ => ‘news’] Make sure rewrite rule of news post type is default or: ‘rewrite’ => [‘slug’ => false, ‘with_front’ => false] 2. Add rewrite rules for new_category: add_action(‘init’, function() { add_rewrite_rule(‘^news/([^/]+)/?$’, ‘index.php?new_category=$matches[1]&post_type=news’, ‘top’); }); 3. Filter news post … Read more