I think I found a solution to this with a function that’s not commonly used: add_permastruct()
.
This does the trick of what I described above:
add_rewrite_tag('%page%','([^/]+)', 'pagename=");
add_permastruct("abc','/abc/%page%/',false);
add_rewrite_rule('abc/?$','index.php?page_id=6','top');
The add_rewrite_tag()
defines the pagename value that I want WordPress to lookup. Then add_permastruct()
defines my custom structure with that value.
The last rule is just to handle the main page manually.
I believe this would only work with one-level of hierarchy, but I may come back and tweak the regex later to improve it. For now, this works for my purposes.
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
- Custom rewrite rule ignored
- 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/”
- 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
- How to get pretty URLs with add_query_arg in permalinks
- Nice RSS Feed URLs for each custom post type
- Child pages with same slug
- Can’t get rewrite rules working
- Rewrite my default post URL
- How to reset canonical URLs / fix redirect loop
- how to add rewrite rule to wordpress default post type
- How to add a variable as a tag base?
- WPML – how to get the permalinks to display also the default language
- Custom permalinks with hierarchical taxonomy – getting PHP warning
- How can I emulate permalink behaviour on static pages
- Remove some rewrite rules in wordpress
- WordPress pages and posts are redirecting to server IP address instead of domain URL [closed]
- Adding custom query var to a single post without redirecting to its root slug
- Fire a code when permalinks updated
- How do I get the correct URL?
- Flush rewrite rules with scheduled event (cron)
- Extra url paths as variable
- How to change URL of my pages?
- Converting WP Page to use full explicit paths?
- Add Custom Pagination Permalink
- Customize category permalinks
- Update permalinks
- Losing the original URL when using add_rewrite_rule
- URL to an image in a post is changing when permalink is set to custom. Can I avoid this?
- permalinks url with woocommerce
- Blog url disappears
- Standard Htaccess directives disappear by themselves