Decorative image of WordPress spelled out in Scrabble game tiles.

Press This + Gutenberg = ❤️

Almost a decade ago, I helped rebuild Press This for WordPress 4.2. It was one of my favorite contributions—a tool that embodied what I love about WordPress: making publishing frictionless. Select some text, click a bookmarklet, and you’re blogging. I even wrote Press This Extended to add the customization options that the “Decisions, Not Options” philosophy intentionally left out.

Then I helped extract Press This from Core. Then it sat. For years.

I’ve been poking at it again, and I’m excited to share what’s I’m working on for Press This 2.0.

What’s New

The headline: Press This now uses the Gutenberg block editor.

The Press This rebuild in 4.2 arrived right around the time the REST API was added to WordPress. We considered making Press This the first canonical application to use the REST API, but alas, it was not. The block editor didn’t exist yet. In the years since, the REST API is old news and the block editor is not the new kid anymore.

Moving forward to using the block editor, you still get the same quick-post workflow—bookmarklet, popup, publish. But now you get real blocks. Paragraphs, headings, images, quotes, embeds. The same editor you know from WordPress, just focused on the task at hand.

Under the hood:

  • React/Gutenberg UI instead of the old TinyMCE approach
  • REST API for all operations (no more admin-ajax)
  • Modern build tooling – webpack, proper tests, the works
  • Smarter content detection – JSON-LD parsing, better embed handling
  • Security hardening – SSRF protection, proper escaping throughout

For Developers

If you’ve built extensions for Press This, most hooks still work. The press_this_data filter, press_this_save_post, press_this_redirect_in_parent—all preserved. I’ll write more about these details once the dust settles.

New stuff:

// Control which blocks are available
add_filter( 'press_this_allowed_blocks', function( $blocks ) {
    $blocks[] = 'core/gallery';
    return $blocks;
} );

// Force a post format (great for link-bloggers)
add_filter( 'press_this_post_format_override', function() {
    return 'link';
} );

// Or set a default fallback
add_filter( 'press_this_default_post_format', function() {
    return 'aside';
} );

That last one came from a GitHub issue highlighting this. The best features come from people actually using the thing. It’s also what brought me into software development: wanting to improve things I used.

Why This Matters to Me

I’ve written before about why I contribute to WordPress. It’s not complicated: WordPress changed my life. Back when I wrote about becoming a core contributor, the Press This rebuild was one of the contributions I was proudest of.

Press This represents something I care deeply about—the idea that publishing should be easy, that the web should be open, that you shouldn’t need to copy-paste through three apps to share a thought. It’s the same ethos behind wanting to see indieweb standards become part of WordPress.

I haven’t had the chance to spend any time on it and it’s tugged at me for years.

Try It

The code is on GitHub with a built version of what I have as of now available. It’s not merged yet—still working through edge cases and gathering feedback. If you’ve missed Press This or want to see it work with modern WordPress, I’d love to hear what you think.

Comments

One response

Likes

Leave a Reply

Your email address will not be published. Required fields are marked *

To respond on your own website, enter the URL of your response which should contain a link to this post’s permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post’s URL again. (Find out more about Webmentions.)