WordPress Planet

August 19, 2026

WordPress.org blog: WordPress 7.1 “Mary Lou”

Each WordPress release celebrates an artist who has made an indelible mark on the world of music. WordPress 7.1, code-named “Mary Lou,” honors pioneering jazz pianist, arranger, and composer Mary Lou Williams.

A child prodigy who began playing publicly at six, her influence and work cut across nearly every major era of jazz, moving through swing, bebop, and sacred jazz. Through all of it, she kept reinventing her own sound. In the 1940s, she turned her Harlem apartment into a nightly workshop where Thelonious Monk, Dizzy Gillespie, and Bud Powell came to trade ideas and shape bebop itself. That combination of reinvention and collaboration inspired WordPress 7.1.

Let the range of Mary Lou’s music carry you through everything 7.1 offers.

Welcome to WordPress 7.1!

WordPress 7.1 is built around how you work: navigating the admin, controlling your designs, collaborating with others, and building what you want. The admin bar now follows you across the entire admin experience, putting the tools you need within reach, whether you’re writing a post or editing your site’s design. Built-in responsive styling, added to the current show/hide options for blocks, means you can ensure your site looks exactly how you want across screen sizes, without custom CSS. A new media editor keeps the familiar Crop button entry point, and brings freeform and aspect-ratio cropping, horizontal and vertical flipping, fine-grained and snap rotation, and metadata editing into one dedicated workflow. Leave Notes anywhere in your content—no longer limited to the block level. Rich text support and @mentions make it easier to collaborate with others as you write. Two new blocks, Playlist and Tabs, as well as a new API to register your own set of icons for the Icon block, give you even more flexibility to build what you want without additional plugins. These are just the highlights! Read on to see everything WordPress 7.1 has to offer.

What’s inside

There’s a lot packed into WordPress 7.1 across new styling tools, updated media flows, added Notes functionality, and more. Some changes add new capabilities, while others refine existing tools and workflows.

Here’s a closer look at what’s new in this release, starting with the release video:

Apply responsive styles

Style your content your way, on every screen.

WordPress 7.1 brings more responsive controls directly into the Site Editor. Style how a block looks at different screen sizes from Global Styles or in individual block settings, without custom CSS. You can also preview your changes at different viewport sizes as you work, making it straightforward to build layouts that adapt to the way people browse the web.

Admin bar, now in every editor

Consistent navigation, from dashboard to editor.

The WordPress admin bar now stays with you as you move across all editors, so you always know where you are and have easy access to familiar tools. The admin bar also features some small visual updates to more fully polish the experience. 

A new way to crop

One dedicated workflow for editing your images.

A new media editor modal replaces the previous inline cropping tool, bringing together freeform and aspect-ratio cropping, horizontal and vertical flipping, precise rotation control, and metadata editing together in one place. The familiar Crop button still gets you there.

Inline notes with mentions and rich text

More ways to leave feedback.

Notes now support rich text and mentions, making it easier to leave clear feedback and loop in the right people. Format your Notes with bold, italic, and code, add links, or type @ to mention a collaborator and notify them.

You can also leave a note on a specific piece of text instead of just an entire block, keep multiple conversations going on the same block, and collapse longer notes to keep the margin tidy. It’s built for the back-and-forth that happens when people review content together.

Improved media handling

Faster, more flexible image processing.

Image compression, resizing, and thumbnail generation now happen in the browser, reducing server load and producing smaller files — without hitting PHP memory limits or upload timeouts.

Media handling in 7.1 also includes native support for AVIF, HEIC, and HDR gain maps, adding native support for the image formats modern cameras and phones already produce.

Enhanced details and new blocks

WordPress 7.1 also adds two new blocks, along with more ways to customize how content looks and behaves.

Create playlists

Bring multiple audio tracks together in one playlist, with an optional waveform that gives listeners a visual sense of each track as it plays.

Customize responsive breakpoints

Block themes can now define their own mobile and tablet breakpoints in theme.json, overriding the defaults for responsive styles and block visibility.

Organize with tabs

Organize content into tabbed panels instead of showing everything at once—a cleaner way to present related information without crowding your content.

Add custom icons

Developers can extend WordPress’s icon library with their own collections, making custom icons available throughout the editor alongside the built-in library.

Set interactive styles

Give Button blocks distinct styles for hover, focus, and active states directly in the editor’s style controls. Set the styles for just one button or all buttons.

A more consistent editing experience

The post editor is now fully iframed for all themes, matching the Site Editor.

The editing canvas runs separately from the WordPress admin interface, so admin styles don’t interfere with your content. Viewport-relative units and media queries now target the editing canvas directly, so responsive layouts behave more predictably as you build. The change is mostly invisible, but the result is a more reliable and consistent editor.

Developer’s toolbox

Advanced tools for building your way.

WordPress 7.1 expands several of the APIs and tools developers use to build on WordPress, with new options for icons, automation, admin interfaces, and responsive styling.

The SVG Icon API is now a public API, allowing developers to register their own icon collections and icons and use them throughout the editor with functions such as wp_register_icon_collection(), wp_register_icon(), and wp_get_icon().

The Abilities API builds on the infrastructure introduced in WordPress 6.9 with a filterable execution lifecycle, custom validation, and shared discovery. These additions make it easier to build integrations and automation on top of WordPress, including AI-powered tooling.

A new Design System provides foundational support for theming WordPress admin interfaces, including color, roundness, and cursor styles. Developers can use semantic design tokens and the ThemeProvider React component to bring more consistency to custom admin interfaces while still feeling at home in WordPress.

Theme authors also get responsive styling and pseudo-state styling for hover, focus, focus-visible, and active states through theme.json, along with new filters for configuring the DataViews and DataForm screens that power Pages, Templates, Parts, and Patterns in the Site Editor.

Accessibility

WordPress 7.1 continues to improve accessibility across WordPress Core and the editor. New wp_get_tooltip() and wp_get_toggletip() functions bring accessible tooltips to more areas of the WordPress admin, including post meta boxes and the login screen.

Screen reader support also improves across admin interfaces, with clearer labeling and more predictable navigation in post list tables. The new Tab and Playlist blocks, along with improvements to editor navigation and interaction, add to the broader accessibility work included in this release.

Together, these changes continue to make WordPress easier to navigate and use for more people.

Performance improvements

Image compression, resizing, and thumbnail generation now run in the browser (via a WebAssembly build of libvips), reducing the processing load on your server and helping avoid memory limits and timeouts with larger uploads.

Opt-in GIF-to-video conversion produces typically smaller files, while upload progress indicators and automatic retries make uploads more resilient when connections drop.

The Media Library now uses infinite scrolling by default, with a per-user option to return to pagination. Speculative loading defaults can now be set through environment variables or constants, so hosts and site owners can configure how WordPress prefetches pages without writing a plugin.

And much more!

For a comprehensive overview of everything new and improved in WordPress 7.1, visit the feature showcase website.

Learn more about WordPress 7.1

Learn WordPress is a free resource for new and experienced WordPress users.  Learn is stocked with how-to videos on using various features in WordPress, interactive workshops for exploring topics in-depth, and lesson plans for diving deep into specific areas of WordPress.

Read the WordPress 7.1 Release Notes for information on installation, enhancements, fixed issues, release contributors, learning resources, and the list of file changes.

Explore the WordPress 7.1 Field Guide.  Learn about the changes in this release with detailed developer notes to help you build with WordPress.

The 7.1 release squad

Every release comes to you from a dedicated team of enthusiastic contributors who help keep things on track and moving smoothly. The team that has led 6.8 is a cross-functional group of contributors who are always ready to champion ideas, remove blockers, and resolve issues.

Thank you, contributors

The mission of WordPress is to democratize publishing and embody the freedoms that come with open source.  A global and diverse community of people collaborating to strengthen the software supports this effort.

WordPress 7.1 reflects the tireless efforts and passion of more than 800+ contributors from all over the world. This release also welcomed over 170+ first-time contributors! 

Together, their work delivered more than more than 1500 enhancements and fixes, helping make WordPress 7.1 a stable and polished release for everyone. It’s another great example of what the WordPress open source community can accomplish when people come together to build, test, and improve the software

1shiharaT · Aagam Shah · Aakash Verma · Aaron D. Campbell · Aaron Jorbin · Aaron Robertshaw · Abdalsalaam Halawa · Abdullah Ramzan · Abdur Rahman Emon · Abhishek Kumar · Achal Jain · Adam Silverstein · Adam Wood · Adam Zieliński · Adi Moldovan · adithyanaik · Aditya Singh · Adrian Duffell · adrmf25 · agulbra · Ahmed · Ahmed Kabir Chaion · ahuseyn · Aki Hamano · Akshat Kakkad · Alain Schlesser · Alan Jacob Mathew · Albert Juhé Lluveras · Alec Geatches · Alex Concha · Alex Cuadra · Alex Kirk · Alex Stine · alhrath · allilevine · Alvaro Gómez · Amber Hinds · Aminul Islam Alvi · Amit Joel · Amit Raj · Amjad Ali · Amy Kamala · Anastis Sourgoutsidis · Anders Norén · Andrea Fercia · Andrea Grassi · Andrea Roenning · Andrei Draganescu · Andrej Mernik · Andrew Duthie · Andrew Matia · Andrew Ozz · Andrew Serong · André Maneiro · Andy Fragen · Andy Meerwaldt · Anh Tran · Ankit K Gupta · Ankit Kumar Shah · Ankit Panchal · Ankit Patel · Anne McCarthy · Anne-Mieke Bovelett · Anthony Hortin · Anukasha Singh · Anup Kankale · Anveshika Srivastava · aperto · arcangelini · Ari Stathopoulos · Arischvaran Puvanesvaran · Arkaprabha Chowdhury · Armand MD · Arshid · Arthur Chu · Artur Piszek · Ashar Fuadi · aslushnikov · aswasif007 · atomiks · Aurooba Ahmed · avcascade · ayaz ahmed · ayushhoff · Azhar Ali · Azhar Deraiya · Azragh · BackuPs · Baikare Sandip · Barry · Bart Kalisz · Bayejid Ahmed · Ben Dwyer · Benedikt Ledl · Benjamin Grolleau · Benjamin Zekavica · Benoit Chantre · Bernie Reiter · Bero · bigdigital · Bigul Malayi · Birgir Erlendsson (birgire) · Birgit Pauli-Haack · Blake Bertuccelli-Booth · bluefuton · bobbingwide · Boro Sitnikovski · brad hogan · Brad Jorsch · bradshawtm · brajdas0022 · Brandon Hubbard · Brandon Kraft · Brandon Payton · brbrr · Brian Alexander · Brian Coords · Brian Gardner · Brian Haas · Brian Henry · Brian Hogg · Bridget Willard · brnhrst · Burhan Nasir · burnuser · Béryl de La Grandière · C83 · Camila Rayza Mendoza Vargas · Carlos Bravo · Carolina Nymark · CAT the Tech · cbirdsong · ccprog · cgastrell · Chad Chadbourne · Charalampos Papazoglou · Chillifish · Chouby · Chris David Miles · Chris Gresham-Britt · Chris Huber · Chris Lilitsas · Chris M. - a11n · Chris Zarate · chriscct7 · Christoph Daum · Chuck Grimmett · Ciprian Popescu · Clément Polito · Code Amp · codesmith32 · Cody · cogdesign · ColinD · collinr3 · Corey Worrell · Courtney Robertson · Cris Busquets · csabarakasz · cweiske · Dakota Chichester · Damianne P (a11n) · Damon Cook · Dan Luu · Dan Zakirov · Dani Guardiola · Daniel Bachhuber · Daniel Richards · dannyreaktiv · Darin Kotter · Darren Ethier (nerrad) · Darshit Rajyaguru · Dave Whitley · David Aguilera · David Arenas · David Baumwald · David Biňovec · David Bowman · David Cavins · David Levine · David Shanske · David Smith · David Stone · Dean Sas · Deepak Gupta · Deepak Kumar · Deepak Prajapati · Deepak Rohilla · Denis Žoljom · Dennis Heiden · Dennis Ploetner · Dennis Snell · deoladev · Deryck · Devanshi Joshi · Devasheesh Kaul · Dharmesh Patel · Dhaval Kapadane · Dhrumil Kumbhani · Dhruvang21 · Dhruvik Malaviya · diegogarciarodrigues · Dion Hulse · dlind1 · Dominik Schilling · Douglas Henri · Drew Jaynes · Drivingralle · Dávid Szabó · eclev91 · Edith Allison · efc · Ehtisham Siddiqui · eishanoor · ekaterina92 · elfu98 · Eliot Akira · elizaan36 · Ella van Durpe · Ellen Bauer · Emmanuel Atsé · Enej Bajgorić · Eoin Savage · Eric · Eric Michel · Erick Wambua · Eshaan Dabasiya · Esteban · Estela Rueda · eurello · Evan Herman · Fabian Kaegy · Faisal Ahammad · Fakhri Azzouz · Felipe Velzani · Felix Arntz · Fernando Perrella · Fernando Tellado · Filippo Di Trapani · firdaus666 · Florence ANDROLUS · Francisco Leiton · Francisco Vera · Ga Satrya · Gabor Lippert · Gajendra Singh · galaxor · galois44 · Gareth Elwell · Garrett Hyder · Gary Jones · Gary Pendergast · Gaurang Sondagar · Gautam Garg · Gautam Mehta · Gaël Bonithon · Generosus · George Mamadashvili · Germán · gierand · gilmoursa · Glen Davies · Gopal Krishnan · Greg Ziółkowski · gregbenz · griffithchen · gschoppe · gubser · Guillaume G. · Gulamdastgir Momin · gusgomezpg · Gustavo Hilario · H. Adam Lenz · Habibur Rahman · hanneslsm · Hans-Gerd Gerhards · Hareesh S · Harish Tewari · harshbhonsle08 · Hasmukh Khemchandbhai Mistry · Hasnain Ashfaq · Haz · Henrique Iamarino · Hidekazu Ishikawa · Hilay Trivedi · Himanshu Pathak · Hit Bhalodia · Hrohh · Hugo · humanify · Huzaifa Al Mesbah · Héctor Prieto · iamchughmayank · iamraju · ianmjones · Ibrahim Riaz · iflairwebtechnologies · Iqbal Hossain · irozum · Isabel Brison · Ishika Bansal · Ishita · itsdavidmorgan · Jacob Smith · Jacopo Marrone (@tresorama) · Jadav Sanjay · jakeparis · jakub300 · James · James Giroux · James Koster · James LePage · James Monroe · Jamie Burchell · janpaulkleijn · Jarda Snajdr · jarekmorawski · jarodortegaaraya · Jason Adams · Jason Kenison · Jason Kytros · Jason LeMahieu (MadtownLems) · Javier Arce · Javier Casares · javorszky · Jay McPartland · Jaydip · Jean-Baptiste Audras · Jean-Sébastien Mansart · Jeff Chi · Jeffrey Carandang · Jeffrey de Wit · Jeffrey Paul · jeflopo · Jenny Dupuy · Jeremy Felt · Jeremy Herve · Jeremy Ward · jeryj · Jessica Lyschik · jigangz · Jigar Bhanushali · Jigar Kahar · Jigar Panchal · Jignesh Bhavani · jillq · jimgrey · Jina Parekh · JiveDig · jjlmoya · jnbg · Job a11n · Joe Dolson · Joe Fusco · Joe Hoyle · Joe Maller · Joe McGill · Joen Asmussen · Johannes Jülg · John · John Blackbourn · John Hooks · John James Jacoby · John Parris · John Watkins · Jon Surrell · Jonathan Bossenger · Jonathan Desrosiers · Jonny Harris · Joost de Valk · jordesign · Jorge Costa · Jos Velasco · Jose Varghese · Joseph Scott · Joshua Dwire · Joshua Wold · joshualipstone · Juanfra Aldasoro · JuanMa Garrido · Julie Moynat · Juliette Reinders Folmer · Justin Tadlock · K. Adam White · Kamran Abdul Aziz · Kamrul Hasan · kannanravi · Kapil Paul · Karan Makani · Karthick · Karthikeya Bethu · katag9k · Kathryn Presner · Kausar Alam · Kaushik Domadiya · Kavit Trivedi · Kavya Gokul · Kelly Choyce-Dwan · Kelly Hoffman · keoshi · Kerry Liu · Kevin Fodness · Kevin Robles Gamboa · Khokan Sardar · Khokan Sardar · Khushal Sain S · Khushi Patel · Kim Coleman · Kira Schroder · KJ Roelke · Kjell Reigstad · Kleis Auke Wolthuizen · Knut Sparhell · Koen Van den Wijngaert · KokkieH · Konstantin Obenland · Kostas Vrouvas · Krupa Nanda · Krystian · kuber8821 · kubiq · Kushagra Goyal · Kyle Mott · Lakshyajeet Singh Goyal · Lance Willett · landwire · leemon · Lena Morita · levinmedia · liaison · Lisa Canini · Lisa Schuyler · LOOS · Louis Wolmarans · Lucas Mendes · lucasbustamante · Lucian R. · Ludwig You · Luigi Teschio · Luis Martins · luisdavid01 · luisherranz · luismulinari · Luke Carbis · mabdelbari · Madhavi Shah · madhazelnut · Madhu Dollu · Maggie Cabrera · Mahammad Darvishov · MahdiAli Khanusiya · Mahesh Patel · Mainul Hassan · Mainul Kabir Aion · Makarand Mane · maksymmamontov · Malay Ladu · manfcarlo · Manhar Barot · Manish Dhorepatil · Manuel Camargo · Manzoor Wani · Marc · Marco Ciampini · Marcus · Marcus Kazmierczak · Marin Atanasov · Mario Santos · Marius L. J. · Mariusz Szatkowski · Mark Howells-Mead · Mark Uraine · Marko Ivanovic · Marty Helmick · Mary Hubbard · Maryam Sultana · Mateus Machado Luna · Matheus Zimmermann Galdino · mathijsvdbeek · Matias Benedetto · Matias Ventura · Matt Mullenweg · Matt Shaw · mattbolt · Matthew Boynes · Max Schmeling · maximebj · Mayank Tripathi · Md Abul Bashar · MD ISMAIL · Md Rashedul Islam Chowdhury (Ric) · Md. Aminul Islam · mdviralsampat · Mehraz Morshed · mehtadev · Mehul Gohil · mgol · Micha? Dudak · Michael Adams (mdawaffe) · Michael Etokakpan · Michael Iseard · Michael James Ilett · Michal Iwanow · Miguel Fonseca · Miguel Lezama · Miguel Torres · Mikael Korpela · Mike Jolley · Mike Selander · Mikey Binns · Mikin Chauhan · Milana Cap · Milind More · mimi · Minal Diwan · Mir Monoarul Alam · Miroku · Mitchell Austin · Mohammad Jangda · Mohammad Risad · Mohammad Rockeybul Alam · Mohammed Kateregga · Mohammed Noumaan Ahamed · Mohd Salman · Mohit Sharma · Moksha Shah · Monzur Alam · Moses Cursor Ssebunya · mrwweb · Mukesh Panchal · Mukesh Parihar · Mustafa Bharmal · mutuajose · MythThrazz · Nabhishek Singh · nadabulija · Naman Khare · NANI SAMIREDDY · Naresh Bheda · Nate Finch · Nathan Rodrigues · Nazmul Asif · Nazmul Hosen · Nebojša Jurčić · Ned Zimmerman · nendeb · Nick Diego · Nick Halsey · Nick Murray · nickpagz · nickthegeek · nicolasalarconrapela · nicsevic · Nik Tsekouras · Nikul Valani · Nikunj Hatkar · Nilambar Sharma · Nilesh Shiragave · Niluthpal Purkayastha · Nimesh · Nirav Sherasiya · Noah Allen · Noelle Ackermann · Noruzzaman · notnownikki · obliviousharmony · oldenwilde · Olga Gleckler · OllieJones · Omar Alshaker · onetrev · Ov3rfly · Ozgur Sar · Paal Joachim Romdahl · Pablo Honey · Pamela Ribeiro · pankaj.sakaria · Parin Panjari · Parth vataliya · Pascal Birchler · Patrick Lumumba · patrickwclanden · Paul Bearne · Paul Biron · Paul Kevan · paulgibbs · Paulo Trentin · Pavan Patil · pavelevap · pavloborysenko · Pedro Figueroa · Peter Wilson · petermolnar · petitphp · Phil Johnston · philhoyt · physalis · Pieterjan Deneys · Piyush Patel · poligilad · pontocinza · Pooja Kakkad · porg · postphotos · Prachi Garg · Pradeep Pasam · Praful Patel · prajapatvishnu · Pranjal Pratap Singh · pranjal4804 · Prasad Karmalkar · Prashant Baldha · Prathamesh Bhagat · Pratik Jain · Pratik Nawkar · Pravin Karmur · Prem Tiwari · Presskopp · Priyanka Gusani · ProjektIsle · Q · Rachel · Rafael Della · Rafael Funchal · Rafał Gazda · Rahul Kumar · Rahul Tank · Rajdip Tank · Rajesh C · Rajin Sharwar · Rakeesh Falke · Rami Yushuvaev · Ramon Corrales · Ramon James · Ravi Chudasama · Ravi Gadhiya · Ravi Khadka · Rejaul Alom Khan · Renatho · reneyap · retrofox · Rezwan Shiblu · Riad Benguella · Rian Rietveld · Rich Tabor · Rinkal Pagdar · Rishabh Gupta · Rishit Gupta · RITHESH S · Ritoban · Robeen · Robert Anderson · Robert Ghetau · Robert Jolly · robertabela · Roberto Aranda · Rodrigo Primo · Rohit Mathur · Rolf Allard van Hagen · Rolle Laukkarinen · Rolly Bueno · ronakganatra9 · Roshni Ahuja · Rushikesh More · Rutvik Savsani · Ruud · Ryan · Ryan Welcher · Saad Ur Rehman · Sabbir Ahmed · Sabbir Hossain · SACHINRAJ CP · Sagar Deshmukh · Sagar Jadhav · SAHIL NAZIR · Sainath Poojary · Sajjad Hossain Sagor · Saksham Sharma · Sam · Sampat Viral · Sana Yasir · Sandip Sinh · sandipmaurya2611 · SAndrew · Sanket Parmar · Sanyogg Shelar · Sarah Norris · Sarath E · Sarosh Aga · Sarthak Nagoshe · Saul Fougnier · saulirajala · Saulius Vikerta · Saulo Padilha · Saxon Fletcher · Scott Kingsley Clark · Scott Reilly · Sergey Biryukov · Seth Rubenstein · Shail Mehta · Shailesh Gajare · Shane Muirhead · Shashank Shekhar · Shatrughan Myatra · shaunandrews · Shazzad Hossain Khan · shekharnwagh · Sheri Grey · Shreya Shrivastava · Shreyas Ikhar · Sidhant Tomar · siliconforks · Simon Duduica · Simon Wämmerfors · simonhammes · slackticus · slywy · smerriman · Sneha Patil · snehal Kashid · Soham Patel · Sonali Prajapati · Sorin · Sourav Pahwa · Soyeb Salar · spacergif · speedwheel · Sphere Plugins · sruthi89 · SteelWagstaff · Stefan Pasch · Stefan Velthuys · Stephen Bernhardt · Steve Dufresne · Steve Jones · Steven Lin · Steven Ryan · strarsis · styankov · Sukhendu Sekhar Guria · Sumit Bagthariya · Sumit Singh · Suryakant Upadhyay · Swanand M · swapnil1010 · Sybre Waaijer · Synchro · szandman · Sérgio Gomes · Sören Wünsch · Taco Verdonschot · tainacan · Taisa - Raquel García Arévalo · Takashi Irie · Takashi Kitajima · Takshil Kunadia · Tammie Lister · tbclark3 · Terence Eden · Tetsuya Imamura · thelmachido a11n · thinkaquamarine · This Is My URL · threadi · Thrive Engine · tibi.buzdugan · Tim Nicholson · Timi Wahalahti · Timothy Jacobs · Tobias Bäthge · Tobias Zimpel · tobifjellner (Tor-Bjorn “Tobi” Fjellner) · Tom Rhodes · Tomoki Shimomura · Tonya Mork · Toro_Unit (Hiroshi Urabe) · TorontoDigits · tpaw · tratnikm · Troy Chaplin · Tung Du · Tushar Bharti · Tushar Patel · Ugyen Dorji · Umesh Nevase · up1512001 · upadalavipul · Utsav Ladani · Vara Rahul Rajana · Vedansh Mishra · Vedant Ere · Vedant Gandhi · Velda · vgnavada · Vicente Canales · Viktor Szépe · Vincent Bodart · Vinit · Vishit Shah · vishnu prajapat · vivekawsm · vortfu · Vraja Das · Vrishabh Jasani · WebMan Design | Oliver Juhas · webVerts · Weston Ruter · whaze · Will Skora · williampatton · wongjn · WPExplorer · wpsoul · xate · Xavier Borderie · xavilc · xerpa43 · Xristopher Anderton · Yan · Yash Jawale · Yogesh Bhutkar · Yui · Yuliyan Slavchev · Yusuf Mudagal · Zebulan Stanphill · Znuff

More than 20 locales have fully translated WordPress 7.1 into their language making this one of the most translated releases ever on day one. Community translators are working hard to ensure more translations are on their way. Thank you to everyone who helps make WordPress available in 200+ languages.

Last but not least, thanks to the volunteers who contribute to the support forums by answering questions from WordPress users worldwide.

Get involved

Participation in WordPress goes far beyond coding. And learning more and getting involved is easy. Discover the teams that come together to Make WordPress and use this interactive tool to help you decide which is right for you.

by annezazu at August 19, 2026 11:33 PM

WPTavern: #230 – Adrian Sticea on Navigating the Decline of WordPress Work on Upwork and the Rise of New Opportunities

Transcript

[00:00:19] Nathan Wrigley: Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.

Jukebox is a podcast which is dedicated to all things WordPress, the people, the events, the plugins, the blocks, the themes, and in this case, the decline of WordPress work on Upwork, and the rise of new opportunities.

If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.

If you have a topic that you’d like us to feature on the podcast, I’m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox and use the form there.

So on the podcast today, we have Adrian Sticea. Adrian has been working in the WordPress space since 2013, starting out as a developer for small companies. Then moving into freelancing, agency roles in the US, major projects at IBM, a, stint at StellarWP, and extensive work with enterprise level clients.

Most recently, Adrian’s post on LinkedIn about the dramatic drop off in WordPress work through the Upwork platform, went viral, sparking many conversations and comments.

I suspect that many WordPress professionals listening have seen shifts in their freelance workloads, and maybe wondering what’s behind these changes. And Adrian is here to share his own data-driven account.

He talks about his experience using Upwork as a primary source of project leads. How for years it was a reliable fountain of work, but recently the flow has all but dried up.

We dive into the possible causes, the impact of AI making developers more efficient, and thus reducing hiring demand, changes in the broader economy, increasing competition from rival platforms, and how the nature of WordPress work itself is changing.

Adrian mentions the difference between simple website builds, which are still in demand on Upwork, and complex plugin or enterprise projects, which he thinks might have migrated elsewhere.

We also talk about diversification, whether it’s a mistake to rely on just one marketplace for freelance work, and the importance of building real relationships, collecting testimonials, and seeking recommendations. Adrian shares how he’s pivoted, leveraging LinkedIn for networking, connecting directly with agencies, and building partnerships with recruiters and temp agencies.

If you’ve ever felt your freelance pipeline shrink, are curious where the most interesting WordPress work has gone, or want to hear how other professionals are adapting to marketplace shifts, this episode is for you.

If you’re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you’ll find all the other episodes as well.

And so without further delay, I bring you Adrian Sticea.

I am joined on the podcast by Adrian Sticea. Hello, Adrian.

[00:03:34] Adrian Sticea: Hey.

[00:03:34] Nathan Wrigley: Very nice to have you with us. Adrian is joining us today because of something that he posted on LinkedIn, which captured my attention.

I’m not a frequent lurker on LinkedIn, and so I don’t really know how the algorithm works. But Adrian and I have, as far as I know, not been in communication with each other before. But, Adrian’s post went really viral, I think it’s fair to say, and it certainly caught my attention and got into my feed.

And it’s all about the state of work in the WordPress space at the moment, particularly through a particular platform. And we’ll get into that in a minute, though. Adrian, if it’s okay with you, do you want to just tell us a little bit about your backstory? What it is that you’ve been doing these many years and so on?

[00:04:15] Adrian Sticea: Sure. I started working as a WordPress developer in 2013. I worked for a couple of small companies, local companies that needed kind of customer support, and also web development. And after that I started doing freelancing for about two years. I moved to the US in 2016, that’s when I started to look around for better paid jobs.. And I started working as a WordPress developer for a digital marketing agency, and I did that for, about a year and something.

In 2018, I joined IBM to work on one of their WordPress projects. I think it was the largest WordPress one that they had at the moment. Basically it was a learning platform, and the courses were about technology, programming and other stuff. I left IBM at end of 2020 because of multiple factors, and I started doing freelancing.

I freelanced for about three years and after that I joined StellarWP, where I worked in the marketing department as one of their web engineers. And I worked there for about a year and a half. And at start of 2025 I started doing freelancing again. And since 2018, I mostly worked with enterprise-level companies and more complex work than just building websites.

That’s the stuff that I’ve been doing for the past.

[00:05:40] Nathan Wrigley: Thank you for that, and all of that really plays into what we’re going to talk about because, what I’ll do is I’ll link to the post that Adrian wrote, which kind of went viral on LinkedIn. And the first thing you’re probably going to capture is there’s a graph at the bottom, and it’s a line graph, and it’s not pleasant to look at this line graph. Because it starts off and there’s this blue line and it’s fairly high up on the on the axis and it moves across horizontally. And it just goes along and along and then it just starts to tail downwards until finally, it hits the axis and it basically zeros out.

And so I caught sight of that and I thought, “okay, that’s interesting.” And then caught sight of the word WordPress, you know, and you being a WordPress developer, and then noticed that this was the volume of work that you had been receiving. And we’re talking about volume of work coming through a particular platform. The platform is called Upwork.

Now, I confess I don’t know a lot about Upwork, so we can get into that in a moment. But essentially, it looks like from the year 2015 through 2020, more or less everything that you did, bar a couple of percent, maybe 5% in some years and what have you, was through the Upwork platform. And then by the year 2022, 20% of that had been shaved off, so down to 80%. A year later, 2023, 60% and then 40%. And then in this year, 2026, 0%. And I caught sight of that and I thought, “okay, we’ve got to talk about this,” because there’s a lot of interest in the WordPress space at the moment.

So do you just want to just run us through your journey with the kind of work that you’ve been doing through Upwork and, you know how it’s tailed off? And then maybe we can get into the discussion about perhaps why this is happening.

[00:07:32] Adrian Sticea: Sure. Just to preface, I had periods of time where I worked on Upwork just part-time, not as a full-time freelancer because I had jobs here and there.

[00:07:43] Nathan Wrigley: Ok, yeah yeah.

[00:07:44] Adrian Sticea: And I was actually calculating this morning how much time I was full-time freelancing and full-time on a job, and it was kind of split in half. So basically, half of my professional career was spent as a freelancer, and the other half was doing part-time. So if I had a job, I will search for other avenues to get a bit more revenue in. And also I didn’t like the idea of just relying on one source of income.

So I always had running in the background, the project, a couple of hours here and there or, a week or a project a month that doing. And that graph represents the number of basically of leads and projects that I got from Upwork over the years.

[00:08:28] Nathan Wrigley: Okay.

[00:08:28] Adrian Sticea: Even if it’s full-time or part-time, basically that was kind of the lead source that I primarily used.

[00:08:34] Nathan Wrigley: And so what we’re seeing, I guess is you, like many people in the WordPress industry, you’ve taken the approach that, subscribe to a bunch of these, I’m going to call it a marketplace, you know.

[00:08:47] Adrian Sticea: Yes.

[00:08:48] Nathan Wrigley: Something like that, where you subscribe to this marketplace and it can bolster what it is that you do already. So maybe you’ve got a 50% gig somewhere where you’re part-time and you need something to top that up. Or it may be that, come to rely on it, and it genuinely has been 100% of the income that you’ve accrued in particular years.

But how do you explain though, the fact that it has kind of just gone down? Because to me the obvious explanation, and it’s a fairly, you know, this is the kind of explanation which is being rolled out everywhere at the moment, is AI. Simply because it seems to coincide so perfectly with the advent of AI.

Now, I don’t know if you’ve got any thoughts beyond that, you know really the graph takes a massive turn in the year 2023, 2024, sometime there. And that seemed to be the moment at which, the kind of work that many of us have done in the past perhaps was getting done by AI. And if not getting done by AI, people at least had intuitions that there would be a future in which that work could be done by AI.

So that’s my first pass at this. Do you think there’s anything in that whole AI debate, whether or not it’s captured the kind of work that you may have got from Upwork?

[00:10:06] Adrian Sticea: I think the answer is more complex than just blaming AI for everything that is happening in the marketplace right now. Definitely AI plays a role because it made developers more efficient in shipping code, shipping features and stuff that clients need.

But I don’t think it’s only reason because if you work with clients and stuff like that, you’ll know a client will pay you to do a work. They will not go themself, even if it’s with AI, do the work. So because of it, because AI it’s making developers build faster, the need for developers decreased. That’s one of the reasons behind it. If you want to blame AI for anything, it’s that it made developers faster.

[00:10:55] Nathan Wrigley: Okay, that’s an interesting one. So the work in your experience anyway, the work is still there, it’s just the expectations of the clients maybe have gone up. So instead of wanting X amount of work, they may want 1.5X or 2X or whatever it is, or perhaps have it delivered in less time or something like that.

[00:11:12] Adrian Sticea: I think it’s a fair assumption. But also probably market, the way that the economy is right now, I don’t think it’s in a good shape. And also one of the factors. Like, if you look at the number of layoffs, a lot of companies in the tech sector, ’cause I think this was more affected than others, happened in the past three years.

[00:11:35] Nathan Wrigley: Yeah that’s true. Yeah.

[00:11:36] Adrian Sticea: But AI most likely was an accelerator of that just because. And before 2022, a lot of companies needed engineers to support the demand for people staying at home. And after they didn’t need that demand, a lot of layoffs happened and AI came along. And just it was basically a perfect storm for massive layoffs ’cause you had engineers that can deliver more work, and you didn’t need that many engineers because the demand was not there anymore.

[00:12:09] Nathan Wrigley: I suppose the other thing we should bring into question is the popularity of WordPress as an avenue to gain work. So for example, I don’t know, probably 2018 feels like a good place to point the needle. 2018, WordPress couldn’t be more popular.

[00:12:30] Adrian Sticea: Yeah.

[00:12:30] Nathan Wrigley: It was just really really super popular, everybody was talking about it. It was an exciting place to be. Lots and lots of work. Lots of companies getting in and investing in all sorts of bits of WordPress.

[00:12:41] Adrian Sticea: Mm-hmm.

[00:12:42] Nathan Wrigley: Whether that was the community or getting plugins built, and shipping them and all of that kind of stuff.

[00:12:46] Adrian Sticea: Yes.

[00:12:47] Nathan Wrigley: And so I wonder if maybe that plays into it. You know these companies, who require websites to be built, or projects to be built. I wonder if they’ve cast their gaze elsewhere, and so that reservoir of work in the WordPress space on the Upwork side has dried up a little bit.

[00:13:03] Adrian Sticea: Yep definitely today there are more options than there were in 2018, like with the rise of Wix, Squarespace, other page builders. Definitely, made people that just wanted websites built, like presentation websites, simple stuff, not rely on WordPress. Because to be honest, WordPress out of the box is not that user-friendly for building a website as the other competitors are. Because you still, or at least before the full site editing was introduced. But even then, it’s a steeper learning curve than other page builders in a sense.

But where I see the deep is actually in newer projects rather than legacy ones, where companies that used WordPress to build their infrastructure, at least web infrastructure on. Because newer builds probably rely more on AI than on WordPress, and that’s kind of basically the, where the market shifted.

But again, like if companies used to build, because I see this in the clients that I serve. Not one of them that I worked with probably the past two to five years said like “Let’s remove WordPress from our web assets and just build it with AI,” because they understand the value of it, and also like technical debt and what actually maintaining software means so.

[00:14:23] Nathan Wrigley: Do you think then there might be a realignment? Let’s say you’re a fairly large company and you’ve got WordPress website as you just described, you’re willing to let go of that. You’ve got so much stuff in there and legacy, and all of your staff know how to use it and what have you.

Do you think though, perhaps we’re in an era though where the experience that somebody with 20 years building on top of WordPress could bring, would make them an absolutely invaluable asset? You know, you’ve got John Smith over there, he’s done 20 years of really hardcore WordPress development, and therefore he’s the person that we’re going to reach out to, or at least, if he comes through a platform like Upwork, that’s really credible.

I wonder if we’ve entered an era where, and I’m going to use the word vibe coding, we all know that’s fraught, and not really the right term to use, but I hope you get what I mean. I wonder if it’s now that people are questioning that, and thinking more like, do we really need John Smith with his 20 years of experience at $250 an hour? Or could we hire somebody with half the experience, a quarter of the experience, who charges a quarter of the rates? And if we factor in that it might take a little bit longer, but they’re going to use AI along the way. Do you know what I mean?

[00:15:39] Adrian Sticea: Yes.

[00:15:40] Nathan Wrigley: I’m just sort if that that kudos that your experience used to bring you. I wonder if that’s being brought a bit lower in people’s estimation of importance when they’re hiring.

[00:15:50] Adrian Sticea: I think it might. But again like I think the answer is more complex than yes or no. And I think it all depends on what part, or role, the website or web assets that were built on WordPress is valued by the company.

So if it’s really important thing, probably they will not think about redoing it using AI. If it’s not that important, because I saw this, if it’s not that important it’s just probably a brochure website. It doesn’t do a lot. It doesn’t bring in. It’s just for visibility. Some of them they move to, again, like probably Framer or they just vibe code it.

[00:16:29] Nathan Wrigley: So given all of that, and we’re pontificating and guessing why.

[00:16:33] Adrian Sticea: Yeah.

[00:16:34] Nathan Wrigley: And the truth is we don’t really know.

[00:16:36] Adrian Sticea: Exactly, yeah.

[00:16:37] Nathan Wrigley: We’re putting our finger air and kind of trying to figure it out. However, given that we don’t know, what we do know is that this line chart that we can see, of yours has gone really in a very different direction. Flat lining for years, lots and lots of work available, and now kind of like nosedive, and then more recently fell off a cliff. And so does that mean that you are struggling to find work? Or does it just mean that you’ve pivoted and that work in a different way?

Does it mean that the Upwork platform, I don’t know, is no longer aligned to WordPress, or just doesn’t have WordPress as a priority? How can you explain it, and we’re talking about Upwork in particular.

[00:17:20] Adrian Sticea: Yes.

[00:17:21] Nathan Wrigley: How can you explain it happening in that way over on that platform specifically?

[00:17:26] Adrian Sticea: One of the things that happened, it was probably saturation of a marketplace. That’s one.

And the other thing is that different competitors are on the market right now, outsource companies and more like, just to put it in perspective, most of my clients, probably 95%, are US-based clients, are not somewhere in UK or somewhere in Eastern Europe, or somewhere in other places that are still needing WordPress work done. And the type of projects that I’m looking for are not websites, basically. They are complex builds, plugin builds and kind of regular maintenance that people need. If they have legacy code base that they need maintenance, or adjusting rule or a code rebuild and stuff like that.

So those kinds of projects are not there anymore. You can still find work in building websites on WordPress, or having small gigs. But the type of project that I used to get on Upwork, like I said, like pretty complex builds are not there anymore. And my read it’s like I said, it’s more complex. Probably it’s a market.

[00:18:40] Nathan Wrigley: So, there’s a particular kind of work that you used to get in Upwork which has dried up? And the, let me just understand that correctly. So just the website building side of it, did you say that was still okay? know if you’re just trying to hawk your service as a website builder, that’s fine. But the kind of “I need a plugin,” or, “I’d like a plugin adapted,” or what have you, that kid of stuff has gone away?

[00:19:06] Adrian Sticea: So most stuff that are more developer focused are kind of dried up. At least in the US, because I’m not looking outside of US. So the US market shifted away basically from Upwork towards probably different competitors of them. Or using like temp agencies, or recruiters that pre-vet their developers before they are presented with a candidate they can have a discussion with.

[00:19:33] Nathan Wrigley: Okay. So I’m thinking immediately of things like Codeable and things like that, where they’ve just got a slightly, maybe they’ve got a slightly different approach, I don’t know?

[00:19:40] Adrian Sticea: Yes, Toptal I think also they pre-vet their developers. And also like I said, temp agencies like Robert Half or, I don’t know, whatever tech systems that are here in the US. Basically you have a discussion with the recruiter before being presented to a potential project. It’s a different workflow basically. Because of it, it presents a better candidate than Upwork can present to a client.

[00:20:04] Nathan Wrigley: Okay, so that’s interesting. So we’re apportioning some of the responsibility for this on the platform and the way the platform works and what have you?

[00:20:14] Adrian Sticea: Yes.

[00:20:15] Nathan Wrigley: And so, you know one of the things that we constantly talk about in the WordPress space is owning your own stuff. So for example, rather than posting stuff onto Facebook, write it on the WordPress blog, and then if Facebook goes out of business, or somehow decides that your account needs to be closed, you’ve still got access to it.

[00:20:31] Adrian Sticea: Mm-hmm.

[00:20:31] Nathan Wrigley: And so I’m going to flip that into this conversation and say that sort of seems like potentially what’s happened here to you with Upwork. Presumably over the years, you’ve fostered a relationship with Upwork, and built up your kudos over there, and at some point presumably Upwork recognized that, “Oh, this Adrian guy, he’s really good. Look, he’s getting loads of work. Let’s push Adrian,” and so on and so forth.

Do you have any regrets about putting the eggs into that one basket? Now that you’ve got to the point where the line has hit zero and there’s no work coming through? Do you wish that you’d have been on a variety of, maybe you have been, but do you wish that you’d been on a variety of different marketplaces? Or is it just, “Okay, this has happened. I didn’t think it was going to happen. Time to move on and try the different marketplaces”?

[00:21:19] Adrian Sticea: I think not only me, but people usually are nearsighted, so they don’t think long-term. So whenever I started on Upwork, it was pretty easy to get clients because you don’t have to pay a fee, or you don’t have to go to events, or meet people in person, which for developers is pretty hard, at least for me. I’m a pretty introvert person. Going, mingling around with other people, it’s not something that I look forward to do.

[00:21:46] Nathan Wrigley: Yeah, I get it.

[00:21:46] Adrian Sticea: Or it’s something that it’s in my skill set. Over the years, I got better and better because I’ve worked with clients and became more confident in my skills and stuff like that. But Upwork presented a easier way to get clients, and that’s kind of the appeal of those kind of marketplaces, because you don’t have to go outside of your comfort zone. You just have a keyboard, apply for a different bunch of gigs, and you can get accepted or not.

Just to put it in perspective, probably half of the work that I’ve done was only through messaging back and forth, not even interacting with a real person, which for a developer is really appealing.

[00:22:28] Nathan Wrigley: No kidding, yeah.

[00:22:29] Adrian Sticea: It’s easier in a sense because, again, like it’s easier. But to be honest, the larger projects that I took on Upwork, or outside of Upwork needed that human touch. Like meeting with the client, talking about your skills, how you will approach the project and all of that. So they can gain confidence that you are competent enough to take their work.

So that’s kind of the reason why I got into it. If I have any regrets of it, of course, because if you leave that, you are basically handcuffed to that platform if you want to get more work. Because you don’t have any contacts outside, and also, it doesn’t produce any referrals.

So if a client is satisfied, the maximum that they can do with it, is just leave you a good review because they are so scattered around, they don’t have any other contacts that you can get recommendations from. So basically, for all the clients that I had, I didn’t get recommendations altogether. Probably just one in the past 10, 11 years.

[00:23:32] Nathan Wrigley: Okay.

[00:23:33] Adrian Sticea: That’s not good for long term, because you rely on constant getting new and new work from different clients. It’s not sustainable in a sense, because you have to focus yourself on delivering the work, but also getting the work, instead of building a network of clients that can supply that work for you, and recommend you to their friends and other of their peers.

[00:23:56] Nathan Wrigley: Yeah, I suppose a lesson to be learned, with the benefit of hindsight, is to spread yourself around, but also go looking for those kind of recommendations, and ensure that people endorse you and maybe even write you an email or something that you can put away somewhere and kind of have a bank of credible testimonials and so on and so forth.

Now, the piece itself on LinkedIn got quite a lot of commentary. I have to confess, I didn’t go reading all of the different comments that people had put in. But did you get a sense that the people that were commenting had had a similar experience from you? Or do you feel that you’re in some kind of unlucky, unhappy valley that nobody else over on Upwork is experiencing?

[00:24:37] Adrian Sticea: No, I think I talked with agency owner, that most of their work comes off of Upwork, and they said they didn’t get any. Actually, this was the post that inspired me to write this. They didn’t get any work this month or in July from Upwork, even though they constantly applied. And one of the things that he said, it stood up was that, if they increase a bit their prices, they will not get any responses.

So basically, probably the market became more sensitive on spending. And because of the rise of AI, you can say that AI commoditize more development than it used to be. So it’s not just a me thing. I think it’s a general.

[00:25:24] Nathan Wrigley: So it is more broadly across the platform there. So fees you brought up, that’s interesting. I wonder if people are playing a bit of a wait and see game, and just keeping that money in their own bank account just to see how the landscape changes. Maybe this heralds a change in the industry which is going to stick for a while where the fees that people such as yourself can charge are going to be driven down, because less work seems to be available, so people are going to be more sensitive to the cost of it, and the competition will be greater and what have you.

[00:25:53] Adrian Sticea: Yeah.

[00:25:54] Nathan Wrigley: I guess only time will really tell. Yeah.

[00:25:57] Adrian Sticea: And also most likely is, the fact that AI commoditize programming in a sense. They are not the same number of WordPress projects that are started now. And they use, I don’t know, whatever AI is better on building with, which is like JavaScript-based stacks. And that’s probably the new directions where the new projects are going to rather than WordPress.

[00:26:25] Nathan Wrigley: Okay, so just before we wrap it up then, let’s move to this point, which is that, no matter how much you inspect all of this, and out what’s going on, and the reasons behind it. I guess the bottom line is you’ve got to do something.

Maybe you’re perfectly all right, and you can take this hit from the Upwork platform and that’s absolutely fine. You’ve got other irons in the fire. But I’m guessing the next question’s pretty obvious, which is what are you doing to shore up this considerable loss of income? What’s the plan that you’ve got going forward? You may not have a fully hatched plan, in which case your best guess is fine. But I’m curious to know what your idea is to keep your irons in the fire and to keep the through put of your business up.

[00:27:07] Adrian Sticea: Just to put in perspective, my income didn’t decrease because of Upwork. So I’m pretty good, I’m in a pretty good shape. The thing is that I shifted away from relying on it, and trying to get, work through other avenues. And one of the other avenues that I am expanding on right now is basically LinkedIn, and it’s not.

[00:27:27] Nathan Wrigley: You’re suceeding.

[00:27:29] Adrian Sticea: I’ve succeeded on getting viral, yeah.

[00:27:33] Nathan Wrigley: That’s the first step, isn’t it, in a way?

[00:27:35] Adrian Sticea: Yeah, exactly, yeah. So I took three different approaches on LinkedIn. One was to post content, to see if I get any interaction with potential clients. I did get a couple of leads from that, and I get some gigs from it.

The other one is actually talking directly with agency owners that build websites, but from time to time they have a need for either adjusting a legacy code base, or building something more complex that they don’t have in-house tools for. So I started building those relationship, and I do work with couple of different agencies that I they provide work for me from time to time.

And the third one is talking with recruiters from temp agencies. So I build couple of relationship with some of the big temp agencies, and whenever they have a project that it’s my lane, they contact me first basically, and I get to talk directly with the client, and they decide if they want to work with me or not.

[00:28:34] Nathan Wrigley: So in a sense, although there’s this cautionary tale of, gosh, this whole thing dried up, the bigger picture is that actually the whole thing didn’t dry up. There are different ways of getting the same work. In your case, you just had to be a bit creative for a few months, and start to talk in different ways to different people.

[00:28:51] Adrian Sticea: Yeah, and also another thing is that I needed to start thinking a bit more long term rather than one-off projects, not one-off projects, but just thinking that one source of leads will basically provide whatever I need every month budget-wise.

Also this is how business used to work. Like you went, you interacted with a person, and they give you a business or not. Not chatting with a person on the other end of the world, and they give you work.

So basically, fostering those relationships are more beneficial, and to be honest, they pay better than clients on Upwork. And you get into the cycle of recommendation, and you don’t, it’s less work for you to get clients than it is on Upwork, but it takes longer to build those relationships.

[00:29:46] Nathan Wrigley: Right. And that’s a really interesting observation, isn’t it? Because essentially the advice that you’re giving there is as old as the hills really, isn’t it? You could have had that same marketing advice in like 1930s.

[00:29:56] Adrian Sticea: Exactly.

[00:29:57] Nathan Wrigley: Which is, go out, find people who you can work with, build up a longstanding credible relationship with them, and then the next time they need a bit of work, which hopefully they will, you’re going to be the first person who they’re going to call.

But it’s curious how we’ve all fallen into, and I’m just doing air quotes, “the trap” of having these platforms around you know, like Upwork. It just allows you to very easily get work here, there, and everywhere. And it’s only at the point when that starts to dry up for all the reasons that we discussed that you realise, okay, gotta pivot a little bit. But it’s great to hear that in effect, it’s had no impact on your bottom line. It’s just meant that you’ve had to pivot, do things slightly differently, go outside, get out of the office and go and interact with people in the real world.

[00:30:46] Adrian Sticea: And again, like the projects that I was able to get outside of Upwork are for better clients that I did on Upwork. It’s not that I didn’t work on interesting projects on Upwork. It’s that the opportunities that can lead after the work is completed for those clients are bigger than the opportunities that you get from working on, for clients on Upwork.

[00:31:08] Nathan Wrigley: Oh, I see. Okay, so the long tail of work, you know, let’s say that you land a client and they build website in the year 2026, maybe they’ll need an upgrade in 2028, and they’ll need some modification in 2027 that you’re the person to do it.

Yeah, whereas Upwork is more here today, gone tomorrow. Disposable thing, you finish it, move on, another thing, another thing. And that’s worked for years, but maybe that system, certainly for you at least anyway, is drying up and you’re trying out other things, which I hope you are successful with. I guess that’s the perfect place to, to call it a day.

[00:31:40] Adrian Sticea: Mm-hmm.

[00:31:41] Nathan Wrigley: Honestly Adrian, all the best of luck. I know that when you put that post out, it must have been, it’s hard to write that kind of stuff, isn’t it? Because it demonstrates that in some way you’ve had to modify things and that things have been a struggle. But it’s nice to hear that you seem to have got a handle on it.

[00:31:58] Adrian Sticea: Yes.

[00:31:58] Nathan Wrigley: And I would wish you the best for the future.

[00:32:00] Adrian Sticea: Thank you.

[00:32:00] Nathan Wrigley: If anybody wanted to reach out to you, because we have a fairly large audience, and I wouldn’t be surprised if one or two people out there were going through something very similar, where’s the best place to reach out to you? I can obviously link to your post on LinkedIn.

[00:32:14] Adrian Sticea: Yes.

[00:32:14] Nathan Wrigley: And people can click on the link and contact you via that. But is there any place you hang out online?

[00:32:18] Adrian Sticea: Yeah, mostly LinkedIn. And if you want to check my website out, it’s CustomWP.io. That’s kind of my avenues of contacting me and that’s about it.

[00:32:28] Nathan Wrigley: Okay. I will put that into the show notes. So if, dear listener, you’re listening to this, head to the episode with Adrian in it. Probably by the time you listen to this it’ll be one of the first two bits and pieces on the WPTavern.com website. Go and click into the show notes and all of the links will be buried somewhere in there.

So, Adrian Sticea, thank you so much for chatting to me today. Good luck with the future.

[00:32:50] Adrian Sticea: Thank you.

On the podcast today we have Adrian Sticea.

Adrian has been working in the WordPress space since 2013, starting out as a developer for small companies, then moving into freelancing, agency roles in the US, major projects at IBM, a stint at StellarWP, and extensive work with enterprise-level clients. Most recently, Adrian’s post on LinkedIn about the dramatic drop-off in WordPress work through the Upwork platform went viral, sparking many conversations and comments.

I suspect that many WordPress professionals listening have seen shifts in their freelance workloads and may be wondering what’s behind these changes, and Adrian is here to share his own data-driven account. He talks about his experience using Upwork as a primary source of project leads, how, for years, it was a reliable fountain of work, but recently, the flow has all but dried up.

We dive into the possible causes. The impact of AI making developers more efficient (and thus reducing hiring demand), changes in the broader economy, increasing competition from rival platforms, and how the nature of WordPress work itself is changing. Adrian mentions the difference between simple website builds, which are still in demand on Upwork, and complex plugin or enterprise projects, which he thinks might have migrated elsewhere.

We also talk about diversification, whether it’s a mistake to rely on just one marketplace for freelance work, and the importance of building real relationships, collecting testimonials, and seeking recommendations. Adrian shares how he’s pivoted, leveraging LinkedIn for networking, connecting directly with agencies, and building partnerships with recruiters and temp agencies.

If you’ve felt your freelance pipeline shrink, are curious where the most interesting WordPress work has gone, or want to hear how other professionals are adapting to marketplace shifts, this episode is for you.

Useful links

Adrian’s post on LinkedIn

CustomWP

Upwork

Toptal

Codeable

by Nathan Wrigley at August 19, 2026 01:00 PM

Matt: Surprise DM

When I saw the Slack notification preview, “Matt, I’m literally crying right now,” I must admit my first reaction was “Oh no, what happened…”

Matt, I’m literally crying right now. I just read the Baby & Caregiver Attendance policy that Automattic will fly your baby and whoever is caring for them to be with you at a meetup while you’re breastfeeding.

Everyone talks about closing the gap for women in the workforce after kids. This is the first time I’ve seen a company actually pay for the answer. ❤😭

I don’t think you hear this enough, so I want to say it plainly: thank you, THANK YOU. Forever grateful.

Stephanie Ospina also posted about it on LinkedIn. This benefit isn’t even on our public benefits page! From our Field Guide post revisions I found it was added in 2018 by Ingrid Miller of our Human Wrangling team, and it’s a great example of the care and effort they put into shaping what we call the Automattic Operating System.

by Matt at August 19, 2026 06:44 AM

August 18, 2026

Matt: Student Plan

Sarah Perez at TechCrunch writes: WordPress.com targets the next generation of web creators with a free student plan. $24/yr, starting with “6 GB of storage, backups, staging sites, and other tools, as well as support for plug-ins, SFTP/SSH, phpMyAdmin, and Studio Sync

by Matt at August 18, 2026 02:13 PM

Open Channels FM: How AI is Transforming Open Source Communities and Digital Innovation

In this episode of Open Web Conversations, Adam Weeks chats with Nate Stewart on AI's transformative impact on open source. They explore challenges, opportunities, and the evolving role of agencies as digital experiences shift in the AI era.

by Bob Dunn at August 18, 2026 11:10 AM

August 17, 2026

Open Channels FM: Are We Forgetting Our Human Skills Thanks to AI?

AI tools are amazing for getting stuff done, but could be losing basic human skills like handwriting and critical thinking. Let’s not forget to practice these essential abilities as we embrace the digital age.

by Bob Dunn at August 17, 2026 12:16 PM

August 15, 2026

Gutenberg Times: WordPress 7.1 arrives at WordCamp US, Abilities API for developers, and a new theme for Gutenberg Times and more — Weekend Edition #373

Hi there,

Before you read any further, another security updates needs your attention: WordPress 7.0.4 is out. Update now! ⚠

You might have noticed, that the Gutenberg Times website has a new theme. It’s built on top of the Twenty Twenty-Five default theme. I started working on it last year, but was pulled away by other priorities. Then AI Enablement weeks arrived and I started to use all kinds of different AI tools for design and WordPress. None of them were really good at block themes at first. Then Telex got me close and I used it for my Block theme workshop. As the final stack I used WordPress Studio with the new AI Agent (Beta) and Claude. Both competently used theme.json and block markup for patterns, template and template parts.

The biggest hurdle, and that’s why it took multiple trials, was that the podcast data wasn’t block-theme ready so I had to build a plugin that handles all the block bindings and assembles them into templates. The plugin is in the WordPress repository (still beta), if you are interested. During the process I used Claude and WordPress Agent skills. Between November 2025 and August 2026 the quality of Claude’s work has improved considerably and it produced much more robust code. The deployment to GitHub and WordPress repository was a breeze. Take a look at the new podcast page. All feedback is welcome!

The WCUS program team announced great keynote speakers:: Bo English-Wiczling, PayPal, Loyal Pyczynski, Disney and Meta, Amanda Ventura, Waymo and the fireside chat w/ Matt Mullenweg round up a fantastic roster of speakers and topics. If you can make it get your ticket now. And I see you on the WCUS Livestream! 🎉

Have a great weekend!

Yours, 💕
Birgit


Developing Gutenberg and WordPress

WordPress 7.0.4 shipped as a security release fixing a single vulnerability: an authenticated remote code execution via malicious file upload, affecting sites running Imagick with Ghostscript, responsibly reported by the team at pwn.ai. Release lead John Blackbourn notes the fix is being backported all the way to the 4.7 branch and into the 7.1 release candidate. If your site doesn’t update automatically, head to Dashboard → Updates and click Update Now.


Release day falls on the last day of WordCamp US, and Justin Tadlock’s August roundup of what’s new for developers tells you what to test in the days that remain: responsive block styles with theme-configurable breakpoints, pseudo-states for Buttons and Navigation Links, the now-public SVG Icon API, and the always-iframed post editor. He also flags the change most likely to quietly break something — post list table row headers moved — and notes React 19 is punted again.


Joe Dolson tallies 88 accessibility enhancements and bug fixes in WordPress 7.1, 45 in core, 43 in the editor. Highlights are the new accessible tooltips API, post list tables that identify rows by title instead of checkbox, a decorative toggle for the Image block, and stronger focus indicators throughout. He’s equally candid about the known regression: the Media Library’s infinite scroll is an inaccessible pattern, and the note walks you through three ways to turn it off.


Just in time for WCUS Contributor Day, JuanMa Garrido released v1.0 of the WordPress Contributor Toolkit. Your first Core contribution no longer starts with installing Git, Node.js, and Docker — this desktop app handles it all. After running the setup wizard, contributors can link a Trac ticket, apply and test existing patches on a running site, then open a pull request, attach a patch, or hand their work to a mentor. If you are heading to Phoenix and want to join the Core table, download it and create your first site before Sunday, so you can hit the ground running.

48 fixes for the small annoyances that add up: Ella van Durpe opened a round of Block Editor Paper Cuts for the WordPress 7.2 cycle. The list spans big tasks like rethinking appenders and inserters, writing-flow improvements, and long-standing bugs — pasting from Excel, Safari selection quirks, multi-block selection on iOS. Nine items are already done and several more have PRs in progress, so if one of these papercuts has been bugging you, now’s the time to test or comment.


Jeff Paul opend the call for volunteers for WordPress 7.2 release squad. The release is scheduled for December 9th, 2026. That’s of course, still preliminary.

Plugins, Themes, and Tools for #nocode site builders and owners

Elliott Richmond pulled fourteen WordPress 7.1 features from the Source of Truth and tested every one hands-on against the release candidate for his latest video — no speculation, no reciting release notes. You’ll see responsive styling controls, custom breakpoints in theme.json, hover, focus and active states, the new Icon, Tabs and Playlist blocks, the media editor modal and the mark-as-decorative accessibility option. Thirteen earn a genuine thumbs up; the one mixed verdict only asks you to think backwards for a bit.


Image processing moves from your server to the browser in WordPress 7.1, and Carlo Daniele’s rundown of client-side media processing, design tools, and the Abilities API for Kinsta explains what that shift means: libvips compiled to WebAssembly produces images roughly 15% smaller while cutting server CPU and RAM. He also covers rich-text Notes with @mentions, the Playlist and Tabs blocks, four new Abilities API lifecycle filters, and the design tokens plugin developers can use to style admin screens.


Do custom field builders need to worry about WordPress 7.1? Lua Nguyen answers for the Meta Box community with a look at what’s new and how it affects Meta Box users. The always-iframed editor is the big one — Meta Box blocks already run on Block API v3 with modal-based editing, so you can upgrade without changes. Client-side media processing covers the Image fields automatically, and editable blocks inside Custom HTML give developers finer control over what clients may touch.


WooCommerce 11.0.1 arrived as a security and compatibility dot release, and Brian Coords lists what’s inside: a stronger, salted hashing scheme for guest session cookies, sanitized notices in Cart and Checkout blocks, capability checks on image matching, onboarding and Marketplace endpoints — plus faster logging that cuts checkout latency on stores with large log backlogs. It also readies the Orders list for WordPress 7.1’s changed list-table markup, so update your stores before August 19.

Theme Development for Full Site Editing and Blocks

Your hero area looks gorgeous on desktop and clunky on a phone — a scenario Eric Karkovack solves in his walkthrough on how to hide WordPress blocks based on device. He builds two versions of the hero, then uses the Block Visibility controls from WordPress 7.0 to hide one on mobile and the other on desktop and tablet — no plugin, no custom CSS. A neat companion piece to the responsive block styles arriving in 7.1.


WordPress uses “patterns” for two related but different things, and Gina Lucia sorts them out in her guide to WordPress patterns vs reusable blocks — the latter renamed synced patterns back in WordPress 6.3. Regular patterns become independent copies once inserted; synced patterns stay connected, so one edit updates every instance, with partially synced overrides for things like team member cards. She also draws the line between patterns and templates and shows you how to save your own.


 “Keeping up with Gutenberg – Index 2026” 
A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. 

The previous years are also available:
2020 | 2021 | 2022 | 2023 | 2024 | 2025

Building Blocks and Tools for the Block editor

If your plugin styles the post list table or expects a non-iframed editor, WordPress 7.1 has surprises in store. Jonathan Bossenger spent a livestream testing the developer-focused changes from our Source of Truth ahead of release day: responsive per-viewport block styles, hover, focus and active states, the admin bar rendering as a block, the Playlist and Tabs blocks, and the reworked Notes with mentions. He flags a gradient-over-background-image bug live and shares migration notes for both breaking changes.


One npx command scaffolds the whole plugin — from there, Emre Ekener‘s six-step tutorial on building your first custom Gutenberg block from scratch has you shipping an editable CTA block with heading, description, and button. Along the way you’ll learn what actually matters: attributes in block.json, the split between edit.js and save.js, RichText for inline editing, and InspectorControls for sidebar settings. As he puts it, the complexity scales, but the structure stays the same.

Ai and WordPress

You configure an AI provider once, and every plugin on the site can use it — no keys in plugin settings, no provider lock-in. Team WPShout’s developer guide to the AI connectors and wp_ai_client_prompt() covers where credentials live, why environment variables beat the database (keys there sit unencrypted), and builds a complete post-summarizing plugin whose actual AI work takes five lines. The gotchas section warns you: core ships no spend limit, so gate every feature behind the support checks.


Greg Ziółkowski‘s walkthrough of the Abilities API in WordPress 7.1 covers the three areas the release fills in: an execution lifecycle you can observe with actions and steer with filters, a shared preparation layer that turns canonical schemas into portable Draft 4 copies for REST and AI clients, and discovery filtering in wp_get_abilities() by category, namespace, and metadata. Each extension point comes with a working code example and the trade-offs he’d weigh before reaching for it.

Need a plugin .zip from Gutenberg’s master branch?
Gutenberg Times provides daily build for testing and review.

Now also available via WordPress Playground. There is no need for a test site locally or on a server. Have you been using it? Email me with your experience.


Questions? Suggestions? Ideas?
Don’t hesitate to send them via email or
send me a message on WordPress Slack or Twitter @bph.


For questions to be answered on the Gutenberg Changelog,
send them to changelog@gutenbergtimes.com



by Birgit Pauli-Haack at August 15, 2026 04:10 AM

August 14, 2026

Open Channels FM: Is Digital Fame Really the Same as Traditional Celebrity?

Fame has evolved from traditional celebrity status to digital prominence, where online figures may lack universal recognition. Digital fame offers influence but is often more situational and fleeting.

by Bob Dunn at August 14, 2026 09:38 AM

Open Channels FM: Mozilla, Alibaba, and WordPress Headlines Reflect Changing Definitions in AI and Open Source

Open Channels News discusses Alibaba's Qwen AI model's commercial restrictions, Mozilla's view of AI as community-driven infrastructure, a critical WordPress update, and highlights from the upcoming WordCamp US.

by Bob Dunn at August 14, 2026 09:33 AM

August 13, 2026

Matt: Me.sh on Android

TechCrunch on how Me.sh (née Clay) is now available on Android. Also, kudos to those other Clay folks for winning the Clay memetic namespace dominance.

by Matt at August 13, 2026 07:12 PM

WordPress.org blog: Introducing the WordPress Browser Extension

The official WordPress Browser Extension is now available for Google Chrome and Chromium-based browsers in the Chrome Web Store and for Safari on macOS in the Mac App Store. This new open source extension lets logged-in site users easily hide the admin bar while keeping its most helpful shortcuts in the browser toolbar, provides quick access to all of your WordPress sites, and adds helpful tools for developers and content creators.

Decorative screenshot of the new WordPress Browser Extension

By default, the admin bar sits at the top of every page you view while signed in to WordPress, keeping the dashboard, the editor, and your profile within reach. That convenience carries a cost: the bar occupies the viewport, so the page on screen is never quite the page a visitor sees. On sites doing more interesting things with the viewport, such as sticky headers or scroll-driven effects, it can introduce artifacts that send you hunting for a bug that is not there. Further, the admin bar can sometimes grow unwieldy as plugins add their own features and shortcuts to it. Switching it off in your profile settings trades one problem for another, because the shortcuts leave with it.

That problem was the spark for the creation of the WordPress Browser Extension. The extension hides the admin bar on the sites you choose, or everywhere by default, and keeps the most commonly used shortcuts one click away. Bringing the full bar back takes two clicks and no trip to the dashboard. What began as a fix for that one tradeoff grew into something broader: a way to recognize WordPress wherever you find it on the web, to jump into your own sites from anywhere, and to carry a small set of tools for testing and review.

Hide and show the WordPress admin bar from the new extension menu.

As you browse, the toolbar icon shows whether the current site runs WordPress and whether you are signed in, without being obtrusive. On a site you manage, opening the extension reveals shortcuts to the dashboard or to the editor for the exact post, page, taxonomy, or template in view, including template-backed pages that open in the Site Editor on block themes. A locally stored launcher remembers the sites you sign in to, so they stay available even when you are somewhere else entirely.

A few tools also turn out to be a better fit for the browser than for a WordPress plugin. The extension can draw block boundaries over the rendered page, open a phone-sized preview window, reload with cache busting, or clear cookies and local storage for the site you are on. Some of that is hard to do from inside a site, and none of it requires a plugin or any other software installation, so the same tools are available on every WordPress site you visit.

A screenshot of WordCamp.org in Safari with the WordPress Browser Extension open and the developer tools expanded.

All of this happens on your device. The extension reads the page in front of it to work out what it is looking at, and when it needs more than the page can tell it, it asks the site. Your preferences, and the list of sites you sign in to, stay in your browser. Nothing is sent anywhere else, and there is no tracking or analytics of any kind.

The extension began as an independent project and became an official project with active support from Matt Mullenweg. Notable contributors include Fabian Kägy, a core contributor and colleague at Fueled (formerly 10up), who helped shape much of its early design and architecture, and Khokan Sardar who contributed multiple patches. Several other Fueled colleagues provided comprehensive testing and influenced its final shape.

You can follow along with its development on its GitHub repository, where bug reports and pull requests are welcome.

by Jake Goldman at August 13, 2026 04:29 PM

Open Channels FM: OpenWALDO’s AI Transparency and AT&T’s Cost-Saving Smart Router in Focus

Open Channels News discusses OpenWALDO's launch, promoting true AI openness through transparent data sourcing, and AT&T's shift to open models for cost savings and AI sovereignty.

by Bob Dunn at August 13, 2026 11:17 AM

August 12, 2026

WordPress.org blog: WordPress 7.0.4 Release

WordPress 7.0.4 is now available

WordPress 7.0.4 is now available which features a security fix. Because this is a security release, it is recommended that you update your sites immediately.

You can update to WordPress 7.0.4 by downloading it from WordPress.org, or visiting your site’s Dashboard → Updates and clicking Update Now. Sites that support automatic background updates will begin updating shortly.

For more information, please visit the WordPress 7.0.4 HelpHub site.

Security update included in this release

The security team would like to thank the team at pwn.ai for responsibly reporting the following vulnerability and allowing it to be fixed in this release:

  • Authenticated Author+ remote code execution via malicious file upload on sites that use Imagick and Ghostscript.

Backports

As a courtesy, these fixes are being backported through to the 4.7 branch and the 7.1 RC3 release that’s due later today. As a reminder, only the most recent version of WordPress is actively supported. The backports are in progress and will ship as they become ready.

CVE and GHSA references

Further details can be found in the advisory: CVE-2026-65640 / GHSA-8vr3-7mxf-gx8w.

Thank you to these WordPress contributors

This release was led by John Blackbourn, with significant input from Dennis Snell and Jeremy Felt. In addition, WordPress 7.0.4 and its backports would not have been possible without the valuable contributions of the following people:

Aaron D. Campbell, Aaron Jorbin, Adam Silverstein, Aki Hamano, Alex Concha, Barry, Dennis Snell, Ehtisham Siddiqui, Jeremy Felt, John BlackbournJon Surrell, Jonathan Desrosiers, Lance Willett, Marin Atanasov, Mohammad Jangda, Sergey Biryukov, vortfu, Weston Ruter, and representatives from WP Engine.

by John Blackbourn at August 12, 2026 02:45 PM

Open Channels FM: Rediscovering the Joy of Human-Made Logo Design in Personal Projects

Choosing a hand-drawn logo crafted by an artist infuses your site with warmth and personality. This personalized touch celebrates creativity and connection, making every visit feel special and authentic. It's a joyful expression of individuality.

by Bob Dunn at August 12, 2026 01:51 PM

WPTavern: #229 – Amy Kamala on Art, Tech, and Open Source: A Journey Through WordPress and Community

Transcript

[00:00:19] Nathan Wrigley: Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.

Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case, what draws people into the work of open source projects.

If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.

If you have a topic that you’d like us to feature on the podcast, I’m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox and use the form there.

So on the podcast today, we have Amy Kamala.

Amy’s journey into tech is anything but conventional, starting with a master of fine arts from UCLA, and a passion for art that eventually bled into, and was overtaken by technology. Since 2018, she’s been an active contributor to WordPress, serving multiple teams such as the Hosting and Core Teams.

Her career zigzags through key roles at DreamHost, InMotion Hosting, Pantheon, Canopy Studios, and local government. Picking up everything from technical support and web development, to managing teams of designers and DevOps staff. Along the way, Amy has organised WordCamps, led teams, and is currently being sponsored by Elementor for her open source work.

Today’s conversation gets into the chaotic, creative, overlap between art and tech and how those different mindsets can feed one another, especially in the world of WordPress. We talk about the blend of creative and logical thinking needed in web development and why skills like user experience, curiosity, and even willingness to fail publicly can set you apart.

We then turn to contribution. What draws people to volunteer in an open source community? What Amy gets out of participating far beyond her paid hours, and the messy journey from being an eager helper to an essential part of the team.

She explains the unique feeling of the WordPress community, the importance of being welcoming to new contributors, and why being outgoing and not afraid to ask questions can be your biggest asset.

If you’ve ever wondered about the blurred lines between arts and code, why people throw themselves into volunteer work in the WordPress ecosystem, or what’s really at the heart of this global community, this episode is for you.

If you’re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you’ll find all the other episodes as well.

And so without further delay, I bring you Amy Kamala.

I am joined on the podcast by Amy Kamala. Hello, Amy.

[00:03:22] Amy: Hello. Thank you for having me.

[00:03:24] Nathan Wrigley: You’re very welcome. Amy was introduced to me by Jonathan Desrosiers, who’s been on this podcast many, many times before. I don’t exactly recall the nature of that introduction, but I’m very glad to have you on the podcast today. The intention really is to have a broad, wide-ranging, no-holds-barred conversation, I think about contribution, why people do it, and the community in general. So we’ll see where it takes us.

Amy, firstly, thank you for joining us, and I wonder if you wouldn’t mind just telling the listeners a little bit about yourself. Honestly, you can go in any direction you like with that. Maybe if you, I don’t know, bind it to WordPress or contribution or whatever it may be, that would be good.

[00:03:59] Amy: Thank you too. Thank you so much for having me. I’m happy to be here. So I’m from Venice Beach, California, and I’m actually an artist and my background is in art. I have a Master of Fine Arts degree from UCLA. But a lot of my artwork was supported by technology, and at some point, technology crossed over, took over, and now my technology is supported by artwork.

I’ve been contributing to WordPress since 2018. In 2019, I became a team rep for the hosting team, and I am now on my sixth non-consecutive year as a team rep. And this year I’m also a Core team rep, which has been really fun and I love working with both teams.

I started working in the tech industry in 2015 in social support for web host, DreamHost. I was there for about five years, a little bit less than five years. I worked my way up from social support to technical support to live chat, and then helped form a specialised WordPress support team. And I was taking escalations, training team members, devising and documenting team processes. And while I was there, I helped strategise and implement new WordPress products which made revenue in beta, and that was really fun. I got to work directly with the CEO and the VP of product, and I learned a lot doing that.

Then I left, and I became a tech lead at a web dev agency, and then the pandemic hit, and we all know how that went. And then in 2020, I started working for InMotion Hosting as their web development manager. I was responsible for over 23 online corporate assets, five web servers, multiple Jira projects, and also the supporting infrastructure, the DevOps pipeline, GitLab, so on and so forth. And I loved that. It’s actually, that was one of the best jobs I’ve ever had. They’re a great company. It was amazing working there. I had an amazing boss. Totally great. I still have friends from there, and from DreamHost for that matter. And DreamHost was also great. I have a special love in my heart for DreamHost. I’ve known those guys for a really long time.

And then I was recruited by Pantheon to be a solutions architect for their professional support team. That didn’t work out for me as I had hoped, and I left a little bit less than a year later and started being a web developer for my local government. Again, I was recruited. I didn’t pursue these jobs. I may have gone in a different direction if I had. And that was a year-long contract. It ended in the end of 2023, and I’ve actually just been freelancing ever since then. I have a contract with a company called Swishtech. They’re not a WordPress company. They’re not even a web development company. They are an AutoCAD. They train and sell AutoCAD software. And they’re great too. And I also am sponsored by Elementor to contribute to the WordPress open source project.

[00:06:58] Nathan Wrigley: Gosh, you really have done the whole lot, haven’t you? There’s just almost no stone that you haven’t turned over and looked at the underside of. That really is a fascinating story, yeah.

[00:07:09] Amy: Thank you. There is, I considered completely abandoning both of those careers, art and tech and going into psychology and becoming a therapist at some point recently over the past few years.

[00:07:22] Nathan Wrigley: Right, okay. Well I could definitely talk about that. There’s somebody very close to me in my family who does that kind of work.

Can I ask, this is a complete segue, the fact that you pursued art at such a high level tells me that there must be some yearning inside of you for that side of life, you know, the artistic side, the creative side and what have you. I’m wondering if there’s any bit of technology that satisfies that, or do you find that you have to go back to the art to sate that craving? Or are there creative pockets inside of tech that allow you to sate that sort of desire to be creative?

[00:08:00] Amy: So that’s a great question and very insightful of you. Yes, so in 2015 when I started working for DreamHost, I’ve known the founders and some of the managers of DreamHost since like 1999-ish. That’s a different story, but I had just finished grad school and I was kind of in a bad living situation and I just needed a job, any job. I didn’t care what job. And so I hit them up and I found like a entry-level social support, entry-level job that I qualified for. It’s pretty easy to qualify for that. Hit them up and said, “Will you recommend me for this job at your company?” And of course they did. I still went through the interview process and like did typing tests and so on and so forth. But that’s how I ended up.

So it was kind of just circumstantial that I started working in tech. And then once I was there, I tend to get really hyper-focused, and I really hyper-focused on my work at DreamHost on moving up and learning technical things. I’ve always kind of had an aspect of technical. When I was doing art, strictly art, just art, I was still doing technical things. In undergrad I got into, well, so I started, I learned HTML when I was like 18 years old in the year 2000. I was an HTML programmer. It was one of my first jobs. The other job, my first job was working at Venice Beach at one of the stores down there. But like first real job, HTML programmer for a web development agency and graphic design.

And then I went to undergrad and I did a lot of fine art, sculpture, video installations. And working with video is pretty technical. You’re using computers. I also learned Photoshop at Otis where I went to undergrad. I still use it. It’s like one of my primary mediums for making art. But working with video is pretty technical. You’re doing editing, you’re working on a computer, there’s definitely a technical aspect to it.

And I also, I had a boyfriend at the time who was doing web development, and so I started learning PHP and Perl. And I started using PHP as a tool to make my animations. I was making little animations at the time, and video art interactive. So I did some installations that utilised interactive elements that actually used web technology.

Then I was working at an animation studio on a Red Hat box. So I had to, I learned Linux, and I also was introduced to Avid which is a high-end, professional video editing software or film editing software. And then I was working at a film post-production facility where I was using DOS, which is Command Line. And also I was working in the tape room transferring tape formats from one to the other. It was pretty technical. And I was also helping their web team manage the online video assets, uploading and downloading with FTP and so on and so forth. So there’s always been an element of tech integrated in my art.

And to answer your question, working in tech primarily, there’s definitely an element of art that supports, that has supported my career in tech. UI/UX design and graphic design rely on the same fundamentals as fine art. Composition, colour, so on and so forth. And so my training there, and I have some, I don’t like doing graphic design. I, like, actually really hate it, but I do have some professional experience doing it. And that led me to be able to lead teams of designers and developers. At InMotion Hosting, I had five developers and three UI/UX designers on my team, who I was the manager of.

So it wasn’t just development that I was doing there. It was also user experience, very user experience-focused. And so my experience with art has definitely supported my experience with tech and vice versa.

Yes, there’s definitely a yearning that, you know, I wanted to do, I wanted to make weird, cute, maybe a little dark experimental films. And I haven’t been doing that for the past 10 years or so.

[00:11:54] Nathan Wrigley: I always think that the motto for WordPress is code is poetry. I think if you peel back the curtain on that just a little bit, obviously, it may be that you’re just trying to create a website, but there are creative ways of doing that. But also code code really does unlock something, but still it’s quite a logical thing. And I’ve always found those two things difficult to overlap. The sort of Venn diagram of logic meets creativity that, I don’t know how well they fit together. But it sounds from what you’re saying that you feel that the two things have married well in your career.

They’ve enabled you to do things because, I don’t know, maybe it’s thinking outside of the box or something like that. Your capacity to think differently to other people. But I’ve always found that curious. I’ve never had a particularly artistic grain of anything in me. I’m much more logical than I am creative. So I’ve always sort of struggled to see how those two things marry up.

[00:12:49] Amy: Oh, well, you know, that’s actually something that I’ve thought about a lot. And the too long, didn’t read, answer for me about that is, so art is experiential. It’s not about the object necessarily. It’s not even about your skills. It’s about creating an experience. The viewer, relationship between the viewer and the item that they’re looking at. Books, movies, music, all of that, it’s experiential. It creates an experience. And so do websites, so does software, so does using the software.

One of the reasons that Apple is so successful is because of the user experience, because they focus on it being an easy, intuitive, fast experience to use their products. And so when you think about it in terms of user experience, and in terms of just human experience, there’s a lot of crossover.

[00:13:41] Nathan Wrigley: When you worked at some of those companies that you mentioned, I presume that you were surrounded by lots and lots of people, in an office environment. So this question, I hope it lands correctly. I’m certainly not trying to put anybody in a box or stereotype anybody. But did there tend to be a fairly interesting split between the kind of character that you would find on the, I don’t know, making the website look nice, let’s say. You know, putting the pixels on the page, the design and what have you, and then the people who are writing the code in order to make those designs a reality.

I just wonder what, if there’s an aisle down the middle of those two camps where, okay, the artistic people, they’re all over there, look at them being artistic, and over there, there’s all the coders, look at them crouched over their computers being logical. I don’t know if there’s a there there, but I’ve always found that curious too.

[00:14:25] Amy: Well, it crosses over in web development. A lot of web developers are doing, as a web developer, you have to do CSS, SAAS, you have to style the front end. If you’re on a, you know, a big professional team, you’re going to have designers, and then you can just pull the styles from software. But if you’re on a smaller team, which, you know, the majority of people end up working at some point on very small teams or even, like, a one-person team, you do it. And so there’s quite a bit of crossover in web development.

In software development, you’re probably always going to have a bigger team, and so you’re going to need designers. But web development, there’s always web developers that like have a history in graphic design, have a history in UI/UX design that ended up also coding. And those designers don’t necessarily tend to be really great at like PHP and JavaScript, but they do tend to be phenomenal at CSS.

[00:15:18] Nathan Wrigley: Oh, interesting. Yeah, okay. Thank you. I took us on a total detour there. That was really not intentional, but it was kind of fun peeling back the curtain a little bit there.

[00:15:27] Amy: Well as a team lead, it really helps to know people’s strengths and talents, that you’re likely to have developers who are more logical and who, like, they can bang out some code. It’s going to function. It’s probably going to have all of the crosses and the dots and the so forth. But then you also have developers who are more visual, but they just kind of like ended up working in development. And that’s who you would want to tap to make something look really nice but still be functional.

[00:15:52] Nathan Wrigley: Yes. It’s a rare and wonderful thing when you encounter that character who can do all of it. I have a friend, a very dear friend who, it doesn’t matter what task you put in front of him, he just excels at all of it immediately. And it’s rare, you know, because there is this sort of, most poeple get into a niche, don’t they, and they become good at a particular thing. And as the world requires us more and more to be specialised in one thing or another thing, we do tend to lean into, I don’t know, I’m a CSS person, or I’m a PHP person, or I’m into JavaScript, graphic design or whatever it may be. And when you encounter that one character that can do literally all of it, I’m a bit in awe, frankly. Quite a lot of my jealous genes kick in and.

[00:16:31] Amy: That’s very interesting. I am the one character, you know, I’ve had my hands in, DevOps, system administration, but also design, art, user experience, accessibility, so on and so forth, which has served my career, you know, being a web development manager, it was absolutely necessary to have that range of skill set. But I will say that I don’t specialise in any of those things. I’m not like a, you know, JavaScript specialist or anything like that. I’m not the SMC on all of those technologies, but have a good umbrella overview that allows like cross-functionality.

I wouldn’t mind specialising in something like that, but I just haven’t really found a niche. I kind of ended up in leadership roles because I’m outgoing and chatty. And so that reads as leadership ability. And I’m good at organising. So those are some leadership skills. And so I kind of ended up, but I ended up in leadership roles before I had mastered anything other than like drawing and maybe video editing. And so in a way that’s been really good and it’s led me on this career path, and also in a way it’s been really bad because I’ve not been able to focus on any specific skills to excel in those. I guess I’ve excelled in team management.

[00:17:50] Nathan Wrigley: It sounds like you’ve not done too badly. It also sounds from, I mean I’m reading between the lines here, and forgive me if I’ve misconstrued what you were saying. It also sounds like from the go, since you finished your arts program, it sounds like you’ve been quite intentional. You know, when opportunities have arisen, the way you’ve described it makes me feel that you can sense an opportunity and you grasp it with both hands, and you’re willing to learn something which maybe last week you’d never heard of, but this week, okay, that’s a thing. Let’s give that a go. Again, forgive me if I’ve got that wrong, but it sounds like you’re quite a force of nature. Let’s go with that.

[00:18:23] Amy: Thank you. That’s correct. I love learning new things, new skills. I’m never like, well, I’m only going to focus, that’s part of it too. It’s a conscious choice to not focus on just one thing. I did at one point kind of like sit down and say to myself, we have to make a decision, art or coding? And I actually determined that I should just stick with tech, the technical end of things because that makes more money than art, even like with a full-time job.

[00:18:53] Nathan Wrigley: Yes. It is difficult, isn’t it, to become an artist in whatever field of art that may be. I think the chances of you making that work from an economic point of view are much more unlikely than they are.

[00:19:06] Amy: Well, I could tell you as a fine artist, I have made $0.

[00:19:10] Nathan Wrigley: Right. Okay. Well there you go. That puts it into stark relief. That gives us some idea.

It also sounds from what you’re doing that you’re on more of a journey than you are arriving at a destination. And what I mean by that is, it feels like maybe if I chatted to you in a decade’s time, who knows where you’re going to be. It’s more of a, this is where I am now. Tomorrow might present something entirely different. Again, I could have that wrong.

[00:19:32] Amy: No, I think that’s actually totally correct. I’ve kind of, I haven’t really been that intentional with my direction. I tried to be when I, you know, made a decision, art versus tech, to go with tech. Secondary decision, I had already decided to go with art and then, you know, switch careers. But at this point I don’t have, like I don’t dream to be a product manager or dream to be, you know, a coder or a specific thing, a software engineer.

I’m not quite sure to be honest. I do know that I love working in the tech industry, that I love working on teams, I love working on software, I love collaborating and focusing on user experience. And I even, I really actually, I loved being in technical support. Being social and chatty is both a blessing and a curse because my entire career exists because I’m outgoing and social and chatty, and I just randomly message people and start talking to them or randomly walk up to people. You know, and that’s how I ended up in all of it pretty much, and even working on releases.

And that’s also helped me to be able to do those roles because I will randomly message anyone and be like, hi, blah, blah, blah. So that really works to my benefit. But it also, like sometimes I say too much, or I definitely talk too much, way too much, way too frequently. And I might like be bothering people. And I’ll ask them. But at DreamHost, Kira Schroder and Mika Epstein both worked at DreamHost at the same time as me. And because I’m not shy and I am apparently not afraid to talk to people, I started messaging them and asking them questions. And not just them, but the other developers and leads, and the VP of product and so on. It helped that I already knew them, but just started asking them questions.

And also, being willing to be embarrassed and to look stupid is a huge plus because you learn a lot from making mistakes. If you make those mistakes in front of people, you’re going to remember. You’re going to remember the answer to those mistakes. And that’s kind of what I’ve been doing. I’ve kind of stumbled up, and asked a lot of stupid questions, which I’m still doing.

[00:21:46] Nathan Wrigley: I’m just going to interrupt you there very quickly because I love when I meet people who have no shame about failure. I’m being really serious. You know when you meet that character who literally doesn’t have the capacity to feel shame for their inability to do a thing that they’ve never done before? I don’t know, you see somebody who’s picked up a tennis racket for the first time and clearly can’t do anything useful with it, whatever it may be. Just imagine almost any scenario. But they are absolutely happy to do it in front of other people.

I know for me that’s not a gift I possess. I could be racked with sort of, oh, shame and all sorts of other things because I haven’t managed to achieve this level of competency out of the gate. And when I see people doing that, you know, failing willingly in front of other people, I’m always, always thinking, I really should be more like that.

Because I’m glancing around thinking, where are the people that are pouring scorn on them? And the answer is, they’re never anywhere to be seen. There’s nobody, generally speaking, looking and going, look at you. You messed up with the tennis racket. No, there’s just people looking going, oh, hang on a minute. No, what you need to do is this.

[00:22:58] Amy: Right, try this technique and.

[00:22:59] Nathan Wrigley: Right, people around to support. And yet I seem to have, that is a thing in me which I suspect I’ll take to my grave, to my great cost. So well done for being that characteristic.

[00:23:11] Amy: Thank you. Well, I do have shame and fear of, I don’t prefer to fail in front of, for example, 54,000 people in the Core Slack channel. But I’ve done it so many times at this point, I’m like, yeah, I’m going to. I’m going to. I’m going to learn and I’m going to do better next time.

Also in, way back in the day had a brief stint with performing. I was in a theater group, and one of the things that I learned in that theater group, and it really, really stuck with me, is that when you have an audience, the audience is rooting for you. They want you to win. They want you to succeed. They want to hear what you have to say. They want to see you do your whatever it is you’re there to do.

And so when you think about it, I have horrible stage fright, so this doesn’t fix my stage fright but it does kind of fix the mentality of like being embarrassed potentially, or being afraid of failing in front of people. But you go into a room to lead a meeting, or to do whatever it is that you’re doing and you are going to be nervous, but it’s inevitable that you’re going to mess up because you’re human. And to look at it in the way that like, I’m going to mess up and everyone’s on this journey with me and they support me and they want me to win, you know? We’ll fix it together, we’ll learn together, we’ll.

[00:24:23] Nathan Wrigley: We need more of that. Don’t know how many times I’ve preached that gospel to my own children, only to not be able to actually carry it on myself.

I’m going to pivot us slightly. I’m going to sort of draw us into the WordPress space because it’s a WordPress podcast after all. You found yourself in some fairly, I don’t know, important decision-making processes, sort of like contributing to Core and what have you. Can you just chart the journey for that? Like, how did you get to the point where you were contributing your own, presumably free time in some cases? Maybe it was on the company dollar, you know, maybe you were sponsored to do that. I think you implied earlier that that was the case. How did you end up picking WordPress and whichever team that you’ve spent most of your time in? Just chart that journey for us.

[00:25:04] Amy: So that leads us back to DreamHost. DreamHost back in the late, around 2017, DreamHost was, they’re a regular web host, and they were putting in a concerted effort to become a WordPress, a quote unquote, WordPress host. So they were looking into contributing and actively contributing to the project, you know, looking for more PR and marketing opportunities and being a sponsor, so on and so forth. And the hosting team, which has been my main team, was born directly of that.

The hosting team was originally a, primarily DreamHost / wordpress.org project. There have been many other hosts that have been involved. But primarily, at the very beginning, it was spearheaded dramatically by DreamHost and wordpress.org. And so DreamHost was telling its employees, hey guys, we want to be a WordPress host. Hop into WordPress Slack and go to meetings and, like, represent. So they weren’t offering to like any special contribution contracts or anything like that. They were just encouraging people to check it out and get involved in whatever capacity they felt inclined to.

And so I did. I hopped in the hosting channel. I went to a hosting meeting, and I wasn’t expecting this because I didn’t know at the time. I know now. So the hosting team originally was trying to do video meetings. The first meeting I went to was a video meeting, and I knew everyone in the room already. It was a bunch of DreamHost people, but there were also people from other web hosts who I knew from, you know, mutual contacts. So I knew everybody in the room already in one way or another, and so it was a very, very soft landing for me.

It was easy to get involved because I had an in with all those people and with the team reps. Kira Schroder was one of the team reps. It also helps when the people in the project are really friendly and welcoming. And that has been my experience, that the other contributors, the team reps, and the team leads are very welcoming. Might be a different story on the development end. But in terms of just being involved with community and team happenings, usually you’ll get a very warm welcome.

And certainly the hosting team, if anybody wants to hop in and contribute to the hosting team or participate as a team rep, we’re going to be very welcoming. We’re going to want you to come. We’re going to be encouraging. We’re going to help guide you. We’re going to be super patient and we expect confusion, questions, stupid questions, mistakes, and so forth because that’s just how it goes. And so having someone on the other end receiving you really can make all the difference.

So the contributors that are listening today that can receive new contributors, be as warm and welcoming as you possibly can be. And it does kind of take a lot of extra effort to guide people, but I think it’s worth it, and you build relationships and strong ties along the way. And you never know what that person can do and what they will do and how that later on benefits you.

So I got a really warm welcome. The hosting team didn’t even exist until I think it was 2017. 2018 I joined and started contributing. I became a team rep in 2019. And a lot of that is because I’m really outgoing, and I just was like blah, blah, blah-ing in the meetings all the time. And so that also makes me visible. In a remote, a fully remote space, I’m actually less chatty in person, although I think people would probably argue with that.

But it really, really helps to be outgoing and to jump in, like throw yourself in the fire. Throw yourself in the fire because you may or may not be thrown into the fire by someone else. It’s a really good way to learn. It’s very intimidating. I actually, I prefer more hand-holding onboarding than being thrown into the fire. But you can throw yourself into the fire in a gentle capacity. Like, hey, I volunteer to take team meeting notes, or volunteer to update some documentation. These are really kind of low-pressure things that you just need to know English, and how to type to do it. And, you know, it starts the ties between people and your presence in the project and so forth.

So I was really just hosting team for a very long time. At some point, I think it was, I joined Ladies of WordPress, I think the Slack community is, which is just like women who are involved in, women contributors basically, and befriended a couple people in that space. And one of those people I befriended was Francesca, or Francina is her Slack name, who is a Core contributor. I branched out and started going to Core meetings, like waving in at the new contributor meetings and so forth. I wasn’t quite as chatty in there because at the time it was like 30,000 people, which is a lot of people still. Now I think it’s 54,000 people in that channel.

So Francesca roped me in to, and I volunteered. You know, being not shy is really, really the key in this scenario. Being not shy led me to befriend people who then roped me into these projects, and I started contributing to Core, running release model working group meetings to kind of examine and improve the release process. And then at some point, so before every release, there’s a call for volunteers. And anyone can volunteer, you just need a wordpress.org account. Anyone can. And then of those volunteers, they form the release squad.

So I started volunteering. 5.6 is the first Core release that I was involved in. I was also working at InMotion Hosting at the time as a web development lead. And so I was working really, really, really long days. So I wasn’t quite as engaged in that release as I would have liked to been, or as I was with 6.9 and 7.0. But it was a good like backend release squad experience. And I learned a lot and made connections.

And the other contributors are really, really supportive. If you ask them for help, they’re going to help. And if they think you need help, they’ll offer to help even if you don’t ask. And so it’s kind of, there is some competition, and there is some criticism that happens, but for the most part everybody is really, really, really supportive.

So how I ended up being sponsored though, so I was joining from DreamHost on the clock. I was pretty much always working when I worked at DreamHost. I was working like these insane, like, 50, 60, 70 hour weeks. So I was pretty much always working. So I was joining on the clock. I was wearing many hats with them, and that was one of them. So I was not officially sponsored by them, but I do credit them as a past sponsor because of obvious reasons.

And thereafter I became a tech lead at a web dev agency called Canopy Studios. And they market themselves as being an open source contributor. They contribute to WordPress and they contribute to Drupal. And so they’re looking for their employees to be contributors, and they set aside three hours per week to contribute to your project. So they were sponsoring me for three hours per week. At the time I was doing way more than three hours per week. I was doing meetups, I was helping with WordCamp LA, I was helping with the Release Model Working Group, and I was a Hosting Team rep, and I was speaking at Camps.

So it’s a lot. It was really, like way more than three hours a week. But they, because of that sponsorship it kept me inclined to continue engaging with the project. And then InMotion Hosting had never officially sponsored a contributor, but one of my fellow hosting team reps was a developer at InMotion. That’s how I kind of ended up there. And so they were familiar, obviously they’re familiar with the WordPress project, and they’re familiar with contributing. I just straight up asked them if they would be willing to sponsor me. I was just like, hey, I do this thing. You guys want to use this thing for your marketing and PR, and how about you officially sponsor me? So they sponsored me for 10 hours a week. But again, I was working really, really long days, and I wasn’t able to fully dedicate myself to it as much as I would like to.

Also, that was around pandemic time. So the pandemic definitely affected my ability and everybody’s ability to contribute and engage. And then after that, I didn’t have a sponsor. I kept contributing because it was kind of like part of my thing. The Hosting Team had become special to me, and I guess that the element of me getting hyperfocused is probably key also to why I might contribute for free. Because I like will get involved in something, and then it becomes important to me, and I’m focused on it, and I’m going to carry it probably, hopefully carry it through whether I’m paid or not.

So I wasn’t sponsored for a while there. And then in 2023, I did a talk at WordCamp Europe. So I have family that lives in Israel. My brother lives in Israel. That context is important for this story. But WordCamp Europe that year was in Greece. I had been to Greece before. I love Greece. It’s like one of my favorite places. I’m going buy a house on an island there someday. But Greece is really close to Israel, so after WordCamp Europe, I went to Israel and visited my family.

Before WordCamp Europe, I had done some podcasts and written some articles, and in those conversations, at some point it was brought up that I’m Jewish, and Jewish American, obviously. And I don’t know any other contributors that are Jewish. At that time, zero. I didn’t know a single one. I thought there weren’t any. And Jews are a world minority, so there aren’t that many that I know of, but there are a few.

So somebody directed me to Miriam, Miriam Schwab, who is, I didn’t even care who she was. I was like, yay, I get to make a new friend. But she’s the community manager for Elementor. And so I contacted Miriam trying to make a new friend. I was like, yay, another Jewish person that I could be friends with that contributes to WordPress. Little did I, I didn’t even, like I knew what her job role was, but it never occurred to me that Elementor might want to sponsor me, or that they’re looking for contributors to sponsor or anything like that.

And so she invited me when I was in Israel to go to their headquarters, you know, meet their CEO, be shown around, meet other staff members, play on their, in their little old school arcade and so forth. And I was there like, yay, I’m making new friends. Totally naive completely to the fact that there was any professional interest whatsoever, which was silly. I was just so excited to make a new friend, or multiple new friends. And so then Miriam started talking to me about sponsoring me, and that’s how I ended up being sponsored by Elementor. So really kind of what you said, like a very unintentional chain of events that sort of just ended up working out the way it did.

[00:35:47] Nathan Wrigley: Yeah, looking back, there’s a thread there, isn’t there? But it’s only with the benefit of hindsight looking back that you can probably see the thread. On a day-to-day basis, it probably doesn’t quite feel like that. Are you currently sponsored by Elementor? Are you, in fact, are you sponsored by anybody currently? Yeah, okay.

[00:36:00] Amy: I am. So I’m sponsored part-time, 10 hours a week by Elementor. And again, I’ve been spending way more than 10 hours per week. So if anyone wants to sponsor me on top of them, please contact me.

[00:36:10] Nathan Wrigley: Can I ask about that though. Why? I mean the question is probably obvious to you, but I don’t know on what level you’ve inspected that part of you. Obviously there’s a why. You’ve alluded to it. You know, there’s friendship there and there’s habit, and you’ve been accustomed to it and, you know, you like being in that community, and the people there are nice.

But just sort of drawing the veil back a little bit more. Why do you give more time than your allocation, let’s say, from Elementor? Why does the 10 hours not stop on the clock like you would do for a regular job? You know, 5 o’clock winds along and exactly 5 o’clock you put your tools down, and you go off, and you go home, and what have you. What do you get out of it? What’s the thing that is satisfied by this?

[00:36:49] Amy: Well, so it’s part personal and part professional. So I tend to not draw clear boundaries when it comes to work. I tend to like, if my shift is over, but the task isn’t complete, I will finish that task. Depending on, you know, details and so forth. So I guess there’s a bit of a level of dedication that maybe doesn’t even need to be there, but that’s fueled me in a lot of ways.

Why do I contribute to wordpress.org specifically, even if I’m not paid? I do find it personally meaningful. Working with other people, making new friends, contributing to something bigger than me, participating in something bigger than me, giving to the world in one way or another, I find that personally meaningful. And it’s kind of kept my life a little bit more full and more rich over the past eight, nine years. And so it brings value to me in that way.

I have friends of a decade now from, you know, engaging with WordPress. It’s led me to jobs, and it’s led me to other opportunities and to meet really interesting people. And so there is a personal element to that for me personally. And I think that probably a lot of people also, maybe if somebody is more of an introvert, they might not have that same level of benefit that I, as not an introvert, have. Because I get a, the personal connection benefit and the meeting people is really rewarding to me.

But there’s also a lot of professional benefit being a team lead. We don’t say team lead, we say team rep, but it is a leadership position. So leading a team for a major software project has been pretty beneficial to getting jobs, getting opportunities, and just kind of a general professional portfolio. The Hosting Team is a bit of a red-headed stepchild and is kind of like quiet and nobody really knows that it exists. Except for maybe recently because of me talking about it. And it has been for a long time.

It started to blow up a lot, like way back in 2020-ish, 2019, 2020. And the pandemic kind of really threw a wrench in that. And then some other things over the years have also thrown wrenches in that. There was the whole hosting page debacle, and rift between .org and web hosts, that’s still currently affecting. So the Hosting Team is pretty, pretty quiet. It’s not like a big, Core is not quiet, Hosting Team is really quiet.

So that makes it easier to engage. But there’s definitely professional benefit that a lot of my jobs have been because of WordPress, or because of someone I met through WordPress, or my experience with contributing to WordPress just boosts my appeal to employers. So there’s that too.

And on top of that, you build skills. You know, I now have multiple repos that I’ve been a maintainer for, for years. And I had those skills to begin with, but you refine and define your skills more through experience and through working on teams and so forth.

[00:40:03] Nathan Wrigley: Do you know, it’s really interesting the order in which you stack those answers. I feel, I could be entirely wrong about this. I feel like in the corporate world where everything is out and out profit, imagine, I don’t know, evilcorp.com or whatever it may be. I feel like the calculation there might be exactly the opposite. You know, you put them the other way round. You get the skills, which allow you to then advance your career, and the meaningful bit is just maybe there, maybe not.

But the way that you stack that with the meaningful coming first is really interesting because I have that suspicion as well that the majority of the people in the WordPress project, if they were to truly ask themselves that same question, would probably arrive at a similar answer. That meaningfulness bit, it often doesn’t get talked about. It’s just kind of, oh, we all understand, we’re here, we’re having a nice time and what have you.

But that meaningful bit, I can’t put my hands on it. I can’t explain what that is, but that’s the same for me. There is something significant and meaningful about being involved in something, like you said, bigger than you, that has the capacity to improve people’s lives. And you don’t often get the chance to elucidate that thought and say it out loud. But when you do, it’s nice to know that that’s a part of your character, I think. That that that bit matters apparently more any other bit, because that’s the bit that tumbled out of your mouth first of all.

[00:41:26] Amy: Actually way more. Honestly way more than it because I am smart, I’ve taken many IQ tests. I might do and say stupid things, but nonetheless I have a high IQ, and very capable, and I have numerous different talents. I could do any variety of things. I think that if I were to be dropped in any work environment, I would excel, or at least be competent in that work environment. It doesn’t quite matter what it is. That’s, you know, my perception of myself, and I’m also a huge advocate of learning on the job. I think that companies should be hiring people who don’t know what they’re doing, and then teaching them what to do. That’s personally my take on it.

And so the meaningfulness is, it’s way more powerful than, I could make money and I could, obviously we all have to survive, but it kind of all folds into itself. That you get involved in something because it’s meaningful, and then you like learn and build skills and make connections and end up making money from it.

If people come to WordPress trying to make money, I think that you can absolutely, and probably a lot of it, but it’s the wrong values. It’s not a match for open source values and for WordPress values. And the WordPress values are one of the, probably the thing that attracts me to the WordPress open source project the most.

[00:42:52] Nathan Wrigley: Right. And I think me too. I think that was what drew me in the first place. But again, I can’t get my hands around it. I can’t sum it up. But there is a there there. There is a thing. There’s this ephemeral, non, you know, you can’t quite make contact with it, but there’s a certain feeling.

When you go to these events and you see that, you know, this whole thing has been put on by a bunch of volunteers, and the underlying code, which is what we’re all there for anyway, that equally has been largely created by a bunch of volunteers.

Where’s the profit motive for that? Well in many cases, there isn’t much of a profit motive obviously, as you said, for some people there is. That is a curious characteristic. I don’t know, there’s just something about those people that I would like to be in proximity to. Finding it very hard to describe what I’m saying, but there is something about that characteristic that I like to be in proximity to. That’s kind of it, I think.

[00:43:42] Amy: It’s very authentic and genuine. You can feel it as a human being. You can feel it when somebody wants something from you, or maybe I can’t. But most people can feel it, if somebody wants something from you, and that’s their intention. Versus if someone’s interested in you, or compelled towards you for some subconscious or other underlying reason that they’re just like, oh, you seem nice. You seem interesting. You touched on this topic and I like that topic, you know? There’s something very rewarding, and deeply fulfilling, on a human, spiritual. It covers our basic needs as humans for interaction and for community.

And I think that at events it’s even stronger. Like in Slack, you’re all in different locations. There’s definitely, you know, social interaction happening, and friendships being formed, and bonds being built. But at events it’s kind of like that on steroids. There’s a really strong sense of community, really strong sense of belonging together, a really strong sense of doing something meaningful, and contributing to something meaningful, and being part of something meaningful. And I think that’s really powerful. And it satisfies a core human need.

[00:44:54] Nathan Wrigley: Yeah, that is so interesting. I’d love to put a survey together and actually ask intelligent questions which drill down specifically into that. Because I think there would be a correlation between the things that you’ve just described, the characteristics that you’ve described, the feelings that you like to be associated with, the events that you enjoy and what have you. I think there’s a correlation between that and the community that we have. I can’t quite prove it.

But time and again, that intuition has proved itself in the real world. You know, you get into conversations like this, and this kind of subject emerges. Why do you do it? Because it’s meaningful. Because I get a great sense of satisfaction from it, and I know that I’m doing something which will be bigger than me, longer living than me, and so on and so forth. So, gosh, that’s really interesting. I’m glad that you share that same opinion.

[00:45:38] Amy: It’s beautiful.

[00:45:39] Nathan Wrigley: Yeah. Yeah it is, isn’t it? And that’s the basis upon which the whole project is built.

[00:45:44] Amy: Right. Without the community there’s, it would be a much different thing.

[00:45:48] Nathan Wrigley: Yeah, really so. Sadly, we’re going to have to end it because of the time constraints that we’ve got. But what a fascinating, I think we were just peeling back something really interesting there, but there we go. That’s the time that is allowed for this particular episode.

So anything that you wanted to get out that you didn’t get a chance to? Is there any intelligent question that you wish I had asked you?

[00:46:06] Amy: No, not at all. Thank you so much for inviting me. I’ve really enjoyed chatting with you, and I found it very interesting.

[00:46:13] Nathan Wrigley: Yeah, thank you. It’s been a pleasure. Thank you so much. This will go out on the wptavern.com podcast, the Jukebox podcast, so if you want to go and check it out over there, wptavern.com.

So all that it remains for me to do is say thank you very much, Amy Kamala, for chatting to me today. Really appreciate it

[00:46:30] Amy: Likewise. Thank you too, and thank you to all your listeners.

On the podcast today we have Amy Kamala.

Amy’s journey into tech is anything but conventional, starting with a Master of Fine Arts from UCLA and a passion for art that eventually bled into, and was overtaken by, technology. Since 2018 she’s been an active contributor to WordPress, serving multiple terms, such as the Hosting and Core teams. Her career zigzags through key roles at DreamHost, InMotion Hosting, Pantheon, Canopy Studios, and local government, picking up everything from technical support and web development to managing teams of designers and DevOps staff. Along the way, Amy has organised WordCamps, led teams, and is currently being sponsored by Elementor for her open source work.

Today’s conversation gets into the chaotic, creative overlap between art and tech, and how those different mindsets can feed one another, especially in the world of WordPress. We talk about the blend of creative and logical thinking needed in web development, and why skills like user experience, curiosity, and even willingness to fail publicly can set you apart.

We then turn to contribution. What draws people to volunteer in an open source community, what Amy gets out of participating far beyond her paid hours, and the messy journey from being an eager helper to an essential part of the team. She explains the unique feeling of the WordPress community, the importance of being welcoming to new contributors, and why being outgoing, and not afraid to ask questions, can be your biggest asset.

If you’ve ever wondered about the blurred lines between art and code, why people throw themselves into volunteer work in the WordPress ecosystem, or what’s really at the heart of this global community, this episode is for you.

Useful links

 Jonathan Desrosiers

DreamHost

InMotion Hosting

Pantheon

Miriam Schwab

Elementor

by Nathan Wrigley at August 12, 2026 01:00 PM

Open Channels FM: Open Source Changes, WordPress Vulnerabilities, and WordCampUS Community Conversations

Open Channels News covers a WordPress supply chain attack, user preferences in plugins, and highlights WordCampUS in Phoenix.

by Bob Dunn at August 12, 2026 10:18 AM

Matt: Beeper Merge

Beeper has some fun new features where you can merge chats with the same person across multiple networks, polls, labels… Very exciting work happening on that product.

by Matt at August 12, 2026 06:40 AM

Gutenberg Times: WordPress 7.1 Source of Truth

Welcome to the Source of Truth for WordPress 7.1!

Before you dive headfirst into all the big and small changes and pick your favorites, make sure to read these preliminary thoughts about this post and how to use it. If you have any questions, leave a comment or email me at pauli@gutenbergtimes.com.

A huge “Thank you” to Anne McCarthy, Justin Tadlock, Isabel Brison, Adam Silverstein, Ramon Dodd, Andrew Serong, Hans-Gerd Gerhards, Marin Atanasov, Krupa Nanda, Aaron Robertshaw, Ben Dwyer, Brent MacKinnon, Ashar Fuadi, and a lot more. It still takes a village. Also huge respect to the whole release squad on getting WordPress 7.1 over the finish line.

Estimated reading time

37–56 minutes

at

8,851 words

This article is also available in German on Krautpress: WordPress 7.1 Source of Truth – Deutsch

Table of Contents

Changelog

Any changes are cataloged here as the release goes on.

August 14, 2025

August 12, 2026

  • Corrected the Interactive states section: Global Styles state controls ship for the Button block only.
  • Change the order of Changelog items to newest updates first.

August 11, 2026

  • Updated the Highlight grid with latest iteration
  • Updated the Featured image with the 7.1 color schema

August 5, 2026

August 4, 2026

  • Removed On This Day widget information per this ticket. Punted to 7.2 pending more design input.
  • Corrected the "-current": { "color": { "text": "pink" }” code example.

August 3, 2026

July 31, 2026

July 30, 2026 – First edition.

Important note/guidelines

Try not to just copy and paste what’s in this post since it’s going to be shared with plenty of folks. Use this as inspiration for your own stuff and to get the best info about this release. If you do copy and paste, just remember that others might do the same, and it could lead to some awkward moments with duplicate content floating around online.

Each item has been tagged using best guesses with different high-level labels so that you can more readily see at a glance who is likely to be most impacted.
Each item has a high-level description, visuals (if relevant), and key resources if you would like to learn more.

Overview

WordPress 7.1 Highlight grid draft August 10, 2026

WordPress 7.1 rounds out the block editor’s styling controls and makes working with media noticeably smoother. Long-requested features let you style how blocks look across three screen sizes and in interactive states like hover and focus — all without writing custom CSS. The admin experience becomes more personal, too, following you with your own color scheme and toolbar across every screen.

Handling images gets a considerable upgrade, too. The new media editor modal brings free-form cropping, rotation, and metadata editing into one workflow, and client-side media processing makes uploads faster and more resilient, with broader format support and better-optimized files.

The new Playlist and Tabs blocks enrich the layout options available out of the box and make for more creative information presentation. In the same realm fall the expanded Icon API with custom icon collections, dynamic galleries, and background gradients for more blocks.

The unification of WP Admin and the block editors progresses as well: the editors now respect your admin color scheme, and the admin bar stays with you on every screen — including the editors and the front end.

While real-time collaboration has been punted to a future WordPress version, the asynchronous collaboration in Notes took real steps forward with inline notes on partial text selections, @mentions, rich text formatting, and multiple notes per block.

Beyond the headliners, core blocks receive many quality-of-life improvements and bug fixes to make editing content in WordPress streamlined, consistent, and fast — and developers get an expanding set of APIs to build on.

Assets 

In this Google Drive folder you can view all assets in this document.

Tags

To make this document easier to navigate based on specific audiences, the following tags are used liberally: 

  • [end user]: end user focus. 
  • [theme builder]: block or classic theme author. 
  • [plugin author]: plugin author, whether block or otherwise.
  • [developer]: catch-all term for more technical folks. 
  • [site admin]: this includes a “builder” type. 
  • [enterprise]: specific items that would be of interest to or particularly impact enterprise-level folks
  • [all]: broad impact to every kind of WordPress user. 

How can you use these? Use your browser’s Find capability and search for the string including the brackets. Then use the arrows to navigate through the post from one result to the next.

Short video on how to use the tags to navigate the post.

Responsive styles for blocks

Community feedback from the Call for Testing made sure this feature ships with an off switch via a new responsiveEditingEnabled editor setting: turned off, both the Responsive styles option in the View menu and the viewport selector in Global Styles disappear. It gates the editing interface only. Responsive styles already saved keep rendering as before. (#80814). See code examples are in the responsive styles dev note.

Viewport breakpoint customization

Themes can now define custom breakpoints in theme.json, so both responsive styling and per-viewport block visibility work from your design system’s breakpoints instead of WordPress’s defaults. For theme developers and designers, this provides fine-grained, device-agnostic control over responsive behavior. (79104).

JSON
"settings": {
		"viewport": {
			"mobile": "30rem",
			"tablet": "45rem"
		}
	}

Tracking: WordPress 7.1: Block visibility configurable breakpoints and theme.json integration (#75707)

This makes interactive design accessible to non-coders and theme builders. It eliminates the need to add custom CSS snippets for common interactions. 

Interactive states styling (hover, focus)

You can now style interactive pseudo-states (:hover, :focus, or :active) without writing any CSS. For the Button block, this works both per-instance and site-wide in Global Styles. For navigation link blocks (Custom Link, Page Link), the state controls are available per-instance in the block inspector; in Global Styles, the state selector is enabled per block, with Button as the first, so styling navigation states site-wide currently goes through theme.json.
An editor UI for the current-item state is also in development as part of the custom states iteration for 7.2.

The Dev Note give you more details Pseudo and custom style states in WordPress 7.1 and more code examples.

JSON

"core/navigation-link": {
  "-current": {
    "color": { "text": "#ff0000" },
    "typography": { "fontWeight": "700" },
    ":hover": {
      "color": { "text": "#0000ff" }
    },
    ":focus": {
      "color": { "text": "#00aa00" }
    },
    ":active": {
      "color": { "text": "#ff6600" }
    }
  }
}

Media editor modal and free-form image cropper

[end user][site admin]

The new media editor modal replaces the inline cropping tool, accessed via the familiar Crop button, and brings together free-form and aspect-ratio cropping, flip, fine-grained rotation with snap guides, and metadata editing in one unified workflow. (78653, 78935, 78792

This considerably improves the editing experience in WordPress Block editor. The goal was to eliminate the need for external tools for basic image editing. You can now exercise faster, more precise control over your images—fine-tuning framing, fixing orientation, or mirroring an image to better fit your layout in just a few clicks, all without breaking your editing flow.

For the Cover Block, this new media editor modal is hooked up to the Crop background image button. The option appears whenever the Cover block uses an editable image, and the block automatically recalculates its overlay color and contrast after an edit, so text stays readable even if the crop removes the image’s brightest or darkest areas (79258 )

Tracking: Media Editor Modal task tracking (#73771)

Client-side media processing improvements

[developer][site admin][enterprise]

When you upload an image in the block editor, your browser — not your server — will now handle the creation of all sub-sized images using a WebAssembly (WASM) version of libvips (wasm-vips), a high-performance image processing library. The result stored on your server is improved over what server-side processing produced until today: smaller files generated directly on your device. Server-side image processing CPU usage could decline by more than 80% on capable devices (79188)

The update also comes with broader modern image  format support that includes HEIC (the default format for iPhone photos), JPEGS with HDR gain maps (used by UltraHDR and Adaptive HDR), AVIF and WebP support built in. A great performance improvement is the GIF-to-video conversion feature for lighter, more efficient files that are faster to load on the front-end. This feature is opt-in right now. Uploads are also more resilient, with a progress indicator and automatic retries if your data connectivity drops off (76765, 79307).

For content creators uploading media, this update means better support for HDR images,  faster, more reliable uploads, broader format support, and better-optimized files without manual intervention.

Plugin developers should note that some server-side hooks, including `wp_generate_attachment_metadata`, `image_resize_dimensions`, and `wp_handle_upload` may not fire as before. The team is working on documentation and mitigation strategies. (74333)

More in-depth information is available in the Dev Note Client-Side Media Processing in WordPress 7.1

Icons now inherit color, and the Icons API takes shape

[theme builder][plugin author][developer][enterprise]

WordPress 7.0 shipped a built-in set of SVG icons for the block editor and the Icon block. With WordPress 7.1, this grows into a proper, public API: plugins and themes can register their own icons, group them into collections, render them on the server, and read them over the REST API.

For content creators, the most visible change is the Icon block’s picker: it now groups icons by collection, with a tab per collection plus an “All” tab, and your search query carries over as you switch tabs. Custom icons from plugins and themes appear right alongside the core set. The block itself picked up several refinements: it inserts a default icon so you’re never staring at an empty placeholder, offers flip and rotate controls in the toolbar, and shows text and background color controls by default.

For developers: Registering more collections

For developers, the pieces come together on the PHP side: register a collection with wp_register_icon_collection(), add icons with wp_register_icon() — from an inline SVG string or an .svg file — and print any registered icon with wp_get_icon(), including size, CSS class, and an accessible label. Icon names get strict validation, the registry’s register method is now public, and REST API endpoints expose collections and icons to your own code. A dev note with full code examples is on its way to the Make Core blog.

One breaking change to flag: all 330 icons in @wordpress/icons v15 now declare fill="currentColor", so icons inherit the surrounding text color by default. If you’ve been tinting icons with the CSS fill property, switch to color — it’s more reliable, since an icon may use fill, stroke, or both internally. If you register your own icons, add fill=”currentColor” to their <svg> element to get the same behavior.

The Dev Note Registering and rendering SVG icons in WordPress 7.1 holds all the details. 

Tracking: SVG Icon API: Iteration for WordPress 7.1 (#75715)

Admin Bar everywhere 

[all]

With WordPress 7.1, the WordPress admin bar which sits at the top of your site’s front end and other admin pages is now displayed when using block editor by default. It stays hidden when Fullscreen mode and Distraction-free mode are both turned on. 

Until now, entering the editor in its default fullscreen mode meant the admin bar disappeared, cutting you off from the rest of wp-admin. Since the admin bar now provides site context, the update also replaces the top-left W/site icon in the site editor with an explicit back button, making the navigation control more obvious (79197). 

With this update also comes a design refresh: 

  • your site icon replaces the home icon, 
  • the profile avatar becomes circular, and 
  • the command palette keyboard shortcut moves into the Admin bar to remove visual clutter and resolve shortcut conflicts. (79060

This keeps the familiar navigation with you on all screens again. 

Dev Notes with all the details for users and developer can be found here: Consistent navigation in WordPress 7.1 with persistent toolbar.

New Blocks

[all]

This release expands the block library with versatile new tools. These additions provide content creators with improved ways to display interactive media and organize information.

Playlist block

The new Playlist block lets you create audio playlists with waveform visualization, making it easy to showcase multiple tracks or podcast episodes in a single interactive player. Visitors can browse and play through your audio content without leaving the page. For content creators this provides a rich, modern listening experience built right into WordPress to highlight podcast episodes, track of music or talks. 

Each track comes with its metadata: artwork, artist name, track number, and track length. The tracklist itself is configurable — you can set the play order and toggle artwork, artist names, track numbers, and track length individually to suit the design of your page.

The WaveformPlayer visualization comes with a visualization style selector. You can set waveform and waveform background colors for more granular theming and show the track artwork on the play button, accessible for all visitors. The Playlist and Playlist Track blocks are available in the default block library.

This is the first version and contributors are working on improvements for the next WordPress version, too looking to add more waveform styles, shuffle and skip buttons, a hover overlay for more intuitive track scrubbing, as well as performance improvements.

Tracking: Playlist Block: Iteration issue for 7.1 (#77421)

Tabs block

The new Tabs block organizes content into separate tabbed panels that visitors click through to navigate. It’s a design pattern that presents information compactly without overwhelming readers with a wall of text. It’s a common layout for FAQs, product features, or any content where you want to show options side-by-side. For editors, it’s a familiar, flexible layout pattern now available natively in WordPress.

The block family consists of a Tab List for the navigation and Tab Panels for the content. Each panel accepts any blocks you like, and the tab buttons come with their own color, typography, border, and spacing controls, so the navigation can be styled to match your theme. Using the toolbar buttons you can reorder the tabs quickly. 

Under the hood, the markup and keyboard behavior follow the best practices set out in the tabs pattern from the W3C ARIA Authoring Practices Guide.

Tracking: Stabilize Tabs Blocks (#73230)

Improved Blocks and Block handling

Core blocks receive numerous quality-of-life improvements in 7.1. These updates refine existing editing workflows, simplify media handling, and provide deeper customization for layouts and design.

Block transforms: preview first, convert faster

[end user][site admin]

Switching a block’s look or type is now much easier to evaluate before you commit. When you open the block switcher in the toolbar, the style options a theme provides — say, a Button’s “Outline” style — show live previews on hover, so you see exactly how your block will look with the style applied. (75889) The same previews in the inspector’s Styles panel now match the toolbar presentation, so it no longer matters where you make the switch. (75989) A small polish fix also centers the Navigation block’s preview in its preview pane. (75741)

Transforms got more capable, too: a block can now transform directly into a variation of another block. Instead of converting to a Group and then picking Row afterwards, the transform menu offers Row or Stack as direct targets — one step instead of two. (78713)

The same “one step instead of two” thinking extends to legacy content. Pasting or converting an shortcode now creates a proper Embed block instead of leaving raw shortcode text behind, so embeds from YouTube and other services display correctly right away (77937)— and if you change your mind, undo restores a paragraph with the URL rather than deleting it. (77551).

The Shortcode block joins in as well: when its content matches a registered shortcode, it now offers block-specific transforms to convert it into the equivalent block. (77944)

For anyone maintaining a site with years of shortcode-based posts, that removes a tedious cleanup step on the way to block-based editing.

Combine gradient and image backgrounds

[end user] [theme builder][site admin]

More blocks now support background gradients through the new background.gradient block support, which layers a gradient on top of a background image instead of one overwriting the other — a translucent color wash over a photo, for instance, without custom CSS.

Previously, gradients lived only in the Color panel, stored as a CSS background shorthand that clashed with any image on the block. The new support adds a Gradient control to the Background panel next to the existing Image control, and the style engine combines both into a single layered background-image value on individual blocks, in Global Styles, and via theme.json. A follow-up allows modern color functions in standalone gradients, and the text and background color controls moved to the Typography and Background panels to match.

To place the two color settings for background and gradients in the sidebar together, the controls needed to be split up from the text color. So now the color settings for text color and background colore are in two different panels.

WordPress 7.1 ships with six blocks supporting the new gradients: Group, Verse, Accordion, Pullquote, Post Content, and Quote. More will follow, with a long-term plan to migrate the older color.gradient to the new system across all blocks. There’s no built-in migration path in 7.1 yet.

For extenders, opting in follows the familiar block supports pattern. Custom blocks declare it in their block.json:

JSON
"supports": {
	"background": {
		"gradient": true
	}
}

Themes control the setting via theme.json under settings.background.gradient (it’s also included in appearanceTools), and can define gradient values in styles — at the root, per block, or in style variations:

JSON
{
	"styles": {
		"background": {
			"gradient": "linear-gradient( 135deg, #000 0%, #fff 100% )"
		},
		"blocks": {
			"core/group": {
				"background": {
					"gradient": "var:preset|gradient|vivid-cyan-blue"
				}
			}
		}
	}
}

All the salient details in this Dev Note New Block Support in WordPress 7.1: Background Gradient (background.gradient)

Cover Block: control video embed providers

[theme builder][plugin author][enterprise][developer]

Besides gaining the new media editor modal for background images, the Cover block addresses a request from community feedback. When the block’s “Embed video from URL” feature shipped in WordPress 7.0, site builders asked for a way to curate or disable it. WordPress 7.1 adds a new allowedVideoProviders attribute to restrict which video providers are offered, or to remove the URL-embed option entirely by allowing none (#80092). Existing embeds keep working; only new URL input in the editor is restricted. 

The details are already reflected in the Cover block’s documentation.

Images you upload while writing a post have always been “attached” to that post. This specifically true for older sites, pre-Block editor. Attached images where no accessible as an cluster and need to be added the block editor canvas one at a time. WordPress 7.1 finally puts that relationship to work in the editor, via an additional filter drop-down item Uploaded to this post in the Media Library Inserter modal. Photos and other media you’ve uploaded stay within reach for reuse instead of disappearing into the media library. 

The Gallery block is the showcase: instead of hand-picking every image, a single Use attached images button populates a dynamic gallery from all media attached to the current post (#78796). For content creators, this makes assembling image galleries faster and more flexible. It also helps reorganize image on older posts. The Source panel provides options for sorting the images. This brings the block editor handling of Galleries up to par with some features of the [ gallery ] shortcode.

To have entire freedom to control the Gallery block, the Detach feature comes in handy. A Detach button in the toolbar and in the sidebar’s Source panel, makes out a stand-alone Gallery without the dynamic connetion to the post’s image. Using it help user to edit/upate the gallery block. 

Below video visualizes the connection between a list of image attached to a post from the Media Library and the gallery block with the new feature. 

Tracking: WordPress 7.1: dynamic galleries and post-attached media iteration issue (#77117)

It’s a step back toward the simplicity of dropping photos into a post and having WordPress do the arranging. It’s the first visible piece of a larger effort around dynamic galleries and post-attached media, with dynamic queries by date and eventually categories or tags ahead.

Image Block: Mark as decorative toggle

[end user][site admin]

Screen readers announce every image to their users — but some images, like dividers and design flourishes, carry no information worth announcing. The Image block’s new “Mark as decorative” checkbox tells assistive technologies to skip such an image entirely on the front end, by rendering it with role=”none” in the published post. It now eliminates the question, did we forget an alt=text or was it a deliberate decision to leave the alt-text empty?

There is further processing to come with the checked box. Marking an image decorative clears its alt text and disables captions and links, since an image that links somewhere or explains something isn’t decorative by definition. Until now, the accessible route was knowing the empty-alt-text convention; the checkbox makes the intent explicit, machine-readable, and available to every content creator. (78064)

Login/out Block Improvements

[theme builder][site admin][developer]

The Login/Logout block has an option to display a full login form instead of a simple link — but until now, that form’s submit button ignored your theme entirely, rendering with plain browser-default styles that stuck out next to every other button on the site. With a block theme active, the submit button now carries the standard button classes (wp-block-button__link and wp-element-button), so it automatically picks up the button styling your theme defines in theme.json — colors, border radius, and all — with no custom CSS required. The block follows the same approach the Comments form already uses, resolving a mismatch first reported back in 2023. (76746)

The Navigation block picks up several improvements that give site builders more freedom in what a menu can contain and where it can be edited. The Login/Logout block can now be nested inside submenus (#75497), handy for tucking account actions into a “My Account” dropdown instead of spending a top-level slot on them. New links can be created directly from the sidebar List View in the Site Editor (#75918), so building out a menu no longer requires clicking into each item on the canvas. And the Home Link block gains previously missing controls (#76672), bringing it up to par with its navigation siblings.

One behavior change to note for theme builders: the Navigation block no longer force-propagates its font size down to individual menu items (#77419). Until now, every navigation link, submenu, and page list item received the parent’s font-size markup — and because relative units multiply, nested dropdowns compounded dramatically (1.5em became 2.25em, then 3.375em).

The block now relies on standard CSS inheritance instead, which also fixes mismatched typography between the editor canvas and the front end. Most themes need no changes, but themes that target has-{slug}-font-size classes directly on nav items should check their menus — the Miscellaneous Editor Changes dev note includes a filter to restore the old markup if needed.

Search block Styling

[theme builder] [site admin][end user]

A styling gap is closed in the release for the Search block: color settings now apply to the search input field even when the search button is disabled (77219), so your search boxes match your design system regardless of which display options you choose.

The block also embraces modern HTML: it can now render inside the native <search> landmark element, which carries search semantics for browsers and assistive technologies without the manual role=”search” attribute. Because dropping that attribute could break existing theme CSS, the feature is opt-in — per block via a new HTML element selector in the Advanced panel, or site-wide with add_theme_support( ‘search-element’ ) (#78485). Default output is unchanged, with a path to making the modern markup the default in a future release.(78485)

Query block

[theme builder] [site admin][end user]

The Query block received an additional filter to control the list of blocks: You can now exclude the current post from a list of posts. This is useful when you want to add a list of posts with related posts. (64916).

General quality of life improvements. 

Pattern editing experience improvements

[theme builder] [site admin] [developer]

WordPress 7.0 shifted pattern editing to focus on content changes rather than exposing every tool, treating patterns more like single blocks. In 7.1, work focuses on UX refinements based on feedback, bug fixes, and general maintenance. For users inserting and customizing patterns, this means a more polished, predictable experience with fewer rough edges.

Tracking: WordPress 7.1: Pattern Editing Iteration (#75717)

  • Pattern Editing and Block Fields: Highlight selected block (74841)
  • Pattern editing: show root block identity when editing pattern sections #79417 

 Block Width and Layout Controls

[theme builder] [site admin] [developer]

Refines spacing and layout tools to be more intuitive. The Columns block no longer shows a confusing ‘Skip’ option in its layout picker, the Button block now uses the standard width control system, and spacing controls display in a more logical order when unlinked. These changes remove friction points that tripped up editors when building complex layouts.

  • Button: Migrate to width block support #74242 
  • Columns: Remove redundant Skip option from layout picker #78405 
  • Re-order spacing side controls when unlinked #66317 

When linking to pages or posts, the link picker now shows ‘Homepage’ instead of just ‘Page’ for your site’s front page, and uses the actual entity link title for previews. These small improvements make link creation feel smarter and help editors understand exactly what they’re linking to before publishing.

  • Use entity link title for link control preview #77155 
  • Link Picker: Use Homepage badge instead of Page if Homepage #75929 

Additional CSS Validation

[theme builder] [site admin] [developer][end user]

Additional CSS is now validated both on mount and via a new dimension validation endpoint for sideloaded styles. These checks prevent malformed or insecure CSS from breaking your site’s appearance or introducing security risks, giving you more confidence when adding custom styles.

  • Validate additional CSS on mount #78682 
  • Add dimension validation to sideload endpoint #74903 

Block Editor Attribute Handling

[theme builder][developer]

The block editor now correctly targets the right block when copying direct insert block attributes, fixing edge cases where attributes would apply to the wrong block. This fix ensures that copy-paste and duplication workflows behave as expected.

  • Block Editor: Fix target block for copying direct insert block attributes #77877 
  • Block Editor: Allow overriding `disableContentOnlyForTemplateParts` setting #79191 

Image handling improved

[end user][site admin]

A set of small fixes makes working with images more predictable. If an image points to a media library item that has since been deleted, the editor no longer treats it as a local attachment, preventing confusing errors. The crop button only appears when cropping is actually available for your user role and image type, so you’re never offered a tool that can’t work. 

And the featured image field now shows placeholder text making clear at a glance what goes there.

  • Image block: Validate attachment ID exists before treating image as local #77178
  • Image/Site Logo: hide crop toolbar when editMediaEntity is unavailable #76626
  • Set placeholder to featured image field #76342

Post Template Layout Improvements

[theme builder][site admin]

Ensures the Post Template block’s fallback styles only apply when appropriate, preventing layout conflicts when custom minimum column widths are defined. This fix gives editors more predictable control over query loop layouts without unexpected style overrides.

  • Ensure Post Template fallback styles don’t apply when minimumColumnWidth is defined #77411 

Post Title Block Enhancements

[site admin][end user]

The Title block gains a placeholder attribute, letting you show helpful text when no title has been entered yet. This small addition improves the editing experience for custom post types and guides content creators to fill in required fields.

  • Post Title: Add placeholder attribute #7601 v22.7.0

Block Inserter Enhancements

[site admin][end user]

Makes discovering and adding blocks easier with visual polish to the inserter interface. The search input now stays visible while scrolling through block options, and the inserter button animates to clearly signal when the panel is open. These small touches reduce friction when building pages and help editors stay oriented while exploring block options.

  • Block Inserter: Animate inserter button icon to signal open state. #78306 
  • Make Block Inserter search input sticky while scrolling #77698

Editor enhancements

Beyond the block improvements, the editing experience itself picks up refinements across the board. Notes mature into a fuller commenting workflow. Visual revisions gain a more detailed timeline. And your site’s brand identity gets a dedicated home in the Site Editor.

A Dev Note provides a list of miscellaneous Editor changes.

Notes move toward a full commenting workflow

[end user][site admin][developer][enterprise]

Notes, the inline editorial comments right in the editor, continue to mature, with several additions in this release that make asynchronous collaboration richer and easier to act on without leaving WordPress.

The headline feature: inline notes. You can now attach a note to a specific text selection rather than to a whole block. Select part of a paragraph, add a note, and the highlight stays anchored to that text as you keep editing around it. A single block can carry multiple inline notes, sorted by the order they appear, and none of the highlighting shows up in the published post. Also, blocks are no longer limited to a single conversation, either — you can start multiple note threads on the same block.

The conversations themselves got more expressive, too. Notes now support rich text formatting — bold, italic, links, and code. @mention autocomplete makes it quick to pull a colleague into a thread. Longer notes collapse behind a “Show more” toggle, and a “Resolved” divider in the sidebar separates finished discussions from open ones, so it’s easy to see what still needs attention.

Tracking: Notes iteration for WordPress 7.1 (#76316)

Dedicated Identity section

[site admin][theme builder][end user]

A new Appearance > Editor > Identity screen consolidates your site’s logo, favicon, title, and tagline into one easy-to-find location, with inline editing so you can crop and adjust images right there. This eliminates hunting through Settings or digging into templates just to update foundational branding. For new site builders especially, it makes setting up your site’s identity quick and straightforward. Existing site owners have an intuitive place to update the data.  (76264, 76116)

Visual revisions improvements

[site admin][end user][theme builder]

Building on the visual revisions introduced in 7.0, the revisions screen gains a paginated timeline in the inspector with more detailed information about each revision, making it easier to understand what changed as you scrub through versions. (77333)

Changes  made via autosave are now labeled in the revisions timeline and make the autosave notice work with the visual revisions UI.(79950, 79947)

Apply Globally now with review panel

The block inspector’s Apply globally action which has been a one button push of the block’s local style changes to Global Styles, has received an upgrade in WordPress 7.1 so designer can have a more granular control, on which part of the styles will make it into the global styles.

The button now opens a review modal instead, listing each modified style with its current and new value. All changes come pre-selected; deselect any you want to keep as local overrides, and only the checked styles are applied. Undo still restores the previous state in one step. What was a somewhat risky action is now a deliberate choice. You see exactly what will change across your site before committing. (#79839)

Admin / Workflow updates

Updates to admin and workflow tools in 7.1 improve navigation, content management, and site administration. These changes are designed to reduce friction and help you work more efficiently within the WordPress dashboard.

Organized command palette

[all]

The command palette, the quick-access menu you open with keyboard shortcuts,  now groups results into recent, suggested, and matching sections, and remembers your recently-used commands across sessions. The visual design has also been refreshed to make scanning results easier. This helps you navigate WordPress faster by surfacing the tools you use most often right at the top. (75691)

Change a comment’s parent from the Edit Comment screen

[end user][site admin][enterprise]

Ever needed to fix a comment that landed in the wrong thread? The Edit Comment screen now has an “In reply to” control in the Save box — hit Edit and you get a dropdown of the post’s other comments, listed by the author with a short excerpt. Top-level comments just show “None.”

You can’t create broken threads with it: the dropdown hides the comment itself and anything nested under it, and the server double-checks on save — the new parent has to be on the same post and can’t be the comment or one of its own replies (anything invalid gets bounced with a WP_Error). If the current parent wouldn’t normally show up in the list (a pingback, say), it’s kept in there as the selected option, so saving without touching the field changes nothing. Works without JavaScript too, and there are tests covering the validation. (65570)

See an excerpt of posts without titles

[end user][site admin]

If you publish posts without titles for instance for quick status-style updates, the Posts list has been pretty useless for telling them apart: just a column of identical “(no title)” links. 

Now, in Compact view, untitled posts show the first 15 words of the excerpt right after “(no title)”, so you can actually see what each post is at a glance. 

The checkbox’s screen-reader label gets the same text, password-protected posts keep their content hidden, and the Extended view is unchanged since it already shows excerpts.(65022).

Media Library: infinite scrolling is back on by default, with a per-user opt-out

[end user][site admin]

The Media Library grid now uses infinite scrolling by default, so attachments load continuously as you scroll instead of behind a “Load more” button. For anyone who prefers the previous behavior, there’s a new personal option: a “Disable infinite scrolling in the Media Library grid view” checkbox on the profile screen. The setting only appears for users who can actually upload files, since others never see the attachment grid.

For developers, the existing media_library_infinite_scrolling filter still works and now takes top precedence: a hooked filter always wins, followed by the user’s profile preference, with infinite scrolling enabled when neither is set. Note the filter’s default value has flipped from false to true as of 7.1.0, so any code relying on the old default should be reviewed. The change ships with unit tests covering the new user option and the full precedence chain (65564).

Read the Dev note: Media Library infinite scrolling is now enabled by default, with a per-user opt-out.

Hosts can now tune speculative loading defaults

Since WordPress 6.8, speculative loading lets browsers prefetch or prerender pages a visitor is likely to open next, making navigation feel near-instant. WordPress ships with deliberately cautious defaults — and until now, changing them required an mu-plugin. With WordPress 7.1, hosting providers and site owners can adjust the default mode and eagerness through environment variables or wp-config.php constants. A well-configured host with page and object caching in place can opt its sites into more aggressive speculation and pass the speed gains on to visitors. The real-world data hosts gather this way will also help inform whether core changes the defaults for everyone in a future release. The technical details are available in the core ticket (#65624).

Developer Goodies 

[developer][theme builder][plugin author][enterprise]

WordPress 7.1 provides developers with expanded APIs, theme.json capabilities, and system improvements. These tools offer greater control over site design, block behavior, and system integrations.

Post editor iframe now always on

Other editors in WordPress—the site editor, the template editor, and block, template, and device previews—have been unconditionally iframed for a long time, going back to the template editor’s introduction in 5.8. The post editor was the holdout: starting in 7.0, whether it ran isolated depended on the blocks actually present in a given post, so a post using only Block API v3+ blocks got the isolated canvas, while a post containing even one older block (API v1 or v2) dropped out of it entirely. That meant the same site, even the same author, could see the editor behave differently from post to post. In 7.1, that condition is removed: every post editor is always iframed, regardless of theme type or block API version.

For most people writing and editing content, this is good news—no more switching behavior depending on which blocks happen to be inserted. Block developers have a bit of homework, though: the iframe has its own document and window, separate from the admin page where editor scripts run, so any code that reaches for the global document or window to touch the canvas will now be looking at the wrong place. The usual fix is to get the canvas’s document from an element inside it (via ownerDocument and its defaultView) rather than the global object, and to use useRefEffect for attaching and cleaning up canvas event listeners.

Read the dev note on the 7.1 changes and the block migration guide for more details.

Ryan Welcher published a guide and a demo plugin. The post editor is going full iframe: what block developers need to know before WordPress 7.1 with code examples and instructions how to fix things if necessary. 

Abilities API opens up its execution pipeline

The Abilities API arrived in WordPress 6.9, and 7.1 gives extenders real control over it. Four new lifecycle filters let plugins step into ability execution — short-circuit it entirely (think caching, rate limiting, or maintenance mode), transform input, layer on extra authorization rules, or reshape and even recover results. Two more filters add custom input and output validation on top of JSON Schema, and a new wp_ability_invoked action fires on every invocation — even failed ones — handy for logging and auditing. The core info abilities return more user details, input over the REST API now arrives properly typed, and wp_prepare_json_schema_for_client() strips PHP callbacks and WordPress-only conventions before a schema goes out to REST clients, MCP integrations, or AI tools.

A new public metadata flag rounds it out: declare once that an ability is meant for external clients, and REST, MCP adapters, and future integrations use it as their default — with channel-specific flags still able to override, and permission callbacks still guarding actual execution.

Finding the right abilities gets easier too: wp_get_abilities() now accepts arguments to filter registered abilities by category, namespace, or meta — with the same filtering available on the REST endpoint.

Details and code examples in these dev notes:

Global Styles and theme.json 

Text Shadow support for theme.json

Theme authors can now define text shadows directly in theme.json via a new textShadow property under styles.typography. It works everywhere you’d expect: at the root level, per-block (say, a shadow on paragraphs only), via style variations, and on elements — including pseudo-selectors like a link’s :hover state. Any valid CSS text-shadow value is accepted, including stacked multi-shadow definitions. Block placeholder text in the editor resets the shadow so it stays readable regardless of what the theme sets.

JSON
"styles": {
		"typography": {
			"textShadow": "1px 1px 2px red, 0 0 1em blue, 0 0 0.2em blue;"
		},
		"blocks": {
			"core/paragraph": {
				"typography": {
					"textShadow": "1px 1px 2px red, 0 0 1em red, 0 0 0.2em red;"
				}
			}
		},
		"elements": {
			"link": {
				":hover": {
					"typography": {
						"textShadow": "none"

More details in the Dev Note: Text Shadow Support in Global Styles

Text-Align Block Support Migration

Nine more core blocks (Post Date, Post Excerpt, Post Navigation Link, Post Title, Query Title, Site Tagline, Site Title, Pullquote and Term Name) now use WordPress’s standardized text-align system. As part of a larger migration effort this update ensures consistent alignment controls across the editor and makes these blocks behave predictably alongside newer blocks. 

WordPress EndUser are not supposed to see any changes and existing blocks continue to work. Theme designers are now able to style any of these blocks text align via theme.json property. The code example shows how to set the center as the site-wide TextAlign default. And `”textAlign”: false` disables the feature for this block 

JSON
{
	"version": 3,
	"styles": {
		"blocks": {
			"core/pullquote": {
				"typography": {
					"textAlign": "center"
				}
			}
		}
	}
}

Block Visibility

Adds settings.blockVisibility.allowEditing to theme.json, allowing themes to disable the block visibility feature entirely.

JSON
{
  "settings": {
    "blockVisibility": {
      "allowEditing": false
    }
  }
}

When set to false, the toolbar button and block options menu item are hidden. In this regard, it makes this block support consistent with color, typography etc.

blockVisibility.allowEditing follows the layout flag. The reason is the two-fold nature of blockVisibility at the block supports level: a bool means don’t render the block at all, but viewport settings allow users to control visibility per viewport.

The object shape also leaves the door open to extending block visibility to triggers, not only blockVisibility.viewports but others like post type or whatever. (76559).

Block Supports: CSS variables by feature selector

Block Supports now generates CSS custom properties based on a block’s feature-specific selectors, not just its root selector. Some blocks—the Button block is the example given—define their outer wrapper and an inner styling target as different elements, and previously there was no way to output a preset variable (like a dimension size) onto that inner element specifically. Theme and plugin authors building design systems now have a way to target the right element per feature, without needing custom CSS to work around the mismatch.

A minimum-width option for block dimensions

Blocks already supported height, minHeight, and width. What was missing was a way to stop something from shrinking too far—so a layout element wouldn’t collapse into an unusable sliver on a narrow screen. Minimum-width closes that gap, mirroring how minimum-height already works.

It’s opt-in at the block level: the control stays hidden in the inspector until a block explicitly enables it, though it shows by default in the global styles panel. Theme-defined dimension presets carry over automatically, so existing spacing scales just work. The Group block is the first to adopt it.

You’ll find more details in the Dev Note New Block Support in WordPress 7.1: Minimum Width

Design System Theme Provider 

The first version of the design system’s theme component arrives in WordPress 7.1. It consists of standardized CSS custom properties that follow the W3C Design Tokens specification. You probably won’t spot the difference right away — the default theme was deliberately built to match existing styles — but this is the machinery that will power the admin color scheme in the Site Editor. You can read more details on the future direction in the Merge Proposal: Design System Theming 

The Dev Note has more: Design System Theming in WordPress 7.1

Admin color schemes in Site Editor

The Site Editor’s sidebar and interface now respect your chosen WordPress admin color scheme instead of always showing a dark background. This brings visual consistency across the post editor, Site Editor, and admin dashboard. If you’ve personalized WordPress with a color scheme you prefer, that choice now carries through everywhere you work. 78397

Mix static HTML with editable blocks

A new innerContent block support lets a block keep static HTML fragments interleaved with editable inner blocks as the canonical source of its own markup. In practice, this means a hand-written HTML structure can have just a piece of it—a paragraph, an image—editable in place, while the rest stays fixed and can’t be moved, removed, or rearranged.

The Custom HTML block is the first adopter: pasting HTML with a block comment delimiter embedded in it (for example, a <!– wp:paragraph –> block inside a larger static <div>) makes that inner piece editable directly in the canvas, while the surrounding markup remains locked in place. It’s a narrow, developer-facing capability for now—the HTML block is the only place it’s wired up—but it opens the door for custom blocks to offer the same kind of “mostly static, partly editable” experience going forward. (79115)

The dev note can be found on the Make Core Blog: Editable blocks inside the Custom HTML block 

Block Bindings for list-items and inner blocks

The List Item block has gained Block Bindings support. A List Item’s content can now be connected to a data source—a custom field, a pattern override, or another registered source—so individual entries in a list can be populated dynamically rather than typed in by hand. The change registers content as a bindable attribute for core/list-item.

A related fix rounds out the feature: previously, if a bound List Item also contained a nested sub-list, that nested list was dropped when the binding was rendered. Now a List Item can carry a bound value and a nested list beneath it at the same time. In practice, this means multi-level lists—say, a team member’s name pulled from a custom field, with a nested list of their current projects underneath—can now be fully dynamic without losing structure.

Tracking: Block Bindings in WordPress 7.1 (#77199)

Connectors authentication improvements

The Connectors framework, which manages WordPress’s connections to external services like AI providers, now supports username and application password authentication as an alternative to API keys. A merged pull request adds a default connector form for this method, along with the underlying authentication type, mirroring the equivalent API already available in WordPress Core.

The change also handles the practical details: saved passwords are masked in the UI and over REST, credentials can be set via constants or environment variables instead of the database, and a companion Core patch keeps the two in sync. For connectors that require an account login rather than a bare API key, this removes the need for a custom settings screen.

This lands alongside a broader open proposal for a PHP-side field registry that would let connector authors declare arbitrary settings—model choice, temperature, custom URLs, and more—the way register_setting() works elsewhere in WordPress. That registry isn’t built yet; the application password work is a first, concrete step (new auth method, not new field types), addressing one of the two gaps the proposal identified rather than the full vision.

Tracking: Connectors: proposal for a PHP-side field registry for connector configuration (#78647)

Blocks package stabilizes two experimental functions

The Blocks package stabilizes cloneSanitizedBlock and sanitizeBlockAttributes, dropping their __experimental prefixes now that the functions have been stable in practice for some time. The old __experimental-prefixed names still work but will log a deprecation notice, so plugins or themes importing them directly should switch to the new names.

Post author notifications: the filter decides

The notify_post_author filter now has the final say: approval status is checked before the filter runs, so it receives an accurate default and returning true reliably sends a notification — even for unapproved comments. Sites forcing notifications with __return_true should switch to a callback that checks approval, or they’ll start receiving emails for spam and moderated comments. (#64217). More Details can be found in the Dev note The notify_post_author filter now has the final say on post author notifications

Accessible tooltips and toggle tips API

WordPress adds a core mechanism for accessible tooltips (51006), offering an alternative to the title attribute, which is not available to keyboard and touch users. Two new functions cover different use cases: wp_get_tooltip() exposes an accessible name when a control has focus or hover, such as for icon-only buttons, and wp_get_toggletip() implements a popover disclosure with extended help information that stays open until dismissed. Both generate accessible markup that avoids excess verbosity for screen readers and follows best practices for voice command users.

The first toggle tip in core explains the “Remember Me” option on the login screen (55343). Plugin developers can use the functions for their own settings screens and metaboxes. (62741).

Dev Note is now available with the details: Introducing name and informational tool tips in WordPress 7.1

Filtering Site Editor screens

Plugin developers can now configure the Site Editor’s Pages, Templates, Template Parts, and Patterns screens through four new PHP filters — one per screen. Each filter adjusts the DataViews and DataForm components powering these screens: the default view (layout, sort order, visible fields), the layouts available to users, the preconfigured views in the sidebar such as “All” or “Drafts,” and the fields shown in the Quick Edit form.

This creates a single place of configuration per entity, with more screens — including the editor inspector — planned to draw from the same source in future releases (#76544). Code examples are in the Dev Note: Filtering Site Editor Screens in WordPress 7.1.

Post list table markup changed for accessibility

An eleven-year-old accessibility ticket is resolved: in post list tables, the row header (th scope="row") moves from the checkbox column to the title column, so screen readers identify each row by the post’s name rather than by a checkbox that may not even be present. (#32892).

Extenders should check their CSS and JavaScript: selectors like th.check-column or ones expecting the title and row actions inside a td need updating. The dev note Post list tables row headers changed lists the affected patterns, and keeping both td and th selectors preserves compatibility with older WordPress versions.


A list of all the dev notes can be reviewed from the Make Core blog

by Birgit Pauli-Haack at August 12, 2026 01:51 AM

August 11, 2026

Open Channels FM: Software Lock-In and AI Tools for Modern Web Businesses

In this episode, Bob and Adam chat about managing digital workflows, tackling challenges like email overload, CRM usage, and the benefits and downsides of AI tools.

by Bob Dunn at August 11, 2026 12:33 PM

Open Channels FM: How AI Agents Target Open Source and Why Storage Is the New AI Bottleneck

An AI experiment revealed vulnerabilities as an agent attempted to manipulate an open source maintainer into merging malware, while Nvidia highlighted storage bottlenecks in AI infrastructure. Efficiency is now paramount.

by Bob Dunn at August 11, 2026 10:03 AM

Aaron D. Campbell: My WordPress Origin Story: The One-Line Patch That Changed My Career

I started using WordPress because it was a practical tool for client work. One tiny patch turned it into a community, a career, and a lasting lesson about what open source makes possible.

The post My WordPress Origin Story: The One-Line Patch That Changed My Career appeared first on Aaron D. Campbell.

by Aaron D. Campbell at August 11, 2026 12:42 AM

August 10, 2026

Matt: OmFest Registration

Thank you to everyone who expressed interest in shaping OmFest. We’re still working out some details, but we’ve got a Luma registration page for the event up. Please join on September 29, 2026, Om’s 60th birth anniversary, for an eclectic conference curated by his different communities to celebrate the many facets of Om.

If you’re just tuning in, our dearest loved one Om Malik passed away in June. This grieving process has been a rough one for me, but it has inspired some positive life changes. I’m traveling with a real camera again! A Nikon D6. I’ve shot tens of thousands of frames on the D-series, so it feels like home, but it also has some nice new features like built-in GPS (I used to use an attachment for that) and USB-C.

I’ve also become very driven to be meticulous. I miss Om’s harsh but often true feedback, but his voice in my head is a good reminder that if you do something, it’s worth doing it well. I’m kinda a hot mess (still blessed! 😂) so this will be a journey but the progress already has been rewarding. Excellence is a habit. We can always hold ourselves to a higher standard.

by Matt at August 10, 2026 09:54 PM

Open Channels FM: How AI Is Shaping Domain Abuse Monitoring

AI is becoming crucial for monitoring domain abuse, enabling automated analysis and real-time detection. However, careful oversight is essential to avoid errors, especially as domain registrations surge.

by Bob Dunn at August 10, 2026 12:20 PM

August 09, 2026

Matt: Super-organized

I have so many tools for organization and management across Asana, Google Workspace, P2, and Linear, but they’re not really connected. I’m trying to get everything in one place so there’s no data duplication, a single source of truth, and everything is always linked and accessible. It feels good, like spring cleaning, to go through everything. Woo has an initiative they call Mise en place with a similar idea. Which is why you’ve also seen those bug fixes and clean-up happening. With AI, this should be easier than ever.

by Matt at August 09, 2026 11:54 PM

August 08, 2026

Gutenberg Times: WordPress 7.1 RC, 7.0.3 Security Release, Block Runner, New Playground UI and more — Weekend Edition 372

Hi there,

It was another busy release week: the WordPress 7.0.3 security update, WordPress 7.1 RC 1, and Gutenberg 23.7 all landed. More on each below — but before you keep reading, update all your sites to 7.0.3 now. This newsletter can wait… 😉


If you are traveling to Phoenix: safe travels, and pack a sweater — the AC will be cranked up high in every building! This year, I will see you on the WCUS Livestream.

Have a great weekend!

Yours, 💕
Birgit

Developing Gutenberg and WordPress

WordPress 7.0.3 shipped as a security release fixing twelve vulnerabilities, so update your sites right away if automatic background updates aren’t already handling it for you. Release lead John Blackbourn lists the fixes, including a pre-auth XSS on the login screen that could lead to PHP code execution, several contributor-level stored XSS issues, and a multisite privilege escalation. Backports reach all supported branches down to 4.7, and 7.1 RC2 carries the fixes too.

To appreciate the huge effort by the security team to get this release out, consider the numbers: until earlier this year, there were 20 to 30 reports per month; now that number has jumped to 450 per month. Both security updates, 7.0.2 and 7.0.3, were backported not only to the two officially supported versions, 6.9 and 7.0, but all the way back to version 4.7. That’s two dozen major versions that needed updating. See also Rae Morey’s story in The Repository: WordPress 7.0.3 Patches 12 Vulnerabilities as Bug Bounty Reports Climb to 450 a Month.


August 19 is the scheduled final release date, and Benjamin Zekavica announces WordPress 7.1 Release Candidate 1 ready for your test sites. Since Beta 4, more than 145 updates landed — 57 in the Editor, 88 in Core — plus new features like the Icons API, shareable revision links, and email notifications for @mentions in Notes. Plugin and theme authors: wrap up testing and bump your “Tested up to” to 7.1. WordPress Playground lets you try it straight in the browser.


Milana Cap counts more than 310 Core Trac tickets, twenty new hooks, and roughly 600 Gutenberg enhancements in the WordPress 7.1 Field Guide, your linked index of every dev note for the August 19 release. Highlights range from client-side media processing and the always-iframed post editor to the SVG Icon API, responsive block styles, and the persistent admin bar. A candid closing section covers what didn’t make it, from the Classic block’s reprieve to real-time collaboration and React 19.


The post editor is always iframed in WordPress 7.1, and the escape hatch that let one apiVersion 2 block pull a whole post out of the iframe disappears. That’s the compatibility risk topping the developer’s audit list for WordPress 7.1 by release coordinator Benjamin Zekavica. He sorts each section by risk level, walks through the SVG Icon API’s strict sanitizer, responsive block styles, and the new DataViews filters, and closes with a checklist for your August 19 release.

The Gallery block’s ambiguous “Convert to images” button becomes “Detach,” complete with a modal explaining what happens — one of many refinements Jonathan Bossenger walks through in what’s new in Gutenberg 23.7. You’ll also find the Global Styles inheritance UI now opt-in via the Experiments page, LaTeX errors in the Math block waiting until you leave the field, and fixes for floated blocks overlapping sticky ones and Pullquote line heights in the editor.

Plugins and Tools for #nocode site builders

Variable product pages load roughly 9 to 12 percent faster and large stores get snappier Order screens, Brent MacKinnon reports in what’s new in WooCommerce 11.0. Analytics also grows more trustworthy: refunds now count in the period they happened, session counts exclude bots, and you can rerun incomplete historical imports. Guest customers can claim past orders when they create an account, and a Checkout Recovery beta lets you test messaging before a full rollout.


Getting Site Editor changes out of the database and into version control has frustrated agency developers for years, and Brian Coords argues agents make it urgent again. His experimental agent-first approach to Create Block Theme, wp-theme-control, wraps the upcoming WP-CLI 3.0 wp block commands in bash scripts and an agent skill: a plan command lists database changes, then you dry-run, export them into your theme, and optionally clear the database copies. He’s collecting feedback ahead of his WordCamp US talk.


Clients pinning comments straight onto your live pages — no logins, no email chains, no PDF round-trips — is the pitch of Ben Elwood‘s Reviso client feedback and approvals plugin. Among other page builders it’s native to the block editor, with threaded replies, status tracking, and review links that work even in maintenance mode. Version 1.5.2 switches on Suggest mode by default, so reviewers propose wording changes like tracked changes and your team applies them with one click.


Bas Buis released Dynamic OSM Maps, a plugin that adds interactive maps without Google API keys or recurring fees. The lightweight block runs on OpenStreetMap and Leaflet: in the free version you enter addresses manually, while Pro connects your custom fields — coordinates, addresses, or repeaters — for unlimited markers and popups. That opens the door for directory and listing sites to render stored location data straight onto the map.


Emily Rapport opens with Dutch tulip mania to frame the rush of llms.txt files and AI-visibility subscriptions, then does something rarer: shares a year of her own content work with real Search Console data. Her rewritten maintenance page climbed from position 50 to 13 and collected exactly five clicks — yet three inquiries arrived saying “I asked ChatGPT.” Her takeaway: publishing consistently across real topics beats chasing one niche, and you still can’t reliably trace an AI recommendation to a page.

 “Keeping up with Gutenberg – Index 2026” 
A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. 

The previous years are also available:
2020 | 2021 | 2022 | 2023 | 2024 | 2025

Building Blocks and Tools

The WooCommerce Developer Blog follows up its All Products proof of concept with the why behind it. Veronica Fasulo and co-authors lay out the value of DataViews and who it’s for: you describe a field once and it powers the list column, Quick Edit, bulk edit, and forms, instead of four hand-wired implementations. Merchants get switchable views without page reloads, extension developers get registration instead of DOM patching — and the team openly asks whether DataViews is even the right foundation.

What’s new in Playground?

A customizable Dock, auto-save, and live visual previews of your saved instances headline the new WordPress Playground UI, which Fellyph Cintra demos on WordPress.tv. The video walks through importing projects from GitHub or Zip files, previewing Core and Gutenberg pull requests, and the built-in file editor, database manager, and error logs — plus switching WordPress versions all the way back to 0.7. Feedback goes to the Make Playground blog or the #playground Slack channel.

AI in WordPress

Vercel, a major platform shipped the Vercel AI Gateway Provider plugin, by former Core AI team rep Felix Arntz. One API key unlocks hundreds of models from over 40 providers. Any AI Client plugin on your site can route text, image, and video generation through the Gateway — including the Photo to Post demo from Jonathan Bossenger’s tutorial. Automatic fallbacks kick in during provider outages, and you pay provider rates without platform fees.


Your AI agent designs a beautiful page, and Gutenberg freezes it into one uneditable Custom HTML blob. Human Made’s answer is Block Runner, now open-sourced on GitHub: a deterministic Node CLI that converts generated HTML into properly nested native blocks — wp:cover, wp:columns, wp:buttons — with real attachment IDs, and validates every result against headless Gutenberg. In the team’s benchmark, raw models writing block markup score 35 to 73; paired with Block Runner, the same models hit 93 to 99.

Readers may remember Chris Huber’s Block Format Bridge from a few months back — it tackles the same gap from inside WordPress, converting Markdown and HTML server-side at insert time, while Block Runner works the pipeline side with its validation gate and CI hooks. Two open-source answers to the same question is a good sign the agentic content problem is getting real attention.

A third piece of the puzzle: the official WordPress agent-skills repository takes the prevention route, teaching AI coding assistants to write valid block markup in the first place. For a lighter-weight approach, you can also point your AI agent straight at the updated Core Blocks Reference, where each block’s page now documents its markup, attributes, supports, and allowed nesting.

Need a plugin .zip from Gutenberg’s master branch?
Gutenberg Times provides daily build for testing and review.

Now also available via WordPress Playground. There is no need for a test site locally or on a server. Have you been using it? Email me with your experience.


Questions? Suggestions? Ideas?
Don’t hesitate to send them via email or
send me a message on WordPress Slack or Twitter @bph.


For questions to be answered on the Gutenberg Changelog,
send them to changelog@gutenbergtimes.com


Featured Image:


by Birgit Pauli-Haack at August 08, 2026 08:18 AM

August 07, 2026

Matt: Toni on Verge

Toni Schneider, Automattic’s founding CEO, board member, and now CEO of Bluesky, has a great conversation with Nilay Patel on The Verge’s Decoder podcast (YouTube, Pocket Casts). Automattic invested in Bluesky back in 2023, and I’m very excited to see what they figure out in open social protocols.

by Matt at August 07, 2026 07:30 PM

Open Channels FM: Signal – Issue 19

This week's recap highlights key insights on human connection in AI, marketing challenges with Google Ads, and the importance of simple tasks.

by Bob Dunn at August 07, 2026 10:58 AM

August 06, 2026

WordPress.org blog: WordPress 7.0.3 release

WordPress 7.0.3 is now available

WordPress 7.0.3 is now available which features several security fixes. Because this is a security release, it is recommended that you update your sites immediately.

You can update to WordPress 7.0.3 by downloading it from WordPress.org, or visiting your site’s Dashboard → Updates and clicking Update Now. Sites that support automatic background updates will begin updating shortly.

For more information, please visit the WordPress 7.0.3 HelpHub site.

Security updates included in this release

The security team would like to thank the following people for responsibly reporting vulnerabilities and allowing them to be fixed in this release:

  • Pre-auth reflected cross-site scripting (XSS) on the login screen with potential to lead to PHP code execution reported by the team at pwn.ai.
  • Contributor+ stored cross-site scripting (XSS) in posts via the emoji settings element reported by Asaf Mozes (amosec)
  • Contributor+ stored cross-site scripting (XSS) in the Post Content block reported by N05ec@LZU
  • Contributor+ stored cross-site scripting (XSS) in Quick Edit on sites with a large number of users reported by Naveen S and Ajmal Moochingal
  • Contributor+ stored cross-site scripting (XSS) in the Post Date block reported by Alex Concha of the WordPress Security Team
  • A privilege escalation issue on multisite networks with user registration enabled, allowing a user to create a new site reported by Aikido Security
  • An information disclosure issue in the Latest Comments block exposing comments on password-protected posts reported by Ehtisham Siddiqui of the WordPress Security Team
  • Enumeration of post slugs reported by HDWSec
  • Disclosure of notes in comment feeds reported by Elio Gubser
  • Author+ CSS injection via a bypass of the safe CSS attribute filter reported by Anthropic
  • Bypass of the email address confirmation flow reported by Omar Hasan
  • A server-side request forgery (SSRF) issue in URL validation allowing requests to link-local ranges reported by Andrew Mohawk and multiple independent reporters

Backports

As a courtesy, these fixes are being backported, where necessary, to all branches eligible to receive security fixes (currently through 4.7). As a reminder, only the most recent version of WordPress is actively supported. The backports are in progress and will ship as they become ready.

WordPress 7.1 RC2 has also been released, containing all applicable fixes.

CVE and GHSA references

Details of the login screen XSS vulnerability can be found in the advisory: CVE-2026-64638 / GHSA-52p2-r8wf-jcrf.

Thank you to these WordPress contributors

This release was led by John Blackbourn. In addition to the security researchers mentioned above, WordPress 7.0.3 and its backports would not have been possible without the significant contributions of the following people:
Aaron D. Campbell, Aaron Jorbin, Adam Silverstein, adrianmoldovanwp, Aki Hamano, Alex Concha, Andrew Duthie, Andrew Serong, annezazu, Barry, Bernie Reiter, Daniel, Daniel Richards, David Biňovec, Dennis Snell, Ehtisham Siddiqui, Erwan Le Rousseau, Fabian Kaegy, fiocavallari, George Mamadashvili, gubser, Isabel Brison, Jarda Snajdr, Jb Audras, Jeremy Felt, Joe Dolson, Joe Hoyle, John Blackbourn, Jon Surrell, Jonathan Desrosiers, Khokan Sardar, Lance Willett, lucasbustamante, lucatume, Marco Ciampini, Marin Atanasov, Mohammad Jangda, Mukesh Panchal, Paul Kevan, Peter Wilson, ramonopoly, SergeyBiryukov, vortfu, Weston Ruter

WordCamp US: Powered by WordPress, Driven by Community, August 16-19, 2026
Join us for the launch of WordPress 7.1 at WordCamp US 2026, August 16–19.

by John Blackbourn at August 06, 2026 06:55 PM

Matt: Our Core Division

Inspired by Automatticians James Kemp and Dave Smith, I’ve been thinking a lot about how much of our discord in the design of WordPress stems from the differences of our two big tribes: Bloggers and Builders.

Many of the OG developers of WordPress, including myself, tend more towards the blogging side. Writers, photographers, podcasters, journalists, the people for whom a reverse chronological stream on the homepage is the most obvious thing in the world. We link out a lot, love comments, social features and think a lot about the editor as a writing environment.

Builders are the site shapers, webmasters, the agencies, the companies, the content managers that think in a more page-first rather than post-first way. Tagging? Blogroll? Date-based permalinks? Who needs them. Give me custom fields, rich templates, a site editor, to craft beautiful sturdy pages that will stand the test of time. A store with a catalog of items where what changes is the inventory and ratings, not the content.

The Builders right now dominate our core development discourse, which makes sense. They hold a lot of the economic share with merchants and rich websites. They’re also more loyal. The Bloggers love their WordPress as the place they truly own and call home, but Bloggers have an account on every channel where there’s an audience, they syndicate out with an ephemerality mindset, because that reader/listener/follower connection is the spark that keeps their flame alive. A Builder would never be a digital sharecropper on someone else’s domain.

Dave Smith has been doing some very interesting explorations of a simpler site editor, and you hear his Builder bias around 3:20 in how obvious a static homepage as default seems to him.

The good news is we can coexist as we have at least since WordPress 1.5. We just need to give a little more love to the Blogger side, there’s so much cool stuff we could do in the Fediverse with RSS, ActivityPub, ATProto, blogrolls (link manager is still in wp-admin!), pingbacks…

by Matt at August 06, 2026 12:06 PM

Open Channels FM: Creative Insights and Real Talk on Modern Marketing Challenges

Marketing's evolving fast. Creators and businesses must adapt as SEO and ads fade. Experimentation and multi-channel strategies are key to surviving now.

by Bob Dunn at August 06, 2026 09:45 AM