Software Engineering in WordPress, PHP, and Backend Development

Category: Articles (Page 90 of 258)

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

Social Media Strategy: For Real? (No, But I’ve Tools)

Late last year, I started a new site in which I was aiming to talk about productivity, time management, and the like. The original announcement post covers much more than I’ll bother sharing here.

Several things have come from this blog, though. For example, I get tweets, emails, and other forms of [sometimes creepy but maybe just kidding] messages about how I run my business, how I manage my time, what applications, sites, services, and so on that I recommend.

Ultimately, the site didn’t perform as well by both by internal metrics and by what I’d hoped, but I’m still receiving some questions about how I manage certain things.

And given that this blog is still geared towards A Perspective on WordPress Development (which may change a little in the near future), I thought why not fold up some of those topics on productivity into this blog?

For some readers, it’s not going to be the content you’re used to seeing but for others I hope it answers some of the questions I occasionally receive.

That’s a bit of a longer introduction, sure, but it gives you a heads up on if you want to keep reading or not, right?


When it comes to social media, people have some social media strategy that they try to follow, implement, or whatever to garner followers (which can be lame in my opinion but I do get it from a marketer’s perspective).

I’m not writing about any social media strategy. I’ll share the tools I wire up to make sure I’m tracking what I’m interested in and sharing what I want to share.

So here’s my social media strategy, if you even want to call it that, and the tools I use.

Continue reading

Singletons in WordPress, Revisited (A Time and a Place?)

Before I start a post talking about using singletons in WordPress (or, more appropriately, the Singleton Pattern), I want to make sure that you read the following two articles:

Both of these articles provide immensely valuable perspective on this pattern and the dangers of using it whenever using it throughout our work in WordPress; however, does that mean we should completely avoid them?

I don’t think so.

Then again, I also recognize that the articles aren’t saying to completely avoid them. They are giving strong cases for how to use them and the dangers of using them should you opt to do so.

And though I’ve definitely used them in the past, I’ve generally stopped. However, I recently came across a use case for a project in which I think it’s acceptable.

Continue reading

There’s No Perfect Size for a Feedback Loop

The more I drafted this post, the more it felt like I should be writing some type of TL;DR for certain people who read this. So, in an effort to save time, here it is:

I’m writing this for those who are new to self-employment, project management, or generally have less experience than those who are asking “Why are you writing this?” Ultimately, it’s something that most of us learn at some point in this industry, but if we can help one another short cut it sooner rather than later, we all benefit.

If you’re still interested after reading the note above, then I assume you’re looking to get better at this aspect of communication. Which is good, because so am I 😏, and using a small feedback loop is one way in which I’ve found to do that.


Every industry has a bit of their own jargon and many of us laugh about it, yet we all continue to use it when in a professional setting. We’re funny that way.

Anyway, in our industry, one of the phrases that we use a lot – myself included – is “feedback loop.” The first time I ever came across the phrase was with regard to feedback from amplifiers. It had nothing to do with software. Nonetheless, in what we do we generally use it to refer to it as:

  • sending a request, comment, or general piece of information to a customer,
  • receiving a response from the customer regarding said information.

And for those who aren’t used to the idea (because there are those who do “big bang releases” which I’ll talk about in a minute), feedback loops are usually considered to be small or large.

The longer I’ve worked in software, the more I always aim for A small feedback loop no matter what.

Continue reading

On Writing Clever Code with Arrays in WordPress

I don’t know if there’s a standard for what’s considered “clever code,” but I think that if you were to show various code samples to programmers, they’d be able to know it when they see it.

And there used to be a time in my career that I was far interested in writing clever code. But the older I get and the more work I do in maintaining projects, the less concerned I am about writing clever code and the more interested I am in writing code that’s clear and read and thus maintain.

Clever Code with Arrays

Clever code is for the birds. Pardon these stupid puns.

When we work with WordPress, we’re likely dealing with arrays a lot especially given that so much of the internals of WordPress are built on them (yes, there are some objects too, but arrays are pervasive).

What, then, does clever code with arrays look like in WordPress versus less clever code? And furthermore, should we avoid aiming to write clever code?

Continue reading

Registering WordPress Hooks Using Another Class

In yesterday’s post, I talked about a WordPress plugin constructors and the rationale as to why hooks shouldn’t be in the constructor.

Though I mentioned a number of ways to handle hook registration, I didn’t bother to go into details for each of those strategies. As far as I’m concerned, they are deserving of their own article in order to provide as much detail as possible for how to set something up.

For example, one of the methods I shared stated:

  • It’s possible to create a class that maintains a registry of objects and the hooks with WordPress.

In other words, it’s about registering WordPress hooks using an object-oriented approach to decrease coupling and increase cohesion among the components in the plugin.

But what does that even mean? What are the advantage does it bring, how is it setup, and how it used?

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑