The comment from @milo prompted me to take a closer look, and I realised I was chasing a false positive. The About page and Contact page were actually displaying the correct behaviour; it was Home and Services that were wrong. It seems at some point those two pages did have custom page templates, which were later turned into specialized page templates. However, their body classes persisted.
The important thing to take away is: when a custom page template is removed/deleted and there are no other custom page templates to fallback to, the value is not cleared from the post meta, which means it will continue to show those body classes until a new template is assigned.
I will check if this is logged as an issue on the WP Trac later on today.
Related Posts:
- Is it possible to enqueue a raw CSS string directly from within a template file?
- How do I style WordPress pages differently based on the tag used?
- How to create a custom CSS class for a specific page template?
- Getting page output HTML without request (for CriticalCSS, PurgeCSS)
- post_class not working with css
- Hide Overflow on a Specific WordPress Template
- What is the difference among col-lg-*, col-md-* and col-sm-* in Bootstrap?
- Set line spacing
- Outline effect to text
- create a white rgba / CSS3
- Using CSS for a fade-in effect on page load
- Transition of background-color
- How to add a color overlay to a background image?
- Change color of PNG image via CSS?
- css: how to center box div element directly in center?
- Transitions on the CSS display property
- HTML/CSS float: left; is not working properly
- How to get current screen width in CSS?
- margin-right is not working with my HTML. How can I center my content?
- Overflow Scroll css is not working in the div
- Positioning background image, adding padding
- CSS Box Shadow – Top and Bottom Only [duplicate]
- How to place Text and an Image next to each other in HTML?
- Responsive iframe with max width and height
- Overflow-x not working
- Inner glow effect of button
- Hexagon shape with CSS3
- CSS selector for first element with class
- Inbuilt style for jquery-ui-datepicker
- Why is style.css not being enqueued?
- Using theme options to change link colours
- How make theme css be first and not plugin css
- Hide Front-End Admin Bar Including 32 px Spacing
- When enqueing a stylesheet, is it possible to remove the type attribute? [duplicate]
- One WordPress and database but multiple subdomains
- Collapsible button inside a ul list does work in jsfiddle but not in WP
- How can I remove css from a child theme?
- wordpress in wamp lan doesn’t load css
- JavaScript added as link/stylesheet
- How to get a value for admin css color either gray or blue
- CSS style button For WP Login Function in page template
- Adding external stylesheet after ALL other styles
- How can I use PurifyCSS to clean WordPress style.css?
- Accessing Style Sheet Comment Like WordPress
- Dynamic sidebar nav with current page highlighting
- Bootstrap in theme
- How to integrate my HTML and javascript into my child theme
- How to align full div [closed]
- Font Awesome icons disappearing [closed]
- How to change the full capitals font title of my WordPress Blog?
- How to add inline css code with background image in page html code?
- Understanding how the class family `inner-container` works
- Page layout is broken when viewing search results.
- Style file inclusion
- Change Header Image on Blog Post for Mobile View
- adding the_custom_logo(); to header
- How do I change the style of just a part of the tagline?
- Apply custom css for user role
- override a css style [closed]
- How to avoid repeating similar properties for all tds of a table in a wordpress post
- Loading bbPress CSS file only on forum directory
- Common page width? [closed]
- Login validation on wordpress
- Override All CSS with Custom CSS on a Page by Page Basis
- padding not working
- Hide Some Fields of Post Submit box
- CSS properties in textarea in the Customizer
- WordPress default theme CSS version problem and not loading
- Penscratch 2 – changing color of the main block
- How can customized CSS on WordPress highlight the blog title in white when it’s not intended?
- Are there any CSS classes for the wordpress colours?
- how to modify html on homepage (no home-page.php in my theme)
- Remove dashicons.min.css conditionally
- Remove Parent Style on Carousel
- Fonts are not applying
- how does additional css rendering work?
- Text Not Wrapping Around Right Floated Image [closed]
- header background color changed after drop & import database in phpmyadmin
- Css style removed but still showing via CDN even after clearing browser cache and purging all caches for site
- WordPress – Portfolio – Change number of items in a row
- I cannot make this position properly in WordPress [closed]
- How can I pass a variable from PHP to LESS?
- Large Unwanted Space at the Bottom of Blog Posts [closed]
- How to include backend buttons css on frontend?
- Create a body div using CSS [closed]
- vertical menu bar css
- After upload on server 404 on all pages, no css
- I need css code to divide my webpage sections into two columns
- Images at the same vertical position in multiple columns
- css .active dropdown selects all links
- background changed after WordPress update
- Put CSS on TOP, how?
- I am trying to apply these CSS rules to x3 Post-ID’s but I can’t get it to work – any idea how I can?
- In which file can I find the custom CSS code I entered?
- Some times CSS not Applying
- use another theme for just one page
- CSS does not take effects and it doesn’t show in inspect [closed]
- Add Quicksand for mobile devices
- Hiding site title for Twentyfifteen sidebar on (responsive) desktop display size
- Why is the image in div not displayed in full-size?