Musings on web, technology, worklife and more.

  • Resources for creating curated experiences with the WordPress block editor

    I’ve been diving into how to provide a more curated experience for people using the WordPress block editor. Here follows a (growing) set of useful resources and links that provide solid info on how to better go about this: Ryan Welcher has a great Plugin providing examples of template and block level locking. Anne McCarthy … Continued

  • I started a YouTube channel!

    Since the start of 2022 I’ve been quietly working on a new WordPress Gutenberg YouTube channel focused primarily on developers around the block editor. If you are interested in finding out more why not check out my latest video which covers WordPress 6.0 features.

  • What are controls and resolvers in WordPress Core Data

    The @wordpress/core-data package can be fairly intimiating. I spent a while a couple of months ago trying to wrap my head around it – especially the way side effects are managed via controls (and the accompanying concept of resolvers). Whilst WordPress Core Data is moving away from this model and towards thunks, it’s likely the … Continued

  • Setting default WordPress Editor Block Templates via PHP from Block Grammar

    Update: after some research it appears it is not currently possible to use block grammar in the template of a post. Therefore the contents of this post should be treated as experimental and will not work in production. Hopefully in the future we can update Gutenberg to support the suggested approach. WordPress allows you to … Continued

  • Mocking @wordpress/api-fetch in Gutenberg unit tests

    Learn how to easily mock out and control `@wordpress/api-fetch` in your unit tests,

  • Testing the Gutenberg Widgets Editor for WordPress 5.8

    WordPress 5.8 promises to bring an overhauled, block-based Widgets screen to WP Admin. I decided to give it a spin by following the recent call for testing instructions. Here’s what I found.

  • Mocking WP_Http in WordPress PHP Unit tests

    If you write automated tests for your PHP code (and you should try!) you’ll often find yourself needing to mock/stub calls to pieces of code that are not under test. With WordPress, our unit tests tend to be more akin to integration/functional tests where we’re testing that several pieces of interrelated code work well when … Continued

  • Automatically delete your Amazon Alexa voice recordings

    Many of your will have a version of Amazon’s Alex home voice assistant speaker (aka “smart speaker”). You’re also probably aware that Amazon records a lot of what you say to Alexa – nearly everything in fact! If you are even remotely security conscious or concerned about your privacy you’d probably rather avoid this happening. … Continued

  • Higher Order Reducers in Redux

    As you may already be aware, a high order function is a function that operates on another function and returns a new function. This is a type of functional composition. If you’ve used Redux for sometime you will also be aware that Reducers are simply functions which accept state and an action and return a … Continued

  • What is Middleware in Redux?

    In a previous article I wrote about how Redux stores provide a dispatch function to “send” action objects to the reducer in order to update the store’s state. But what if we want to do something before or after each and every dispatch such as logging, centralised error handling or allowing dispatch to handle action … Continued