Software Engineering in WordPress, PHP, and Backend Development

Author: Tom (Page 62 of 427)

Merry Christmas and Happy Holidays (From 2018 To 2019)

From Christmas to New Years, I’ve typically taken time off of work to celebrate the holidays and to spend time with family and friends.

Merry Christmas 2018

During this time, I usually spend time off of social media and blogging and this year is no different (in fact, I’ve been off certain services for the last month or so save for the work day).

To that end, I’m looking forward to hanging out with my friends and family (and each year gets more and more fun and interesting as the kiddos get older).
Continue reading

Composer Without Continuous Integration

If you’re a WordPress developer who is using Composer without continuous integration, then odds are you’re left with a crucial step of figuring out how to manage the vendor directory when deploying your plugins.

Composer Without Continuous Integration: Composer

That is:

  • We know it’s a bad idea to throw the entire vendor directory under source control,
  • Other developers who are familiar with using Composer should be able to get up and running without the need for much instruction,
  • Continuous integration isn’t being used for any number of reasons,
  • And we’re left with needing to provide a production-grade deliverable that uses certain dependencies but not others.

As much as the above points may describe our situation, it doesn’t tell us what we can do with it.

In other words, here’s the use case: You’ve built a WordPress plugin for someone. This plugin uses a variety of dependencies all of which are maintained by Composer.

You’re not checking the vendor directory into the repository, but you’re also not using continuous integration to deploy the plugin. Instead, the customer is, or a third-party is.

So what then?

Continue reading

WordPress Widgets: Refactoring, Part 4

We’ve implemented a significant amount of changes to the WordPress Widget Boilerplate. If you’ve not been following along, I recommend starting at the beginning of the series and catching up.

If, however, you’ve been following along and you’re also running some of the code quality tools that examine the state of the project, then you’re going to notice a handful of errors in the console.

WordPress Widgets: Refactoring, Part 4

Normally, this is the point where I recommend paying attention to what it shares and then fixing whatever it reports, but we’re not there yet.

For example, some of the errors that our tools are showing right now are based on the fact that we have unused variables. Of course, that’s the case, though, because we haven’t started building a widget.

But there are still a few concrete classes we need to implement.

Continue reading

Back to Twentyseventeen for My Blogging Theme

In the last couple of months, there have been a handful of theme shops that have been acquired by larger hosts. There are obvious benefits to those who run both the shop, the hosting company, and to the customers of the given hosting company.

This also, however, leaves niche theme shops in a unique position. I’m in the process of slowly re-building my business’ site. And in the meantime, I’ve asked the following a question (a few times, actually – yes, I’m quoting myself in a tweet 🤷🏻‍♂️):

The reason I ask, though, is two reasons:

  • for the past half-a-decade, we’ve watched the entire theme landscape change,
  • with the changes that have been introduced into the editor in WordPress 5.0 and what’s coming in the future phases as outlined in the State of the Word, I wonder how this impacts small businesses but bloggers as well.

And the purpose of this post has more to do with the latter point than anything else.

Continue reading

Custom Archive Templates: A Short Guide

Whenever you’re working with archive templates in WordPress, posts are typically listed by date in descending order. That is, the most recent posts are listed at the top, and then it goes from there.

Lately, I’ve been working on a few projects that integrate with third-party APIs. These APIs return dates – sometimes two dates, a start date, and an end date – for a given event and customers want to use that information to list posts rather than the date of the post. That is, they want custom archive templates.

It’s not too hard to do this, but before doing so, I think it’s important to give some background information on how the project is built so there’s a bit more context around why, say, a custom query is needed and why you may or may not need to look into pre_get_posts.

I’ll start with a TL;DR first, though. That way, you can get the idea before reading the whole thing.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑