Press This + Gutenberg = ❤️

·

Sol 8270

·

Decorative image of WordPress spelled out in Scrabble game tiles.

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.

Fediverse reactions

Comments

Likes

Leave a Reply

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

Your post must include a link to this post.

How does this work?
Write a response on your own website and include a link to this post. Then submit your response’s URL here. Your response may appear here after moderation. To update or remove it, edit or delete your original post and submit the same URL again. Learn more about Webmentions.