pom://theme/templates/feed: reusable listing-card guide
A feed template renders one item inside a listing, archive result set, faceted-search result, carousel, or related-content feed. The outer loop decides arrangement and columns; the feed template owns the visible card.
Design one repeatable item
Start with the smallest useful card:
<article class="feed-card">
<a href="{{permalink}}">
{{featured_image image_size="medium"}}
<h2>{{title}}</h2>
</a>
{{if meta="subtitle" value="not_empty"}}
<p>{{meta name="subtitle" only_content="true"}}</p>
{{/if}}
</article>
Then add only the current merge tags required for dates, author, taxonomy terms, WooCommerce data, nested feeds, galleries, video, or buttons. Use pom://theme/mergetags/feed because feed supports a broader catalog than archive or single templates.
Avoid recursive or incomplete cards
Nested feeds require a real saved feed-template identifier and a supported layout. Do not point a nested feed back to itself. Media fields must use the correct media merge tag, and optional product data should have a deliberate empty state.
Validate the full HTML with pom_validate_template_markup. After a dry-run and confirmed upsert, assign the template to the intended listing or archive-feed target. The MCP prompt for feed templates explicitly treats archive assignment as a separate step.
Test with long titles, missing images, zero prices or stock where relevant, and different screen widths. A template can validate syntactically while still producing an unusable repeated card.
Related guides: feed merge tags, create a feed template, and assign a template.