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
- Confused about editing the HTML in a template
- Get_Template_Part and Template files in TwentyTwentyFour Block Editor
- How to duplicate a template in wordpress site editor?
- order archive page by title in wp twenty twenty-four template
- How to use Class
in Java? - Create custom page templates with plugins?
- Get name of the current template file
- How do you find out which template page is serving the current page?
- How to change the default registration email ? (plugin and/or non-plugin)
- How do I get the size of an attachment file?
- Is there any way to use get_template_part() with folders?
- Custom templates not showing up in template dropdown
- Adding Page Attributes Metabox and Page Templates to the Posts Edit Page?
- How can i change email template for new user
- Any advantage to using get_header() over include(‘header.php’)?
- Enable page templates. How?
- Is it possible to override the result of get_template_part()?
- Use [embed] filter in template files
- How can I load a page template from a plugin?
- What’s the purpose of the paged.php file?
- How do you access the Product Short Description in a WooCommerce email template? [closed]
- Prevent comments_template() to load comments.php
- Is there a WordPress plugin that registers a plugin file as a custom page template?
- Is there a way to list all used/unused WP templates?
- How To Create A Paginated List Of All Categories On My Site?
- Print WordPress template filename(s) for debugging
- Is it possible to stop selected plugins from loading on certain template pages?