Post Formats for Block Themes
Post Formats for Block Themes

Post Formats for Block Themes

0/5 (0 ratings) — active installs Updated Nov 10, 2026
Format selection modal with post format cards shown when creating a new post

Format selection modal with post format cards shown when creating a new post

Post Formats for Block Themes brings the beloved post format functionality from classic WordPress themes to modern block themes, with intelligent pattern insertion, automatic format detection, and a streamlined editing experience. It requires a block theme — on a classic theme the plugin deactivates itself with an explanatory notice.

Why Post Formats Matter for Block Themes

WordPress post formats have been a powerful feature since WordPress 3.1, allowing content creators to style different types of posts distinctively—quotes appear with enhanced typography, galleries showcase images prominently, status updates feel like social media, and chat transcripts display conversations beautifully. However, with the shift to block themes and Full Site Editing, this functionality was left behind.

Post Formats for Block Themes solves this problem. This plugin brings post formats into the block editor era with format-specific block patterns, automatic content detection, and accessibility-first design. Whether you’re building a personal blog, portfolio, news site, or creative magazine, post formats help your content stand out.

Who This Plugin Is For

  • Bloggers who want variety in their post presentations without creating custom templates
  • Content creators who publish different types of content (articles, quotes, galleries, status updates)
  • News sites migrating from classic themes and want to preserve post format functionality
  • Designers and developers building block themes who need format support built-in
  • Accessibility-minded editors — the format modal and Chat Log block use WordPress’s accessible components and announce changes to screen readers
  • Anyone moving from classic themes who misses the post format features they relied on

Key Features

10 Format-Specific Block Patterns

Each WordPress post format gets a block pattern for its content type. Choosing a format inserts its pattern into the post, and you can edit every block in it:

  • Standard – Traditional blog post with full title, featured image, and content blocks
  • Aside – Short note or update displayed in a styled bubble container without title requirement
  • Status – Short status update with a 280-character soft limit and a live counter
  • Link – Link sharing with automatic Bookmark Card integration when available, with graceful fallback to standard linked paragraphs
  • Gallery – Photo gallery starting with a Gallery block for image collections
  • Image – Single image post with prominent image display and caption support
  • Quote – Quotation or citation using the Quote block
  • Video – Video content using native video blocks or popular embed services. Adds layout styles for Able Player when it’s active.
  • Audio – Audio file or podcast embed with native player styling. Adds layout styles for the Podlove Podcasting Plugin player and Able Player when either is active.
  • Chat – Conversation transcript using the integrated Chat Log block

Integrated Chat Log Block

No separate plugin needed! Post Formats for Block Themes includes a full-featured Chat Log block for displaying conversation transcripts. Perfect for interviews, customer support examples, team discussions, or any dialogue format.

Supported platforms: Slack, Discord, Microsoft Teams, WhatsApp, Telegram, Signal, and generic chat transcripts. Additional text format support: SRT subtitles, VTT captions, and plain text exports from any chat application.

Chat Log features: automatic platform detection, avatars (Gravatar with an initials fallback), timestamp formatting (relative, absolute, time-only), multiple display styles (bubbles, IRC, transcript, timeline), thread collapsing, participant lists, device frames, full accessibility, and RTL support.

Automatic Format Detection

Save time with intelligent format detection. The plugin analyzes your post’s first block and automatically assigns the appropriate format. Gallery, Image, Video, Audio, Quote, Chat Log, and Bookmark Card blocks map to their formats; an Aside or Status paragraph maps when it carries the pattern’s class. A Pullquote doesn’t count as a Quote. Detection runs once, on a post’s first save, and never changes a format you set.

Format Selection Modal

When creating a new post, a visual format selection modal appears with all 10 formats displayed as cards showing an icon, name, and description. It’s built on the WordPress Modal component and announces your choice to screen readers.

Change Format Mid-Edit

Use the Format row in the post sidebar (WordPress core’s control). Picking a new format inserts that format’s pattern at the top of the post and keeps your existing blocks. If the post is empty, the pattern replaces the empty block.

Status Format Validation

The Status format shows a live “N characters remaining” counter with a 280-character soft limit, warning and over-limit styling, and screen reader announcements. It never blocks publishing.

Post Format Repair Tool

The repair tool (Tools Post Format Repair) scans your posts when you open it and lists posts whose format doesn’t match their first block. Use “Apply All Suggestions” or the per-row “Apply”. Dry run is on by default, and each change saves a revision first. Useful when migrating from classic themes.

Theme-Agnostic Styling

Format styles use --pfbt-* CSS custom properties that resolve through your theme.json, so they follow your theme’s colors, typography, and spacing and work with Global Styles.

Also Included

  • Settings Post Formats picks the icon set for the Format Icon block.
  • Tools Post Format Templates turns on single-post templates per format.
  • The Format Badge and Format Icon blocks show a post’s format. Block Hooks can place the badge before the post title.
  • Opt-in block style variations for Image, Gallery, and Quote blocks. Both feature flags (image_gallery_styles, quote_styles) are off by default.
  • Abilities API support, including read abilities for MCP clients on WordPress 6.9+ (see the 1.1.10 changelog).

How to Use Post Formats in Block Themes

Creating Your First Formatted Post:
1. Navigate to Posts Add New
2. Format selection modal appears automatically
3. Click your desired format (e.g., “Quote”)
4. The format’s pattern is inserted
5. Add content within the pattern
6. Publish your formatted post

Mid-Edit Format Switching:
1. Open the Post tab in the right sidebar
2. Select the Format row
3. Choose a new format
4. The new pattern is inserted at the top; your existing blocks stay

Using Auto-Detection:
1. Start a new post without selecting a format
2. Add content (e.g., insert a gallery block)
3. Save as draft or publish
4. Plugin automatically detects Gallery format
5. Format is assigned without manual action

How to Create a Quote Post

Showcase quotations and citations beautifully:

  1. Select Quote format from the modal
  2. The Quote pattern loads with a Quote block
  3. Type or paste your quote
  4. Add the source or attribution below the quote
  5. Optional: Add commentary below the quote
  6. Customize styling via Global Styles
  7. Publish your quote post

How to Display Chat Conversations

Turn conversation transcripts into readable, attractive content:

  1. Select Chat format when creating new post
  2. Chat Log block inserts automatically
  3. Copy conversation text from Slack, Discord, Teams, WhatsApp, etc.
  4. Paste into Chat Log block—platform detection is automatic
  5. Configure display options: style, avatars, timestamps, threads, device frame
  6. Preview the formatted conversation
  7. Publish your beautiful chat transcript

Threaded replies are grouped and can be collapsed. Reaction counts and reply indicators in pasted text are skipped.

How to Automatically Detect Post Formats

Let the plugin handle format assignment:

  1. Create new post without selecting format
  2. Add content normally (gallery, video, quote, etc.)
  3. Save draft or publish—detection runs on save
  4. Check the Format row in the sidebar for the detected format
  5. Change it there if you want a different one

Detection rules: the first block decides. Gallery block = Gallery format, Video = Video, Quote block = Quote (a Pullquote doesn’t count). Detection runs once per post.

How to Repair Mismatched Formats

Fix format assignments across your entire site:

  1. Navigate to Tools Post Format Repair
  2. The page scans your posts on load
  3. Review the Detected Mismatches table
  4. Leave “Dry run” checked to preview, or uncheck it to apply
  5. Click “Apply All Suggestions”, or “Apply” on one row
  6. Verify the changes

Common scenarios: migrating from classic themes, imported content, incorrect manual assignments, exploring your format distribution. The repair tool saves a revision before each change and edits the post’s format, not its content. (The separate Template Assignments section on that screen also updates page templates.)

Migrating from Classic Theme Post Formats

Preserve post format styling when switching to block themes:

Before Migration:
1. Install plugin on classic theme site
2. Leave classic theme active
3. Open the repair tool (dry run stays on, so nothing is applied)
4. Review the mismatches

During Migration:
1. Switch to block theme
2. Activate Post Formats for Block Themes
3. Visit Tools Post Format Repair
4. The page scans your posts on load
5. Review the mismatches
6. Uncheck Dry run, then click Apply All Suggestions

After Migration:
1. Check frontend display
2. Customize styling in theme.json
3. Create new posts with format patterns
4. Optional: update old posts to use patterns

What transfers: format assignments, post content, featured images, post meta. What changes: theme template styling becomes pattern styling, classic PHP templates become block templates. Tips: test on staging first, take database backup, check one post per format, customize theme.json colors, use patterns for new content.

Block Theme Compatibility Guide

What Makes a “Block Theme”:
Block themes use block templates (.html files) and theme.json instead of PHP templates. Key characteristics: templates/ folder with .html files, theme.json file, Full Site Editing support, activated via Appearance Themes. Learn more in the WordPress Block Theme documentation.

Why Classic Themes Aren’t Supported:
Classic themes use PHP template files which conflict with block-based patterns. This plugin requires block pattern support, block templates, theme.json styling, and block editor integration. If you prefer using a classic theme with post format support, consider using the Twenty Thirteen theme which includes excellent built-in post format styling.

Recommended Compatible Block Themes:
Twenty Twenty-Five, Twenty Twenty-Four, Twenty Twenty-Three, Block themes from Automattic (Blank Canvas, Pendant), most modern block themes on WordPress.org.

Theme.json Integration:
The plugin reads color palette, typography, spacing, and border styles from your theme.json. Format styles automatically adapt. To customize, edit your theme.json color and typography settings.

Documentation

Full user documentation — installation, settings, common tasks, troubleshooting, privacy, and a Playground preview guide — lives at courtneyr-dev.github.io/post-formats-for-block-themes. Developers extending formats, detection, or styling should start with the hooks reference.

Additional Information

Performance

Post Formats for Block Themes is built for performance: JavaScript loads only in block editor (never on frontend), CSS uses minimal native custom properties, auto-detection runs only on save, no frontend database queries, properly enqueued versioned assets for browser caching, no external dependencies or CDN requests.

Privacy

This plugin respects user privacy: does not collect or store user data, does not make external API calls, does not set cookies, does not track users, does not share data with third parties. Format selections and post meta stored only in your WordPress database using standard functions.

Browser Compatibility

Tested and fully functional in: Chrome 90+, Firefox 88+, Safari 14+, iOS Safari 14+, Chrome for Android 90+. Uses modern JavaScript (ES6+) with polyfills for wider compatibility.

Support

For support: check FAQ section, read format descriptions, visit WordPress.org support forums, search existing threads, create new topic with details (WordPress version, PHP version, theme name, active plugins, issue description, reproduction steps, screenshots).

For bug reports and feature requests: visit GitHub repository.

Contributing

Contributions welcome! Report bugs on GitHub, submit pull requests, translate via WordPress.org, write tutorials, answer support questions, share with others. Development: follows WordPress Coding Standards, includes comprehensive test suite (PHPUnit + Playwright), CI/CD pipeline with automated testing, accessibility tested with axe-core.

Credits

Inspired by WordPress Twenty Thirteen theme’s post format treatments. Built with WordPress Gutenberg components. Icons by Dashicons. Developed by Courtney Robertson. License: GPL v2 or later.

External Services

This plugin does not connect to or rely on any external services. All functionality runs entirely on your WordPress installation using core WordPress APIs. The Chat Log block specifically: does NOT send conversation data to external services, does NOT make API calls, processes all transcript text locally using JavaScript, stores formatted conversations in post content only. Your conversations never leave your server.