Software Engineering in WordPress, PHP, and Backend Development

Author: Tom (Page 15 of 428)

Effortless Documentation with Modern Tools

This is a long article on The Surprising Power of Documentation and I think it’s worth a read, but it’s also geared toward implementing a documentation-first mindset in an organization.

This isn’t something I’m concerned about focusing on in this post but there are a few points the articles are makes and it reminded of a few things that I’ve done over the few months – especially with the growth of tools such as GitHub Copilot Chat – to make the documentation process almost effortless.

Continue reading

Sodium Compat: PHP Sodium Functionality via Composer

If you’ve worked with PHP with any length of time and needed to use some type of built-in encryption, you’ve likely seen something about the Sodium library in the manual.

Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. Its goal is to provide all of the core operations needed to build higher-level cryptographic tools.

Unfortunately, the module that contains this library isn’t always installed with the PHP binary. It then has to be either re-compiled or enabled by a package manager. If you don’t have the ability, time, or access to do any of those, then there’s a solid alternative for the native library that can be installed via Composer: Sodium Compat.

Continue reading

Living Deeply, Writing Broadly

Multiple times, I’ve drafted notes, written, and re-written parts of this post in an attempt to find the best way to start. And, I know, oftentimes writing qualifying statements or short paragraphs like this is considered something we shouldn’t do when publishing content.

But I don’t think I’ve the best track record of doing the things that I should be doing whenever writing on this site and I tend to write how I want, more often than not, about whatever it is I want to share.

Why buck the trend?

Continue reading

Quick Tip: Verify Minimum PHP Version

Assume that your plugin requires a minimum version of PHP and you want to prevent activation if the minimum PHP version isn’t met.

Add the following code after you’ve declared your namespace, checked to make sure the plugin isn’t being directly accessed and so on:

if (version_compare(PHP_VERSION, '7.4', '<')) {
    exit(
        sprintf(
            'The plugin requires PHP 7.4 or higher. Your WordPress site is using PHP %s.',
            PHP_VERSION
        )
    );
}

If the comparison fails, then an error message will be displayed on the plugin activation screen along with the string you’ve passed to the sprintf function.

Manipulate Incoming WordPress REST API Requests

As I’ve continued to work with integration mobile applications with the WordPress REST API, there have been a few instances in which I’ve wanted to inspect, manage, or manipulate incoming REST API Requests.

There’s a number of reasons you may want to manipulate incoming WordPress REST API requests before they actually begin interacting with the core application. In my case, I needed to determine:

  • which endpoint is being requested,
  • check whether or not a specific key is being bassed,
  • return an error if not or proceed with further processing.

But that’s one of many different possibilities available. What I’m more interested in, at least in this article, is showing how to manipulate a request before it’s actually sent to be processed.

Continue reading
« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑