Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 223 of 428

Include Bugs in Screencasting

For a number of years, I’ve been doing screencasts that help to teach others how to use WordPress – the majority of my work has been done for Envato, but I’ve also done some one-on-one screencasting as well as some screencasting for smaller teams.

Personally, I think it’s a really invaluable way to show people how to get started with using a given project without having to have them trudge through the documentation that often ships with software or with the manual that walks users through how to do a certain task.

Don’t get me wrong: I’m all for documentation, but I also know that when you’re sitting in your chair amidst all of this frustration and you have no idea where to turn, flipping through pages and pages of content hoping to find a solution isn’t always the best feeling in the world.

Anyway, the neat thing about screencasting is that aside from being able to show people how to use a project, it can always be a means by which we use to teach other people how to learn a new skill.

To me, that’s a really cool thing.

But up until this year – in fact, up until my latest round of screencasting – I always worked hard to make sure each video was as pristine as possible.

I don’t know if that’s always such a good idea, though.

Continue reading

Avoid Loops With save_post in WordPress

When working on WordPress projects, there may be times during which you have to do some sort of processing on the content or attributes of the post before saving it to the database.

There are a number of ways to do this, but one of the most straightforward ways to go about it is to setup a custom function hooked to the save_post action and then handle the attributes of the post in that function.

If you opt to go this route, there are a few considerations that you need to make (mainly that help you avoid some type of infinite loop) in order to properly adjust the content to your liking.

Continue reading

Debugging with Query String Parameters

There are a number of ways that we debug our WordPress-based projects.

  • Some people end up going through the code and setting up `print_r` statements or `var_dump` statements
  • Some end up working through the code and changing variables or function names until they find where something breaks (or changes)
  • Some use debugging software (or the debugging features in their IDE)
  • Some use a combination of plugins and other techniques
  • And some likely use some strategy that isn’t listed here

Personally, I’m partial to using some of the developer tools that are provided by WordPress through the use of setting constants and using plugins that are available to us, but I’m also a fan of using Codebug App (which is the content for another point).

Codebug App

But, for the purposes of this post, that’s beside the point.

Continue reading

Confessions of a WordPress Developer

For the last five or so years of my self-employment, a lot has changed. And I’m not talking about the technical landscape. I mean, that’s always changing, right?

But I’m talking about the way that I manage my time and the way that I get work done.

Unfortunately, the Internet has adopted this culture that allows everyone to share how they manage their time and then try to distill it into some type of step-by-step process that can be used by everyone.

That’s not the point of this post. I don’t operate that. I rarely subscribe to that advice, and I’m not going to be that guy.

Furthermore, I tend to ignore (and even reject) posts like that. We have many different personalities and so many variables that contribute to what we’re able to do, when we’re able to do it, and how we’re able to work that I don’t think it’s possible to actually distill something into a formulaic process.

Instead, I think it’s worth simply sharing ideas on what’s worked for ourselves and leaving it at that. This doesn’t mean that there aren’t some things we can borrow from others – because there is overlap in our personalities – but it also means that some of these posts are nothing more than informational pieces. And that’s fine.

So with that lengthy disclaimer out of the way, I thought I’d share some of the things that I currently do in order to manage by day-to-day tasks to get things done.

Anyway, here’s my first set of what’s to likely be more in posts that deal with confessions of a WordPress developer.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑