Literally found the answer 10 minutes after posting this question and spending a couple of hours on it before asking. Simply hook your function to post_link
! 🤦
public function __construct() {
add_action('post_link', [$this, 'post_links'], 10, 2);
}
public function post_links($link, $post) {
if ($post->post_type === 'post') {
return site_url('slug/'. $post->post_name .'-'. $post->ID);
} else {
return $link;
}
}
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/”
- 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
- 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
- Pretty permalinks for search results with extra query var
- Update URL Snippet to Canonical Permalink URL
- Adding meta values to permalink
- Rewrite rule never matching
- Random Alphanumeric Key URLs
- Rewrite-Rules not working on a vhost, everything goes to index.php
- Rewrite URL for results of a custom WP_Query
- Custom Permalink Tag breaks Pagination
- Change permalinks with ACF values
- template_include not loading -instead goes to index.php
- Add specific word to default page permalink
- Add custom post type name in term link?
- Force wordpress to display page with same url structure as categories
- WordPress add_rewrite_tag working for Posts, but not working for Pages
- Pretty URLs and custom post types
- How to change url for taxonomy pages?
- How to handle paging/pagination with a custom permalink?
- Problems with rewrite rule
- How to change custom post type, blog post and page permalink by template?
- How can you create a Permalink structure on a WordPress site?
- How to get raw unwritten querystring
- Adding a ‘blogs’ prefix in the URL structure but only for blogs
- Remove “category” from permalink with add_rewrite_rule
- Custom Permlinks work, regular page permalinks don’t
- Added incorrect rewrite rule now getting an error
- Why doesn’t WP update my .htaccess file?
- how to create several url aliases for a page
- Standard Htaccess directives disappear by themselves