The rewrite rules are correct, but because you are modifying the $wp_rewrite
directly, you aren’t getting the benefit of being able to add the rule to the top of the stack using add_rewrite_rules
.
You are on the right track with the location of the rule in the array, but rules at the top are checked first, and the first rule to match is used.
Replacing your two functions with the code below should handle the query_var and the rewrite rule + positioning.
/**
* Adds rewrite rule for template variation paramater
*/
function gtp_add_variation_rewrite_rules() {
add_rewrite_tag( '%variation%', '([0-9]*)' );
add_rewrite_rule( 'products/(.+?)/variation/([0-9]*)/?$', 'index.php?post_type=products&products=$matches[1]&variation=$matches[2]', 'top' );
}
add_action( 'init', 'gtp_add_variation_rewrite_rules' );
Related Posts:
- Need help with add_rewrite_rule
- remove “index.php” from permalinks
- Custom post type permalink endpoint
- How to add a custom URL placeholder to author archives?
- URL Rewrite + Page + Custom Post Type = Unusual Redirect
- Make post slug have priority over category slug
- Using two permalinks for one post
- flexible rewrite ‘ramble’ URLs with WordPress
- Change the custom post type permalink
- Custom rewrite rules for feeds of custom queries (query_var query strings in URL)?
- Rewrite url / permalink for default archive – yearly / monthly
- Permalinks, Rewrites, Get Variables, Oh My!
- Change permalink for a single post entry
- How to Modify Existing Rewrite Rules?
- rewrite_rule for custom post type doesn’t affect get_permalink
- Add ‘articles’ prefix before blog posts url without affecting pagination
- custom permalink/shortlink with base62 encoded post ID
- When is it a good idea to build a permalink structure from scratch?
- WordPress not respecting template hierarchy (fetches index.php instead of single.php or page.php)
- Call to a member function add_rule() on a non-object
- I need a custom permalink for my website
- Permalinks: Page Not Found
- Why is add_rewrite_endpoint incompatible with /%category%/%postname%/ permalink structure?
- Re-write specific custom post type category URL to go to another page
- Remove custom taxonomy base from URL
- remove sub-category of Custom Post Type from permalink structure
- add_rewrite_rule not working for me
- Is a permastruct possible on pages?
- Using WP Rewrite, but just not “getting it”
- Rewrite rule for a query string
- Share same Slug for a Custom Post Type and 2 Taxonomies
- How to remove specific category from URL in WordPress
- Rewrite CPT permalinks and include WPML language
- Custom permalink leads to index page
- Rewrite rule intended for CPTs gives 404 for pages
- Permalink structure between 2 custom post types and a taxonomy
- Permalinks only for posts
- wordpress how to replace url /bar with foo/bar for custom post type
- Getting back a permalink from custom url
- Order custom post type posts by custom field with pretty URL
- Adding URL prefix for foreign language support
- Exclude single page from permalink rule
- help to remove last trailing slash using add_rewrite_rule
- add_rewrite_rule – Page Slug from “/foo-bar/” to “/foo/bar/”
- How can I set up a secondary permalink structure?
- Rewrite rule not passing variable
- How to Use metada Value in Url and is it possible? [duplicate]
- Safest way to create a custom permalink
- corrupted URLs – can’t leave starting page
- rewrite based slug standar post wp
- Create different permalinks for same post
- remove SLASH on single_post but KEEP on categories and parent pages
- Multiple Taxonomy Items for Separate URLs
- Multiple URL rewrite rules and get every prams
- Using a template file for a specific custom URL
- WordPress Multisite ABSPATH and get_home_path() to check for htaccess or web.config file
- Redirect page to homepage, keeping URL
- Add slug to default post permalinks ONLY
- how to have same rewrite rules for 2 different post type?
- Permalink structure /page/page/cpt-post gives 404 with pagination
- What permastrusture tags are generated out of the box right after creating custom post types and taxonomies?
- No Ones Been Able to Override my WordPress Rewrite Rule Issue!
- Rewrite posts url as they’re all children of a page
- a way to support totally different url structure
- Multiple Permalink Patterns for one page
- Pretty Filter URL
- WordPress Pagination Custom Rewrite Rule for Pages
- rewrites and custom links in page need help with add_rewrite_rule
- Prevent guessing slug
- WordPress permalink still not working (error or not understood?)
- WordPress custom permalinks, pages are now 404
- Add additional URL variations for a Post
- Custom post permalinks for specific categories
- How do I add /blog/ as a prefix to permalink structure for blog posts, tag pages, etc.?
- Passing and retrieving query vars in wordpress
- Permalink format: singular or plural
- How does WordPress handle permalinks?
- Pretty permalinks for search results with extra query var
- Rewrite Rule for Multilingual Website, Like qTranslate?
- How to get pretty URLs with add_query_arg in permalinks
- Custom rewrite rules for archive page and single post
- WordPress Rewrite Rules for Custom Post Type and Taxonomy
- Creating custom permalink structure for languages
- How to remove dates from existing permalinks?
- Getting the Site URL Including the Front Base
- Using $_GET variables in the URL?
- Multiple post types – share same ReWrite slug?
- Including category-base in a post permalink results in 404
- WordPress thinks my custom route is a 404
- permalink independent on the post’s name stored in the database
- Date based URLs for custom posts and pagination
- Regex in add_rewrite_tag not accepting OR operators?
- How to custom change author base without $this->front?
- URL rewrite based on a custom field value
- Update URL Snippet to Canonical Permalink URL
- How to prevent the default home rewrite to a static page
- “.#[random-char-string]” being inserted at end of URLs
- How to modify URL structures in custom post types and taxonomies or terms
- Permalink/Pagination issue: Category base name same as page name
- Adding meta values to permalink