Find Untagged Posts in WordPress

It’s common for people to categorize or tag their posts when using WordPress. This is true for the average blogger and for those who are using WordPress for its content management features.

For example, let’s say that you’re responsible for working on a site that has an RSVP custom post type and the post types can be tagged for certain types of events.

Tags may include:

  • Formal
  • Informal
  • Wedding
  • Birthday
  • Family
  • Friends
  • …and so on

Overtime, the database is going to increase in size and if RSVPs aren’t manually entered (that is, they are imported or maybe the database is even inherited and mismanaged), there’s a chance that some of the posts will not be tagged.

If you’re a developer, the odds are strong that you’re going to need to at least locate the untagged posts (and perhaps update them, as well).

Steps for Soft Launching WordPress Products

One of the things with which I’ve just started experimenting is soft launches of product updates. That is, I’m providing updates to users of certain plugins through automatic updates in order to garner feedback – if any – prior to announcing it and launching it to everyone else.

For those involved in the software world, this is nothing new, but for those who are just getting into building products for others or who are looking for ways to test the proverbial waters of their projects without a public announcement for every single release, then this isn’t a bad idea.

Wikipedia defines a soft launch:

A soft launch is the release of a website, hotel, or other product or service to a limited audience. Soft-launching is a method for gathering data on a product’s usage and acceptance in the marketplace, before making it generally available as a hard launch or grand opening.

I think the idea of soft launches, open source, and the general WordPress economy is a really broad topic about which there’s a lot to discuss, but I thought I’d share some quick ideas based on my experience for those who are looking for a process on how to perform soft launches of their work with their existing customer base.

Code Quality, Disrespect, and Developers (Or “Do Not Be a Jerk”)

Yesterday, I received an email from someone who was kind enough to contact me about a security vulnerability that existed in one of my plugins (past tense because it’s been fixed :). This wasn’t so much an issue of code quality but potential security problem that could’ve been exploited by taking advantage of how PHP handles file uploads.

Generally speaking, this is one of the luxuries of open source – you’ve got other people who can spot vulnerabilities in your code and who can give you a heads up as to how to fix it. Of course, the flip side of this isn’t so nice – someone discovers a vulnerability, exploits it, and then you’re left dealing with whatever the fall out may come from that.


Watch out for this guy. He's after your code.

Watch out for this guy. He’s after your code.

Anyway, the understood protocol with security vulnerabilities usually works like this:

  1. The person who discovers the vulnerability contacts the developer(s) of the software to notify them of what they’ve found.
  2. The author of the software has a chance to respond and/or patch the software.
  3. Before the person who discovers the vulnerability opts to publicly share the story, the developers have 24-hours to provide a fix (or, at the very least, a statement about the problem).

This may play out in slightly different ways, but you get the idea. Naturally, you’ve got those who don’t follow this protocol at all, but that’s not really the focus of this particular post. Haters are going to hate and all that jazz.

Instead, one of the things that seems be happening more and more frequently is people calling other people out about the quality of their code via Twitter.

Should these situations be treated that much differently?

The Usability of WordPress Featured Images

Featured images (also referred to as “post thumbnails”) are nice features to include in WordPress themes, but there are times where I question their implementation.

I know, I know: talking about stuff like this can come off as frivolous, but I think that if you deeply care about what you’re working on, then evaluating the decisions – every one of them – that go into your product matters.

And since featured images are a decision that need to be made when working in theme development matter, then it’s worth evaluating their implementation.

Your Own Instance of the WordPress Media Uploader

One of the nicest features of WordPress 3.5 was the introduction of a refresh of the WordPress Media Uploader.

For developers who aren’t familiar with the change, the short of it is a new version of the media uploader was built using Backbone.js and Underscore.js both of which are newer JavaScript libraries that introduce a different type of structure to creating JavaScript-intense web applications.

Sometimes, one of the challenges that comes with working with any new feature is the lack of documentation around how to take advantage of it. When that happens, you’re more or less left to dig into the core source code and/or the documentation for each of the specific libraries to learn how to use them.

Educate Your Users in Open Source Software

One of the things that I’m working hard to have released by the end of the month is the latest version of the WordPress Plugin Boilerplate.

The latest version has been in development for quite a while now (a lot has happened offline so, you know, that’s how it goes).

The last time that I really spent any time talking about this project was in November 2013. A lot has changed since then. Initially, I was planning on a minor upgrade with some of the following features:

  • Releasing the version has part of the 2.x.x versioning
  • Including a class specifically for administrative functionality
  • Fixing issues with symbolic links and textdomains
  • Including more TODO’s for users to find what needs to be changed
  • …and so on.

But when I got started on the next version of the Boilerplate, a lot of things changed. The short of it is that it’s being completely re-written from the ground up and the code and documentation are being split into to separate things for the sake of user education.

I’ll spend more time talking about the Boilerplate in a future, but one of the things that I wanted to share that’s related to running a project like the Boilerplate has to do with open source, contributions, lack of a vision, and how this can negatively impact your project and your users.

Start Nitpicking Your Source Code (Or Someone Else Will)

Earlier this week, a fellow WordPress programmer whom I respect (and who is doing amazing things with his Aesop Story Engine) shared the following tweet:

Truth be told, I wasn’t sure if he was being sarcastic or not. This isn’t his fault, of course, but my own ability to discerns, y’know, tweets. So I did what anyone would do in that situation: I asked him if he was being sarcastic or not to which he replied:

nope no sarcasm there. the nitpickers provide amazing value

And he’s right.

Someone is going to be nitpicking your source code.

Someone is going to be nitpicking your source code.

This post is not about my opinions or observations as to how we tear one another down online under the guise of trying to help one another (that’s another post for another time), but it’s about the idea for which I completely agree (and that’s mentioned in the tweet above):

because it matters what’s on the side you don’t see.

Because I believe it does, and because I think that a number of people are sloppy. There’s a just get it working mindset, and I’d love to see more people take pride in their work and stop shipping code that has the same amount of details “on the side you don’t see” as on the side that you do see.

Steps to Becoming a World Class Programmer (In a Lifetime)

One tensions that I’m not sure every goes away for programmers is that of “Am I learning enough?” If it does, I’d like to know when so I can prepare myself :).

Here’s the thing: Technology, and programming specifically, move really fast and there’s a lot not only to keep up with, but to be aware of on a week-to-week basis. Notice that I did not say that there’s a lot of to learn on a week-to-week basis.

Very, very early in my career I used to feel as if I needed to keep up with every single new programming language and/or related technology in the software world as it releases.

Talk about a fools errand.

Even as I began working with what is now known as Pressware, I was focusing both on Ruby on Rails and WordPress at the same time. Then something changed: I dropped Ruby on Rails (not because I dislike it – critiques aside, I actually am a big fan of Ruby and what the Rails framework offers), but because I began to think:

“If I dedicated my time to one area rather than splitting it into two areas, could I be a better asset to those whom I’m tying to serve?”

But this question can be generalized even further because our culture releases tons of new stuff every single day, and there’s an implied level of “you should learn this” that comes along with it.

And if there’s not, then either I’m misunderstanding the plethora of comments, blog posts, and other pressures induced by the Internet.

Learn to Build an Online Store With WordPress

Comments are closed on this post. If you have a question, comment, or other feedback, then please contact me.

Just a little over a month ago, I shared a post in which I attempted to gauge interest about those who are looking for how to build an online store using WordPress.

In the post, I distilled it down to this:

I’m going to walk you through the process of what I did to launch The Pressware Shop and help you avoid the pitfalls that I encountered along the way.

Obviously, this is something that’s a bit niche in that it deals with WordPress and it’s talking about how to sell digital products using the platform; however, I received enough feedback to move forward with the event.

Stop Including Custom CSS in WordPress

One of the things that I think many, many young (that is: inexperienced) theme developers do is ship a custom.css file in WordPress. Years ago, I made the mistake so I’m just as guilty as the next person.

Unfortunately, this is something that’s still happening today - we need to stop including custom CSS in WordPress and use the native facilities to take advantage of the same functionality we’re trying to achieve with this particular file.

Here’s the thing: Normally I wouldn’t bother talking about something like this because the Codex does such a good job of outlining the proper way to introduce customizations into themes, but I recently received a comment (that I’ll paraphrase) in which I was told that:

In the real world not everyone uses child themes.

Odds are, many of us have heard the old cliché that:

The difference between theory and practice is that in theory there is no difference.

And when you’re talking about something like a complex algorithm for traversing, say, the shortest path across a graph over a large network, or when we’re talking about something like properly handling memory in embedded systems, talking about theory and the real world makes sense.

That is, all of those cases are important and are worthy of optimization, but we’re talking about a single CSS file.

We’re not talking about a complex system.

And it concerns me that those who are contributing to the WordPress economy through products aren’t taking the built-in features of the application seriously. It’s seen as some bit of impracticality that they don’t want to pursue.

But this introduces it’s own set of challenges that negatively affect theme development from both a developer and a customer standpoint.