When you use pretty permalinks, WordPress creates a set of rules for each type of content. These rules define a pattern that each type of content’s URL’s will follow.
When you have an incoming request, WordPress decides what is being requested by matching the URL with these rules. If multiple rules match, the one with the highest precedence is used. In this case, your CPT takes precedence over pages.
See the WP_Rewrite class in Codex for more info.
EDIT Also see parse_request
in source for the code that parses these rules for a request.
Related Posts:
- Page Templates Used in Custom Post Type
- Page editor missing Templates drop down
- How to edit contents of dynamic_sidebar()?
- Loading custom page template via plugin
- I put my blog on a subpage, how do I get page title?
- How to hide/redirect the author page
- Need to give custom page template for each language in WPML
- Templates & CSS – Proper Programming Practice?
- Create Page that uses specific template
- Post formats template
- index.php template is used instead of blog page
- Hide Front-End Admin Bar Including 32 px Spacing
- What is a good way to present templated content in WordPress?
- Adding variable to get_template_part
- How to apply a custom template for posts by default?
- How to move style from template file to section?
- Subpage template
- How to create a wordpress template without using any page
- Advanced Custom Fields – display when specific template used?
- How do I find the directory of a page template?
- Missing ‘Page Attributes’
- how to use custom page template in a page?
- the_excerpt producing empty output
- Conditionally display different images before the content in a page template
- Is there a way to set different post templates for parent posts and child posts in the same post type?
- Change wp-signup.php Page Template
- How to remove the Template drop down, but keep Parent and Order
- Templates have disappeared from drop down lists
- Getting pages filtered by template assigned
- Get link to a specific template file [closed]
- Default Template Selected After Changes in Elementor [closed]
- Use same page template for parent and child pages in a theme
- displaying category and subject posts
- How to duplicate a page template but make minor changes to the header?
- Adding Query to Custom Page Template
- get_file_data to read data for Custom Template File?
- Page attributes missing
- wp_enqueue_style and different styles for blog template
- Page template option missing
- How do I get the page template name chosen?
- How can I add text to a specific ‘Edit Page’?
- get_header(), get_footer() from plugin template
- What template is used for viewing Media Library Files?
- Page template for a site from network
- Force WordPress to NOT display the manual excerpt
- Undefined get_header function
- Single-page.php template file name not shown
- How to display custom post type?
- Hard Coding Components on a Client Specific Websites
- Will placing custom templates in sub directory break any native WordPress functionality
- Organize template parts and page templates in folders in regards of template hierarchy
- Blog page won’t show Blog template
- templates with page teasers Or Featured Items
- How do I custom a page that doesn’t exist in the page list?
- Random home page at each refresh between array of page IDs
- Search button click sends to single-custom_post_type instead staying at the same page
- BuddyPress : how can I call the template WordPress would have chosen (template hierarchy)?
- Display a custom 404 page without a redirect
- How can I make custom page templates work on child theme?
- Change Page Template Based on URL Rewrite in WordPress
- I want to display all related posts for a selected tag in WordPress
- Nested Page Template not showing in page attributes
- Creating custom post-listing templates in twentyseventeen child theme
- When to use content-pagename.php?
- Submit form to another template (ugly url)
- custom template – override plugin template in child theme – issue with scripts
- Is this the best way to complete disable category archive pages?
- Is there a way to share a template/markup with the JSON API so that it doesn’t need to be declared both in PHP and in JS?
- How to install a wordpress website template on an existing website?
- Custom Archive with Content for Custom Post Type
- Page.php vs Single.php
- My homepage’s width has reduced and I can´t fix it [closed]
- html blog template to wordpress template
- Using WordPress templating for HTML emails
- Outputting Canonical Resource URLs Across a Multisite Network?
- Test if page is child and has children, if so echo child pages also on grandchild pages
- A shared custom taxonomy between two custom post types
- Same template for all the terms of a taxonomy
- Change directory where get_header(), get_footer() and get_sidebar() look for templates
- How to format shortcode’s HTML in external file
- Is there an action hook that fires just before a template is loaded?
- What is this code trying to do? It was the cause of my 20s TTFB
- get_post_metadata() undefined when used in loop in RSS template
- Getting term description in single post template
- Cannot edit style.css from admin panel, because the template is looking for style.min.css
- Is there a way I can put my post templates in a separate folder?
- Only one post is showing on category page, why?
- Two exact templates, sidebar showing in one but not the other
- How can I use default CPT templates from sub-folder?
- How can I get all archive-URLs to use the same template?
- How to use a template file to show all post having same metakey
- Modify just ONE page based on a template
- Add an anchor link to a ‘plain’ HTML file, without over-writing the entire site?
- Template and URL parameter problem
- get_users by role returns all users
- Validating Error with submit button
- Current URL path variable
- Why is my no-results.php template moving my sidebar and footer into the main container?
- Given a page ID, how to display entire page (header/content/footer/sidebars) from a plugin hook
- What happens to bespoke page template references on theme change?