October 2019

Cache jQuery selectors for more efficient JavaScript

Having worked in collaborative and team contexts, I’ve had my fair share of situations where I’m working in amongst someone else’s code. There are plenty of things I could gab on about but one issue I commonly see is duplicate jQuery selectors. Now, for really small scripts, duplicate selectors won’t cause you much heartache. However, […]

October 2019

Customise ACF’s WYSIWYG field toolbars for a simpler admin experience

The ability to control exactly what buttons are available in a WYSIWYG field is a really neat point of customisation available in Advanced Custom Fields. The WYSIWYG field is definitely convenient but I often find myself needing to use it for no other reason than the most basic of formatting. Leaving too many options in […]

October 2019

Use WP CLI to tinker with your codebase via an interactive shell

If you have access to WP CLI I can’t recommend it enough. Since I picked it up it has saved me so much time during development. It helps me scaffold code, analyse the installation, update core and plugins, and it even helps me test code on the fly. Testing code on the fly with wp […]

October 2019

How to get Advanced Custom Fields to load JSON files from more than one directory

If you use Advanced Custom Fields a lot you are probably using ACF’s very awesome Local JSON feature. By default, ACF saves and loads all JSON files from the acf-json directory inside your theme but it is possible to take control of ACF’s behaviour to define your own custom load points as outlined in the […]

October 2019

Use closures for basic encapsulation when writing jQuery

If you are writing a lot of jQuery you’ll likely have files with loads of JavaScript functions and variables that may be completely independent and shouldn’t interfere with each other. If you have a lot of this going on (or even if you don’t) you might consider wrapping up related variables & functions using closures […]

October 2019

A function for temporarily changing the WordPress post context

If you’ve ever found yourself in a situation where you need to render something from some other post whilst in the context of another, you may have ended up just overriding the global $post variable. It works fine but can be problematic where you mess it up or just forget to clean up after yourself. […]

October 2019

Get an ACF sub-field key by field name

Having written plugins that extend the very popular WordPress plugin Advanced Custom Fields (ACF), I’ve come up against the need to work out a field’s key based on its field name. This normally comes up when structuring data for programmatic field update as ACF needs to the values mapped to field keys when updating complex […]

October 2019

A utility CSS class for removing margins on first and last child elements.

I’ve recently been developing sites using a utility-based approach with my CSS and I’m kinda loving the flexibility that comes with this paradigm. One particularly useful class I seem to use a lot is one that removes margins from the first and last elements within a container. I use this a lot because I tend […]

October 2019

How to automatically version WordPress assets using their last modified time

Versioning your assets in WordPress is relatively straight-forward as the wp_register_script() and wp_register_style() functions both offer support for specifying a version as a function parameter. It’s easy to use because you simply pass it a value but it’s also simple to forget which could result in site visitors loading up stale versions of CSS and […]

August 2019

How to bypass Elementor’s maintenance mode using the query string

I recently found myself in a situation where I needed to test the non-logged in user experience while Elementor’s maintenance mode was enabled. The quick and easy solution I came up with was to override the option Elementor uses to enable maintenance mode when the query string contained a parameter of my choosing. Using the […]