The most efficient way to do it would be to have a whitelist of pages, and to check the requested page against that list before the query is run.
function my_parse_query( $wp_query ) {
if( isset( $wp_query->query_vars['sub_pages'] ) ){
$sub_pages = array(
'example',
'another'
);
if( ! in_array( $wp_query->query_vars['sub_pages'], $sub_pages ) ){
$wp_query->set_404();
status_header( 404 );
}
}
}
add_action( 'parse_query', 'my_parse_query' );
Then, once you reach the post type template, you know that if sub_pages
is set at that point, it contains one of your defined valid pages.
Related Posts:
- 404 error after publishing a post
- Some posts returning 404 instead of displaying post
- Custom post type single (permalink) throws a 404 error
- Unable to modify(update) posts – Page not found
- Debugging WP routing
- PHP Notice error (when on 404 page)
- Getting a 404 error when clicking edit page
- 404 on paginated blog pages
- How to display content from the main blog on another from multisite network as it would be its own
- Why does my site often display 404 on subpages?
- custom post template file not shown, instead all the time 404.php
- One post on my website is going to a 404 page
- How do I locate the exact location where this error is occurring 404 page not found
- 404 error on default post type and default taxonomy fronted page
- Problems with Page Not Found
- Posts and Pages: 404 Page not found
- If post does not exist, do something
- Prevent 404 of Author pages without posts
- 404 error on every post and page other than home
- Get post title of faulty link on 404 error page
- Getting 404 when using rewrite rule for posts
- Password-protected Posts lead to 404 Error
- Cannot Create a new Post [closed]
- Post pages are redirecting to the 404 page in wordpress
- Redirection – bulk edit 404s to new tomain
- Post type gives 404 unless logged in
- Get WordPress post content by post id
- Get page ID of page that is set as the posts page
- Get Posts Under Custom Taxonomy
- How to limit the number of posts that WP_Query gets?
- Stop WordPress Wrapping Images In A “P” Tag
- When is the ‘post_content_filtered’ column in database cleared by WordPress?
- Turn a URL into an Attachment / Post ID
- GET the excerpt by ID
- Stop WordPress automatically adding tags to post content
- Determine if page is the Posts Page
- How to get ‘post_content’ without stripping tags?
- How to add an admin notice upon post save/update
- Print Current Post Index number within Loop
- Should we trust the post globals?
- Optimize post insert and delete for bulk operations?
- Get the Current Page Number
- How do you add thumbnail support for custom post types?
- How to mark every 3rd post
- Change Posts per page count
- Keep featured content post in homepage with original order
- How to display related posts from same category?
- Can posts have parents?
- Is there a action hook for the “Empty Trash” button?
- How to end the excerpt with a sentence rather than a word?
- How do I check if I linked to a post before I delete it?
- How to change the case of all post titles to “Title Case”
- Appending content with broken in 4.4
- How to get posts published between a date and today?
- ZIP up all images displayed in a [gallery] and offer as download link
- How to detect single.php (but not single-portfolio.php)?
- How to check if post meta key exists or not in wordpress database
- How to remove a column from the Posts page
- removing inline styles from wp-caption div
- What is the use of to_ping and pinged column?
- How to use “Add link” pop up for a WordPress widget
- Remove Categories / Tags From Admin Menu
- How to retrieve text only from wp_content() not from wp_excerpt()?
- Stop WP from creating “Sample Page” and “Hello World!” post
- Where is the old post permalink slug stored?
- How to Create Editable Blocks of Text for the Homepage?
- Keyboard shortcut for updating a page or post?
- Add custom Attachment Display Setting for images
- Rewriting post slug before post save
- Apply the_title() filter in post & page title, but not in menu title
- How to Change Order of Posts in Admin?
- is it possible to get next_post_link
- Get post content by ID
- How to get post creation date?
- Update post counts (published, draft, unattached) in admin interface
- Function to execute when a post is moved to trash .
- How to get post ID of the current page/post inside a widget?
- add action only on post publish – not update
- How to display by default only published posts/pages in the admin area?
- How do you add Read more … link to posts?
- How to make comments work for a post loaded per Ajax?
- Is there an if statement that can determine if a post in the loop is the last post?
- Get current menu_order
- How to show related posts by category
- Changing the post date and time with function
- simply loop through posts
- Difference between an archive and a page listing posts
- Delete Associated Media Upon Page Deletion
- Set Default Listing “View” in Admin
- Access post from post id in URL
- Count posts within a custom post type and specific taxonomy and terms?
- How to add category to: ‘wp-admin/post-new.php’?
- Post preview mechanism architecture
- How to prevent posts from being published too close to each other?
- Passing current cookies in wp_remote_get to get Draft Post Preview
- How to hide specific Gutenberg blocks settings from users
- Post featured image column on admin post list page
- How to Display a List of Users Who Have Made at Least 1 Post?
- The next_posts_link() works only with original $wp_query
- display all posts in wordpress admin