
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.
Create interactive video polls that use engaging clips to boost participation, gather insights, and help visitors vote in a more dynamic way.
Add a customizable leaderboard to your site to display rankings, track scores, and encourage friendly competition.
Add an interactive spinning wheel to offer prizes, capture leads, and drive user engagement through gamified rewards.
Create interactive polls with a poll widget that gathers real time feedback, boosts engagement, and helps you understand visitor opinions quickly and clearly.
Show trust badges that highlight security and reliability, build customer confidence, and help visitors feel safe making purchases on your site.
Show posts in an X feed that keeps updates visible, improves content discovery, and helps visitors stay engaged with your latest activity.
Use an age verification popup to validate visitor age, meet regulatory requirements, and ensure only eligible users access restricted content.
Create structured layouts with a section builder that lets you design custom website sections, customize styles, and organize content for a clearer user experience.
Add interactive video overlays with links, product cards, and buttons that appear on top of your videos to boost engagement and guide user actions.
Use event flip cards to highlight upcoming activities, improve visibility, and help visitors discover events that increase attendance and engagement.
Add an interactive before and after slider to your site to show visual transformations, capture attention, and help visitors understand real results.
Track time since important events with a count up clock that displays elapsed days and hours and keeps visitors engaged.
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!
