Create a Virtual File in WordPress with Support for WordPress Multisite

Recently I was working on a WordPress Multisite instance, and I needed each site (multilingual in this instance) to have their own unique dynamically generated sitemap. I generated these sitemaps by creating virtual files within WordPress. This article shows you how to create a virtual file, and then how to ensure that that virtual file …

Import your Existing Website into a WordPress Install via RSS

Do you want to import an existing website into WordPress? Does that existing site provide an RSS feed? Then this is the article for you. The great news is WordPress has a default importer for RSS. Simply go to Tools > Import via your WordPress dashboard. If you haven’t already you will need to install …

Converting React.createClass to React.Component

In my last article I talked about patching older versions of React to work in a modern environment. In this article I go one further and give a step by step guide to upgrading a classic React component to a modern one, by switching out the React.createClass way of doing things to the modern and …

Broken React.createClass Component? Let’s Fix It!

If you are building WordPress Gutenberg Blocks (or even if you are not) you may be trying to get a third party React Component working in your build. But if it’s an older element, specifically one that uses the deprecated React.createClass method, you may get stuck. The files that accompany this tutorial are in the …

Working with Gutenberg and the WordPress REST API

In this article I take the Select2 component that I previously added to my Gutenberg plugin, and make it dynamic by taking advantage of the WordPress REST API. This code borrows heavily from the Secure Blocks for Gutenberg plugin. In this example we will be making the ‘Select Roles’ Inspector use dynamic data from the …

Introducing Secure Blocks for WordPress Gutenberg

Secure your content in the WordPress Gutenberg editor via login or by user role, with Secure Blocks for Gutenberg. Available for download now in the WordPress plugin repository. Using Secure Blocks you can add any Gutenberg block inside a secure block, and have it render only to logged in users, or you can lock it …

Add Select2 as an InspectorControl in WordPress Gutenberg

For a project I was working on I wanted to use Select2 as a Gutenberg InpectorControl to allow me apply settings to a block. This tutorial will also give you the foundation you need for getting any third party React Component into the WordPress Gutenberg Editor. Select2 is a super handy replacement for select boxes on …

Turning a Broken Windows Laptop Into a Working Chromebook

My wife owned a broken old Acer Ultrabook running Windows 10 (originally running Windows 7). It was a lovely little thing when it was new with some great specs, but as the years went by it became unusable. So I took it upon myself to ‘fix it’. And by ‘fix it’ I mean turn it …

WordPress Syntax Highlighting (Colours) for Code Blocks

You may have noticed that the code examples I use on this site (which runs on WordPress) use a default <code> block, but the code is presented with different colours due to code block syntax highlighting. On my site I use the new (at the time of writing this) WordPress 5 ‘Gutenberg’ editor, which has a …

Dynamic Variable Names in PHP

A question I sometimes get asked is can you dynamically set the name of a variable in PHP. For example someone may have a loop, and they want the variables in that loop to have unique names. The answer is, yes this can be done! I’ll tell you how, but I’ll also tell you that …