Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 279 of 428

How Not To Market WordPress Products (or “Why Customers Don’t Care”)

If you’re any sort of a WordPress developer, then one of the things that you’ve no doubt noticed is how we market our work.

I’d say that it can be divided into two camps:

  1. You have the developers who promote the features, design, and options that the theme or plugin offers.
  2. You have the developers who promote all of the things that have gone into the theme as to what makes it significant.

When it comes to marketing WordPress themes or plugins (or any product, for that matter), then the first group has it absolutely correct.

The second group, on the other hand, can take a few cues from the first group – namely, stop trying to market your WordPress products based on the tools and technology that were used when working on the project.

Continue reading

Dealing with Custom Post Types, Taxonomies, and Permalinks

Comments are closed on this post. Please leave your thoughts on this original article.

One of the most confusing aspects of working with WordPress is managing its rewrite rules. For anyone who has taken a dive into the Rewrite API and looked at how it works, and how to customize it to fit your own needs can vouch for this.

Honestly, if you’ve ever done any work with custom post types, taxonomies, and permalinks and worked with the rewrite parameter (or perhaps have left it out), then you’ve experienced a little bit of the confusion (or frustration, perhaps) that can come with it.

For those who have been wrestling specifically with the latter, I wrote up a short guide for making sense of this occasionally confusing aspect of WordPress.

Continue reading

An Example of How To Remove Empty HTML Tags

One of the most tedious aspects of building WordPress themes is customizing and styling the comments template. This includes not only the comment form and the pingbacks, but the response text, as well.

Don’t get me wrong: It could be worse, and after you’ve done it a few times, it’s likely that you’re going to use many of the same strategies that you’ve used in previous themes or templates.

But there are examples in which certain elements will render as empty HTML tags. If you have given those tags a specific, say, background style then it can really create somewhat of an ugly experience for your readers.

The challenge, then, comes at being able to remove empty elements before the user can see them. But there’s a catch: It can’t be done on the server side because the server side sees the HTML as you would expect it to be rendered whereas the browsers take the liberty of parsing the document and adjusting the markup so that it’s a bit more semantic.

At least that’s what most of them try to do.

Anyway, this can cause some unintended side-effects.

Continue reading

Using WP_Query To Get Posts From Last Week

One of the most powerful aspects of the WordPress API is WP_Query as it allows us to retrieve a wide variety of content through a relatively simple interface.

That is, it allows us to retrieve complicated datasets ranging from custom post types, post status, date ranges, taxonomies, meta data, categories, and so on all with a relatively standard set of PHP constructs (mainly arrays) and with a really solid reference in the associated Codex article.

One of the nicest things about WP_Queryespecially since WordPress 3.7, are the advanced date query parameters that we can use in order to retrieve information from a specific date range without having to do a lot of complicated date math (which, of course, is every programmer’s favorite aspect of development).

If you learn how to use that particular aspect of WP_Query and you’re familiar with PHP’s strtotime function, then you can retrieve posts from a range of dates easily.

Continue reading

Bug Ticket Triage for WordPress Themes

One of the things that I try to do with my projects is to create quick, iterative releases. When it comes to client work, I’ve made a lot of progress with this over the past year; however, when it comes to working on products (be it plugins, themes, or something similar), I’m not as good as I’d like to be.

Nonetheless, I’m still working on it and one of the ways in which I’m trying hard to focus on that is through creating a system of bug ticket triage.

Sounds all fancy, right?

Sounds fancy.

It’s not :).

Basically, it’s a way that I sort tickets as they come into the support channel and decide how I’m going to be resolving them according to their level of severity.

Though I don’t think there’s a definitive way to do this, I thought it might be worth sharing how I’ve been doing this with Mayer (as well as some other client projects) in order to try to create the leanest release experience possible.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑