page_link
is not going to work as even though you change what it shows or uses, that’s not going to be detected when the URL is accessed — which requires handling to parse it during the request.
You could look at adding rewrites, or what is probably easier you could use try using something like this (or view their code to see how they do it):
https://wordpress.org/plugins/custom-permalinks/
Here’s how they are doing it:
https://plugins.trac.wordpress.org/browser/custom-permalinks/trunk/frontend/class-custom-permalinks-frontend.php
Related Posts:
- How to filter to output of the get_permalink() function
- WP JSON list all permalinks
- Filtering comment permalinks when a condition is met
- Remove the Parent category from the permalink but leave the child category
- How to hook into permalink when publishing-saving post?
- Multilanguage URLs
- How to change the permalink option to post name on theme activation?
- Changing post content on save, using updated fields
- is there a way to add the post URL to the results of fselect facet in Facetwp plugin?
- Process all virtual sub pages on parent page
- Permalink slug no longer editable when using post_type_link filter
- WordPress Permalink feature alternative
- Access or edit custom generated permalinks with WP_Rewrite
- Custom child page permalink
- Remove character from permalink
- Edit the output of a filter
- Fire a code when permalinks updated
- Edit Post Permalink option removed, looking for possible causes
- I can get the permalink or the excerpt to work correctly, but not both
- Search and replace post URL’s on page output?
- Custom Permalinks and filters?
- Once redirected by Rewrite rules, how can WordPress know the page?
- How to update permalink on the fly?
- Getting the terms from “Beautiful Taxonomy Filters” Results ot Integrate into “Ajax Load More”
- Rewrite permalink with PHP processing
- Is there a way to auto-link to products when writing a post?
- Is it possible to get a page link from its slug?
- Need help with add_rewrite_rule
- After server migration only the homepage works
- remove “index.php” from permalinks
- where is permalink info stored in database?
- Changing permalinks gives me 404 errors on nginx
- How do I add /blog/ as a prefix to permalink structure for blog posts, tag pages, etc.?
- Change media item permalink
- remove custom post type permalink
- Get Permalink without domain (i.e. get relative permalink) [duplicate]
- How does WordPress create URLs that Apache knows about?
- Strange permalink issue: can’t rename /company-2/ to /company/
- Passing and retrieving query vars in wordpress
- Get the current page URL (including pagination)
- Stop WordPress appending `-2` to the end of my url after i change it
- Get default permalink structure from pretty URL’s
- How to get permalink and title from post ID?
- Why is “/page/2/” not working?
- WordPress Permalinks not working in Apache2 Ubuntu 14.04
- Performance of my permalink structure?
- Permalink format: singular or plural
- What is the difference between get_post_permalink and get_permalink?
- WordPress matching URLs with trailing tildes
- Get current URL (permalink) without /page/{pagenum}/
- How does WordPress handle permalinks?
- Pretty permalinks for search results with extra query var
- Get page permalink without wpurl
- How can I get the privacy policy page?
- Can I use REST-API on plain permalink format?
- WordPress slug issue with non-latin characters
- Rewrite Rule for Multilingual Website, Like qTranslate?
- How to get pretty URLs with add_query_arg in permalinks
- What is the best permalink structure for SEO?
- Change author permalink
- Creating custom permalink structure for languages
- Hide permalink and preview button and link on custom post
- Custom post type permalink endpoint
- How can I make Capital letter ( upper-case ) permalinks?
- How can I reverse engineer a Permalink to Find the Page?
- Mapping Domains to Permalinks (not multisite)
- How to remove dates from existing permalinks?
- How do I set a custom base URL for standard posts?
- Removing Parent Page(s) from Permalink
- Why permalinks work with /index.php/%postname% but not with just %postname%?
- Setting up WordPress with Custom Permalinks and no .htaccess File?
- Getting the Site URL Including the Front Base
- Does WordPress Change the .htaccess File When Updating?
- Using $_GET variables in the URL?
- Removing the redirect after changing a page’s slug
- How to display a public profile page for registered users with custom slug?
- Removing leading zeros from custom permalink structure
- Must slugs be unique?
- Setting 404 page in Nginx
- How to get the clean permalink in a draft?
- How to use relative links on my pages?
- How does wordpress keep track of post id when post id is not used in permalinks?
- Stop WordPress from reserving slugs for media items?
- Including category-base in a post permalink results in 404
- How to change ‘with_front” key from an existing custom post type?
- Change slug on post creation
- Does WordPress automatically do 301 redirect if I change permalink
- How can I store page ID in a post instead of other selected permalink?
- WordPress Permalink changes to question mark (?) in URL
- WordPress thinks my custom route is a 404
- Prevent WordPress from abbreviating-long-slugs…-in-the-admin
- Adding another word in front of post url
- Permalink with sub-sub-category and post name
- Post type child of another post type
- Permalink not working for page without title
- Remove index.php in permalink structure on IIS server
- What is the difference between get_permalink vs get_the_permalink?
- Page begins with number, WordPress adds 2
- Move WordPress to subdirectory, keep ALL URLs
- How would I create a different permalink structure for pages and posts?