
Register page keys, assign actual WordPress pages to them, and access each of these pages by its individual key.
Have you ever wanted to access a specific page from inside a template file? Of course, you could query it by its title. But what if someone wanted to rename the page? Okay, so we choose the slug. But maybe that someone also thought editing the slug as well to make it fit the new title was a very good idea. Yes, I know, it is not. But that someone either didn’t know, or didn’t care. Okay, so let’s use the page ID. Oh, wait, now that someone, by mistake, permanently deleted that page. After having visited the frontend that someone created a new page, with the exact same title and the exact same slug as the original page. But that damn page still won’t show.
This is exactly when Page Keys kicks in.
What this plugin is all about is providing a means to accessing specific pages by unique and therefore individual keys. And doing this is quite simple. On the Page Keys admin page, you can add as many unique page keys as you like. For each of these page keys, you then select a (published) page. Hit the Save Changes button, and you’re done already.
Suppose you now want to access a specific page in one of your theme’s template file. After having defined a page key and having assigned a page to it, you can get the according WP_Post object by calling get_page_by_key( $key ). In the rare case where you already have a function of that name defined within the global namespace, you would have to set up such a function by yourself. In principle, this is just a copy of what you can find in the functions.php file of this plugin.
Filters
In order to customize certain aspects of the plugin, it provides you with several filters. For each of these, a short description as well as a code example on how to alter the default behavior is given below. Just put the according code snippet in your theme’s functions.php file or your customization plugin, or to some other appropriate place.
edit_page_keys_capability
Editing the page keys is restricted to a certain capability, which is by default edit_published_pages. The reason for this choice lies with the fact that user, who is capable of editing a published page (e.g., changing its status to draft), implicitly is able to compromise any page key mapped to the page.
/** * Filter the capability required to edit the page keys. * * @param string $capability Capability required to edit the page keys. */ add_filter( 'edit_page_keys_capability', function() { return 'manage_options'; } ); list_page_keys_capability
Accessing the plugin’s settings page is restricted, too. In order to distinguish between users who are only allowed to see the existing page keys as well as their respective page, and users, who are able to edit page keys, there are two individual capabilities. The default for accessing the settings page is edit_pages.
/** * Filter the capability required to list the page keys. * * @param string $capability Capability required to list the page keys. */ add_filter( 'list_page_keys_capability', function() { return 'read'; } ); page_keys_show_admin_notice
Depending on how exactly you are working with the plugin, the admin notice informing you about page keys that don’t have a page assigned might be more annoying than helping. Gladly, there is a filter to turn this off.
add_filter( 'page_keys_show_admin_notice', '__return_false' );
To contribute to this plugin, please see its GitHub repository.
If you have a feature request, or if you have developed the feature already, please feel free to use the Issues and/or Pull Requests section.
Of course, you can also provide me with translations if you would like to use the plugin in another not yet included language.
Starting from $0 per month.
Rating
Reviewers
No reviews
Tags
Developed By
Thorsten Frommen
Quick & Easy
Common Ninja has a large selection of powerful Wordpress plugins that are easy to use, fully customizable, mobile-friendly and rich with features — so be sure to check them out!
Testimonial plugins for Wordpress
Galleries plugins for Wordpress
SEO plugins for Wordpress
Contact Form plugins for Wordpress
Forms plugins for Wordpress
Social Feeds plugins for Wordpress
Social Sharing plugins for Wordpress
Events Calendar plugins for Wordpress
Sliders plugins for Wordpress
Analytics plugins for Wordpress
Reviews plugins for Wordpress
Comments plugins for Wordpress
Portfolio plugins for Wordpress
Maps plugins for Wordpress
Security plugins for Wordpress
Translation plugins for Wordpress
Ads plugins for Wordpress
Video Player plugins for Wordpress
Music Player plugins for Wordpress
Backup plugins for Wordpress
Privacy plugins for Wordpress
Optimize plugins for Wordpress
Chat plugins for Wordpress
Countdown plugins for Wordpress
Email Marketing plugins for Wordpress
Tabs plugins for Wordpress
Membership plugins for Wordpress
popup plugins for Wordpress
SiteMap plugins for Wordpress
Payment plugins for Wordpress
Coming Soon plugins for Wordpress
Ecommerce plugins for Wordpress
Customer Support plugins for Wordpress
Inventory plugins for Wordpress
Video Player plugins for Wordpress
Testimonials plugins for Wordpress
Tabs plugins for Wordpress
Social Sharing plugins for Wordpress
Social Feeds plugins for Wordpress
Slider plugins for Wordpress
Reviews plugins for Wordpress
Portfolio plugins for Wordpress
Membership plugins for Wordpress
Forms plugins for Wordpress
Events Calendar plugins for Wordpress
Contact plugins for Wordpress
Comments plugins for Wordpress
Analytics plugins for Wordpress
Common Ninja Apps
Browse our extensive collection of compatible plugins, and easily embed them on any website, blog, online store, e-commerce platform, or site builder.
Display Bluesky posts with a Bluesky feed carousel that auto updates, shows posts in a clear layout, and keeps visitors engaged.
Use a contact form so visitors can send messages, submit inquiries, and help you collect leads and improve user experience.
Add an interactive before and after slider to your site to show visual transformations, capture attention, and help visitors understand real results.
Collect user insights with a feedback form that gathers valuable input, improves user experience, and helps you understand visitor needs more clearly.
Use tilted image effects to rotate visuals, add creative style, and keep visitors engaged with dynamic images on your site.
Showcase photos with an image gallery that displays pictures and captions in grids, improves design, and boosts visitor engagement.
Display clean code snippets with syntax highlighting to improve technical content and help developers scan examples quickly.
Show products, apps, or designs inside a clean device mockup that improves visualization, builds credibility, and helps visitors make confident decisions.
Show Medium articles in a Medium feed that keeps content fresh, improves readability, and helps visitors discover more posts.
Use skill flip cards to showcase your abilities in a clear, interactive format that strengthens your profile and improves your chances of getting hired.
Create engaging stop motion displays with a stop motion player that turns image sequences into interactive animations to boost creativity and visitor engagement.
Add an FAQ section to your site to answer common questions, reduce support requests, and give visitors a smoother and more confident user experience.
More plugins
The Common Ninja Search Engine platform helps website builders find the best site widgets, apps, plugins, tools, add-ons, and extensions! Compatible with all major website building platforms - big or small - and updated regularly, our Search Engine tool provides you with the business tools your site needs!
