Turns out that this behavior was being caused by a plug-in with a default setting to convert all posts into excerpts, thereby stripping the markup.
I determined this by standing up a stock WordPress instance with none of my customizations or theme, replicating the installed plug-ins (just their existence, not their settings), and checking the feed after activating each of them.
The moral of the story is that you’ll miss a lot of behaviors and waste a lot of time tinkering with code and not focusing on replicating the behavior.
Related Posts:
- RSS for Pages Instead of Posts?
- Show ‘Read more’ in rss feed
- Addition Text to Post Titles (Custom Post Types) in RSS
- Posts gathered from WPEMatico feeds are being mixed in different languages. Polylang is used for language separation
- Problem with articles feed: XML Parsing Error: XML or text declaration not at start of entity
- How to include Related Posts in WP RSS feed
- How to get a post content from another wordpress blog/site?
- Create pretty permalink for a post knowing the permalink structure
- Post update RSS notification plugin
- get_the_content_feed with paginated posts
- filter RSS feed in URL
- ERROR: Your feed is invalid (after update WP4.7) in custom types
- date issue with category post retrival
- Cannot retrieve a custom RSS field from posts
- Automatically Import WordPress Blog to Facebook Page [closed]
- Remove password protected posts from default RSS feed
- Creating separate feeds for custom post types
- Image on rss feed on post
- Publish a Silent Post without updating Feed
- How can my plugin display a populated new post window
- How can I create an RSS feed that includes “Private” posts?
- fetching posts and showing on frontpage
- How do I keep raw HTML in my RSS feed and not lose my paragraph breaks?
- Every time I try accessing a post it redirects me to the feed
- How can I have the posts from one word press blog show on the presentation page of another word press site
- Get image paths from RSS feeds
- How to get override the WP Admin Syndication feed limit for a custom feed?
- Add News Feed to bespoke website, only to one page on whole site
- Print Current Post Index number within Loop
- Front-End Post Submission
- How To Disable (or Remove) “All Posts, Published, and Trash” in Dashboard Posts
- How to manually link posts to each other in WordPress
- Post/Page Publish/Update button not clickable once I make an edit
- Get title of post without using the_title();
- Display all search results
- $post->ID not working
- Add default content to post (for specific category)
- Setting pagination for images attached to a post
- blog page showing only first post
- Is it possible to show a different WP menu when using password protected pages?
- POST from jQuery to PHP
- get_post_custom stripping styling issue
- Including text at the end of every post
- Redirect before post page
- Fetch posts from current week (Sunday to Saturday)
- Using radio button meta data from a custom meta box
- How to set post expiration date and time and move the page to archive after expiration [closed]
- .current-menu-item class on custom post type children pages – again?
- Get posts by multiple ID’s (query)
- Add a class to post title if a link ends with a certain extension
- Admin Notices don’t display on the admin screen for certain post
- Include only recents custom posts in WP rss feed
- is there a way to show the the post title after the image?
- Add the description field on the attached media
- Is there a way to notify specific users when new posts are published to specific pages?
- get_adjacent_post by language
- Force authors to Preview a post before publishing
- While loop articles – if statement order
- Count number of posts of current month
- How to create a sub post?
- How to get post body look same as my visual editor?
- Isn’t the way posts are displayed very unefficient?
- Post Filtering by GET URL parameters
- showing posts of an specific category in admin custom menu with style of admin posts section
- Related Posts function not working
- How to display posts on custom page without declaring a posts page in reading settings?
- Unabled to Change Permalinks – Even Using the “Edit” (Resets to Original Permalink on “Update”)
- What will be the best caching system for wordpress blog which has more than one million blog posts? [closed]
- post type slug vs page slug
- HTML Inside of Shortcode Breaks Shortcode Output
- marking a post that was sticky on category template
- Extract the last published post
- Organization of time insensitive content
- “Blog pages show at most” in setting not working
- WordPress create custom XML RSS feed template
- On my WordPress 5.4 website, how to remove all feeds? Including Category and Tags
- Countrywise Post View
- Scrollbar disappear in post window
- call to jquery ajax failing with 500 error when passing extra data field
- How to create a button to filter posts (list) by meta value
- How to make certain posts not appear on the main page, but instead only a newly created category(in the menu section)
- Double loop output
- AJAX load more posts not using correct category and repeating the same few posts
- post->ID displays the same ID number for every post
- Compare date of user’s last posts
- Only get post_id [duplicate]
- Disable `create_post` for built-in post type
- how to create other sizes of original image in one go wordpress uploads
- WordPress feed only shows first page of category
- Difficulty in creating and handling a complex post type
- Can’t seem to replicate permalink structure for localhost development site
- Newly created category does not show category
- RSS feed url showing page not found. How to solve it?
- Authors can edit all posts, except when an owner is specified?
- Formatting error while publishing theblog from Microsoft Word
- Create post from form with image
- WordPress 3.2 – Problem with WYSIWYG editors in a custom post type?
- WordPress Custom Theme: My site shows the same posts on Page 1 and Page 2 and so on [duplicate]
- WordPress post enumeration
- Output number of WordPress posts remaining until a post milestone is reached