Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 156 of 428

Using Pressmatic with WordPress Trunk

Pressmatic 1.0 was released a few days ago (with 1.0.1 made available today).

Pressmatic with WordPress Trunk

There is no shortage of options when it comes to setting up local WordPress development environments. And as with anything, there are pros and cons to each of the available products. Ultimately, this gives us a choice when it comes to setting up our machines for what works best for us.

Since the product entered beta, I’ve been reading tweets and blog posts all about it and ultimately decided to purchase it and give it a try for myself.

Continue reading

Internationalizing WordPress Plugins

Earlier this week, I shared a link to the introduction of a series of articles I’m writing on internationalizing WordPress plugins. The gist of the series is straightforward:

  1. I introduce the concept of internationalization,
  2. I demonstrate how to create a plugin that’s ready for translation,
  3. I then create the translations for a particular locale.

The second part of the series has is available via Envato. As is the case with other articles I’ve written, this post serves as a short description of the article to help determine if the tutorial covers more information you’d like to read.

And as mentioned above, this particular article covers how to write a localization-ready plugin.

Continue reading

Custom Data Validation in WordPress

Custom data validation in WordPress is something that many who have built custom solutions for others have likely used.

In fact, anyone who has made a theme or a plugin has probably used some form of data validation even if it’s just escaping some attribute that will be part of the rendered markup.

Custom Data Validation

This is a major step in making sure that anything you’re creating is securely managing information coming from the database.

But whenever you’re working on a custom solution that requires you use various elements and attributes, how can you specify only the supported attributes?

Continue reading

Get Started Internationalizing WordPress Projects

Internationalizing WordPress projects are arguably more important now than ever. With WordPress’ market share as large as it is, it’s never been used by such a wide audience.

To that end, it makes sense that a project accessible to people all over the world can be translated into the various languages said people use.

I think it’s important to make a clear distinction, though:

  • If you’re working on a project for a particular client and you know that it doesn’t need to support internationalization, then building the project for that specific language is okay.
  • If on the other hand, you’re working on a theme or a plugin that will be distributed in one of the public repositories or marketplaces and has the potential to be used by people who speak a language different than your own, then your should be internationalizing your project.

In the past few years, it’s become easier than ever to internationalize WordPress projects. And in my latest set of articles for Envato, I’m walking readers through exactly how to do it.

Continue reading

Writing Good Git Commit Messages

Git commit messages – actually, any commit messages – are one of those things that I believe start off with the best of intentions.

That is, we tell ourselves that from the outset of a project that this time is going to be different than the last time. Whereas, the last time, our commit messages started off well but, by the end, we’re writing things like:

  • Fixed some things
  • Removed stuff
  • Refactored the function

Sure, this is a bit facetious, but the point is that if you look at commit messages for a lot of projects, they start off far more detailed in the beginning than by the end of the project.

I’m guilty of this, too. How, then, do we stick with good commit messages (and specifically, good Git commit messages, since so many open source developers use that service)?

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑