Software Engineering in WordPress, PHP, and Backend Development

Category: Articles (Page 195 of 258)

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

WordPress at the Risk of First Impressions

The more time anyone spends with WordPress and all associated products (that is, themes, plugins, and so on), the more likely they are to also pick up on all of the commentary – both good, bad, and neutral – that surrounds the core application.

Obviously, I’m a fan of WordPress and make my living building things for it and trying to give back to the core application when I can so I know that what I’m going to say is going to come off as biased just as anyone else who writes about their preferred technology stack.

I’m well aware of the common complaints people have about the WordPress codebase and I’m not here to defend, to make statements about how it’s getting better, or to spark a discussion on how hard it is to maintain legacy features for a decade.

But if you’re a developer who is just getting into WordPress – specifically, products built on top of it – then I think that a significant portion of your first impression has to do with your experience on the first product that you use.

Continue reading

Scope Creep: Constraints, Products, and Time

Regardless of the type of project you’re working on – being side projects, freelance projects, or corporate projects – one of the things that plagues businesses the most is scope creep.

To be clear, this is not an indictment of any one party – this is something that affects anyone and everyone who is working on a product.

Look at it this way:

  • For side projects, we convince ourselves that adding just one more feature will make it all the better than it is in the current state never mind the fact that you can continue to work on this as your time permits.
  • For freelance projects, we either take the route of convincing our customer than this will be one more thing to enhance the experience, or the customer asks for just one more thing in order to “take it to the next level” never minding the idea that there is time, budgets, and constraints involved.
  • For corporate projects, this may vary widely but it can go anywhere from upper-management saying that feature-X should be implemented in order to stay competitive, or it can come from a major third-party client who has the money to fund the quick turn around of a feature.

The reason that I believe this is important is two fold:

  1. Products should have lifetimes.
  2. Time is our most valuable resource.

Nothing novel, is it?

Continue reading

Robert Herjavec, Success, and WordPress

Several months ago, I stumbled across this video featuring Robert Herjavec (most notably from Shark Tank these days), and there were a number of things he said in the video that resonated with me.

I wanted to share it because not only do I think it’s worth a watch, but because I also think there are a number things that’ll resonate with many of you, as well:

Whenever I watch videos like this, one of the hardest things to do is to distill some of my favorite quotes into a single post, but in an effort to do just that, I thought I’d share some of the ones I like and how they relate to what I – and many of you – do for a living (or for a hobby), and then just list the rest as ones that I also enjoyed.

Continue reading

WordPress Meta Boxes: The Front End

This is the final post in a series on how to achieve simplicity with WordPress meta boxes.

The whole point of this entire series has been to demonstrate how to logically separate the various pieces that go into components a project by breaking them down into related components. Though I’ve been using them as a means to an end, the purpose of all of this is not about how to use WordPress meta boxes.

Anyway, to round out the series, the last thing to do is to take a look at exactly how to leverage the work that we’ve done thus far to bringing it to the front end so that the code that works on the backend actually does something on the front.

It’s not going to be anything particularly special or unique, but it should showcase the point nonetheless.

Continue reading

WordPress Meta Boxes: Each Component

This is the third post in a series on how to achieve simplicity with WordPress meta boxes.

In this series, I’ve been talking a little bit about how to simplify the code that we write by breaking it down into more modular components, and I’ve been doing so in the context of WordPress meta boxes.

To be clear, the point of this series is not simply to walk through how to keep the logic organized that goes into meta boxes, but to talk about the various parts that go into making up a component of a WordPress projects and how we can approach them through the their specialized areas of concern, and the how and why it’s important to do this.

In the previous post, I mentioned:

  1. The Server-Side Logic
  2. The Presentation Logic

And then I asked about how we actually go about representing the data. In this post, we’ll do exactly that.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑