Developer Advocate
Ryan
Welcher
Building on the web since 2004, in WordPress since 2009. I write tutorials, contribute to core and Gutenberg, and stream it all live on Twitch.

About
Hi, I’m Ryan Welcher — a developer turned developer advocate with a passion for building, sharing, and helping others grow in tech. I’ve been working on the web since 2004, when I first got hooked writing ActionScript, and I’ve been deep in the WordPress ecosystem since 2009, building everything from custom themes and plugins to complex integrations, and I regularly contribute to both WordPress core and the Gutenberg project.
Over the years, I’ve grown from writing code behind the scenes to stepping onto stages, leading workshops, and creating content that helps developers do their best work. Whether it’s explaining new APIs, crafting tutorials, live streaming, or listening to community feedback, I love connecting the dots between technology and the people who use it.
As a developer advocate, I bridge the gap between engineering teams and the developer community—amplifying voices, sharing knowledge, and making tools more accessible for everyone.
Latest
-
Requesting data in Gutenberg with getEntityRecords
WordPress’s ‘getEntityRecords’ selector greatly assists in fetching data for custom Gutenberg blocks. It requires understanding of…
-
Limiting the block count for InnerBlocks
The component is key for Gutenberg block developers, enabling complex block structures in WordPress. While flexibly…
-
@GoodFirstBugs bot is back!
A couple of years ago, I created a Twitter bot that tweets out WordPress core trac…
-
Restricting PluginDocumentSettingPanel by post type
Now that the PluginDocumentSettingPanel is in WordPress core, we can add our own panels to the…
● Live on Twitch
Thursdays, 10:30 EST
Building plugins in public, bugs and all.