Delegate jQuery event handlers when working with dynamic content
If you've had the pleasure of loading up items dynamically via AJAX using jQuery, you may have come across issues where event handlers on dynamically loaded ...
If you've had the pleasure of loading up items dynamically via AJAX using jQuery, you may have come across issues where event handlers on dynamically loaded ...
If you've ever gotten down to business with WooCommerce, you'll know how flexible that beast can get. Of course, the flip side to that is how gnarly things c...
If you've built plugins you've undoubtedly spent a whole lot of time and energy finishing up on sweet new feature X only to then face the hurdle of having to...
If you've ever found yourself wanting to modify the post titles in an ACF relationship field, you may have already stumbled across the acf/fields/relationshi...
One thing I really appreciate about the Advanced Custom Fields ACF plugin is the flexibility it offers via WordPress' hook system. For most use cases, we can...
I've seen quite a few instances of people asking when and where to use PHP's alternative syntax for control structures and if you don't know what I'm referri...
Templating in WordPress is pretty easy, right? There are loads of template functions and most things are pretty well document but every now and then it's jus...
A neat feature of included files is the fact that they can return data. You can simply assign the output of an include or require statement to a variable and...
Debugging can be a lot simpler with a nice set of tools. Ideally, breakpoints and stepping through code is the way to go but sometimes it is nice and easy ju...
One neat trick I use a fair bit is hitting URLs on the command line using curl. The most common use case I have for it is checking redirects but if you start...
Updating WordPress can really start to grind on me. Everyone is constantly releasing updates for their plugins and the core team are pushing to release more ...
If you get down to business with performance optimisation, you could find yourself looking at ways to defer your scripts or even load them asynchronously. A...
This is one of those techniques that you don't really think you need until you find yourself in a situation where you do. This definitely isn't a hammer and ...
Building on yesterday's tip, I'm putting this up to show how easy it is to register a custom colour palette for WordPress' block editor; AKA Gutenberg. It's...
Ever found yourself wishing you could define an exact colour palette for ACF's colour picker field? Good news! You totally can. Using the JavaScript API bu...
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 ...
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, an...
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 th...
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...
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 ...
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 base...
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 parti...
Versioning your assets in WordPress is relatively straight-forward as the wp_register_script and wp_register_style functions both offer support for specifyin...
In recent work where I've been using tailwindcss to build my UI, I've come up against the challenge of dealing with WordPress' default menu markup. One possi...
So this has kind of caught me a few times and thought I might stick it here as a future note to self. When attempting to push to a Gist using SSH authenticat...
In a recent project using the Laravel framework, I've been getting familiar with WebSockets and came up against a situation where I needed to broadcast an e...
When crafting custom-built interfaces, I find it incredibly convenient to be able to scale the entire thing down in size for devices below a certain width. O...
From website design & SEO through to custom WordPress plugin development. I transform ideas into dynamic, engaging, and high-performing solutions.