Post Formats UI is exiting core, will live as a plugin

This is a hard decision. I’ve been talking to a lot of WordPress core developers and contributors, and the overwhelming consensus is that Post Formats UI is not ready for WordPress core, and that it would be a mistake to ship it as it currently exists. We’re going to pull it out, and let it continue development as a plugin, much like MP6.

I fought hard for it, and a lot of people put a lot of effort into it. But the result just isn’t compelling, or obvious, or any of the things that it should be. It’s not just a matter of polish, it seems to be a fundamental issue with the concept. The release can’t be held up any longer for this. It needs to come out. I should have made this decision earlier. That’s on me. But letting it ride would be the worse mistake.

Here is the proposed plan for extracting it, and for dealing with other tangentially related or other release-related items:

Post Format Things to Move to the Plugin

  • The posts screen UI, including icons in H2 #24452 #24502
  • Enabling all formats by default #24452
  • The custom screen options (go back to what we had before) #24452
  • The content/excerpt/title necessity modifications in wp_insert_post() #24503
  • Content area size changes #24452
  • structured-post-formats support and post_formats_compat() #24453 #24454
  • Revisioning of the post format and post format metadata keys #24455

Post Format Things to Keep in Core

  • Icons on edit.php (perhaps adding them to the radio format chooser to sync that context) #24519
  • post-new.php?format= shortcut
  • aside/status auto title generation (when blank)
  • URL extraction function (renamed from get_content_url() to get_url_from_post_content())
  • Post Format previewing #24483

Upgrade Path for Beta Dogfooders

  • Consider rolling upgrade that pieces together post_content based on existing meta keys
  • Alternatively, include this as a tool in the post formats plugin
  • Perhaps a WP-CLI component to the post formats plugin, so those upgrades can be done on the command line, once

Strategy for Media

  • Leave most of wp-includes/media.php — keep audio/video support
  • Call functions directly rather than calling do_shortcode() #24505
  • Have wp_get_(audio|video)_extensions() wrap wp_get_mime_types( $type = null ) if feasible #24504 (NOPE)
  • Remove or make sane attachment_url_to_postid() #24458
  • For A/V shortcodes, include the attachment ID, instead of just the URL (makes attachment_url_to_postid() unnecessary) #24458
  • Transition those IDs on import #24458
  • Consistency: embed shortcode takes URL as its content, but a/v ones take an attribute — make both for both? #24456


  • Keep shortcode_exists() and has_shortcode()

What Else?

Did I miss anything? Is there something that doesn’t seem like the right path forward to you? Let’s hash this out so we can move on it.