Software, Development, and WordPress

Category: Articles (Page 1 of 236)

Personal opinions and how-to’s that I’ve written both here and as contributions to other blogs.

Using a Registry, Subscribers, and Services in WordPress

TL;DR: I find the using a registry, subscribers, and services very useful when building backend-centric plugins and utilities for WordPress. This post walks through how to do it.


After working in with design patterns, object-oriented programming, and WordPress for years, common ways of solving problems are bound to arise.

This is how we got object-oriented design patterns to begin with, so maybe this is a WordPress-centric variation of that.

Though I’ve written about things such as registries in previous articles (and ones that are not that old even), it’s never a bad idea to revisit the same topic especially when there’s something to continue to add to the previous take.

Continue reading

Debugging WordPress with Ray, Part 2

TL;DR: Here’s another way to start debugging WordPress with Ray using Composer on a project-specific basis.


Last week, I wrote a brief introduction on Ray, what I like about it, and why I enjoy using it with WordPress. I also gave a brief tutorial on how to use it in your day-to-day but that was it.

Ultimately, I want to cover more about the application from a development and debugging standpoint (as I had some great feedback about it on Twitter – thanks for that!). Before doing so, though, I thought it would be more useful to start with one more tip on how to get started using it.

Namely, how to use Ray with WordPress in a Composer-based workflow.

Continue reading

Debugging WordPress with Ray, Part 1

TL;DR: This post gives a high-level overview of what kind of app Ray is and how to set it up for use in WordPress.


For as long as I’ve been involved with WordPress development, I’ve consistently seen developers – myself included – consistently use print_r and var_dump whenever they need to see what’s going on within their code.

And this is okay for smaller data structures like looks at objects, arrays, and so on. Then on the other end of the debugging spectrum, if you need to step through code to see what arguments are being passed into a given function from where and with what value, then using something like Xdebug is incredibly helpful.

Until recently, I didn’t think there was middle ground. But then I found Ray and I’ve been using it ever since.

Continue reading

How To Downgrade Composer, PHP, and NPM

TL;DR: If you’re working on a variety of projects each of which requires different versions of PHP, Composer, and/or NPM you may need to change the version of all or any permutation of any of these utilities.

This article outlines what steps need to be taken to downgrade Composer, PHP, or NPM when working on any given project.

Continue reading

Programmatically Search WordPress Posts By Date Range

TL;DR: The code shared in this post shows how you can modify the query that runs on the All Posts page so you can limit how you search posts to a specified date range.

It’s been a little while since I last wrote about using the post_where filter for modifying the search query that runs on a given page, such as the All Posts area of WordPress. But given the fact that there are a variety of uses for retrieving posts – and custom post types – in different ways, there’s a variety of ways to use this single filter.

Continue reading
« Older posts

© 2021 Tom McFarlin

Theme by Anders NorenUp ↑