Software Engineering in WordPress, PHP, and Backend Development

Category: Articles (Page 10 of 258)

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

WordPress is a Foundation, Not a Framework

In 2016, I wrote a post about why WordPress is a foundation, not a framework. Though I don’t participate much on social media any more (I certainly lurk, but don’t converse), I’ll see things I’ve not thought about, things I’ve thought about, and things worth reconsidering.

And in an effort to continue writing more regularly and to revisit things I’ve previously written (because that’s healthy, right?), I thought I’d address something I recently read:

We need to stop thinking of WordPress as a CMS and start thinking of it as a framework.

There’s a litmus test as to what defines a framework and what defines a foundation

  • A framework doesn’t function until someone builds something using the tools it offers.
  • A foundation is an application that can run on its own without any additional functionality but it offers APIs that allows developers to build things on top of it.

To that end, WordPress is a foundation. Not a framework.


Note: It’s not that I don’t want to attribute the quote to the specific person out of disrespect; on the contrary, I’ve seen enough subtweeting and general unpleasant discourse online that I don’t want to spur that. It’s not about talking about the person; it’s about talking about the idea.

Yes, They’re Still Exciting: Headless WordPress Applications in 2023

In r/ProWordPress, OP asked a few questions around Headless WordPress in 2023. One question stood out the most:

Developers who develop headless WordPress sites, how are things going in 2023?

Given all that’s happened within the core WordPress application over the last few years – that is, with the Block Editor and Full Site Editing – it’s not only easy to lose sight this is functionality built into WordPress but there’s likely a portion of people onboarded into WordPress development who do almost nothing with this type of work.

Even with all of the excitement around the new editing tools and how much JavaScript has been introduced into WordPress core, building headless applications with WordPress is still something I find to be one of the most powerful aspects of working with the application.

Continue reading

The Deep Life: Me, A Case Study

Back in June, I wrote an article called Living Deeply, Writing Broadly and tagged it under TDL. I haven’t done much with that particular tag since writing that post, though.


Earlier this week, a close friend sent me the following text (with some context removed for the sake of keeping it concise):

Clear writing gives poor thinking nowhere to hide. A lack of understanding, which was previously invisible, becomes suddenly visible. You can’t simply take a few minutes here and there, get the gist of the problem, and expect to have clear writing. It doesn’t work that way.

How to Think Better: The Skill You’ve Never Been Taught

Not so long ago I used to write daily even if it wasn’t for this site. I’d write in a journal or in a notebook or a field guide just to get some thoughts done.

Not everything worth writing is necessarily worth publishing, but perhaps nearly everything deserving of serious consideration is worth putting into writing. At least in terms of working on or working out an idea.

Couple that with a recent podcast from Cal Newport in which he breaks down what he calls The Deep Life Stack along with many of the things I’ve been working to practice in my day-to-day for the last couple of years and you have somewhat of a structure for how I’ve been trying to organize this particular phase – or season, as some say – of my life.

If you listen to any of Newport’s podcasts or any others that talk about this type of stuff, they often cite a case study or multiple case studies throughout their episodes or book. So why not take the material I’m learning and turn myself into my own case study?

Continue reading

How To Build Headless WordPress Applications with a REST API

Since both the REST API and Headless WordPress applications are now mainstream within the WordPress development economy, it’s likely developers have a standard set of tools they like to use when working on these types of projects.

Yours truly not excepted.

And though I’m not making the case that my set of tools should be the standard, I have a set of tools that I’ve found and consistently use when building headless WordPress applications with a REST API.

  • MailHog
  • Insomnia
  • JWT Auth

Though this isn’t in any particular order, I’ll outline them here, how I use them, and explain how they help with login and authentication, testing custom API endpoints, and reviewing emails sent from the local development environments.

Continue reading

Don’t Forget: Remember to Build Tools

As programmers, we’re used to leveraging all kinds of tools that help us to do our jobs be it something such as a debugger to something that helps us standardize our code to something that helps us to deploy our code to whatever platform we’re releasing our product.

And there seems to be a pattern that emerges for many of us as we work through our career:

  • We often try to write everything we can for ourselves (we have the time, energy, and desire to do so).
  • We start leveraging tools that helps us to achieve our primary goal (we have the know-how to use pre-existing, high quality utilities that help us to write better code or work with a larger project).
  • We develop a work flow for working in our niche and outsourcing all of the things that can be automated to third-party tools (we know what we need to focus on and leave the rest to other tools).

But do these tools that are part of our workflow always help us get our work done on a small scale? In other words, why don’t we remember to build tools for ourselves to use?

Continue reading
« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑