Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 162 of 428

Speaking at All Things WordPress North Atlanta

In a little less than a month, I’m going to be speaking at All Things WordPress North Atlanta. The meetup is run by Mickey Mellen of GreenMellen Media and who also helps co-organize WordCamp Atlanta.

All Things WordPress North Atlanta

I’ll be giving a talk called Work and WordPress: Pressware, Publishing, and Passion. Regardless of if you’re a user, implementer, or developer, there should be something for everyone.

Here are the details for the meetup.

Continue reading

Supporting More MIME Types in WordPress

Please see this comment for updated information about this filter.

If you have a project for a client or perhaps just for yourself, you may find that you need to upload a file in the WordPress back-end that is not supported by the core application.

Depending on the type of file that you want to introduce, you may need to add support for additional MIME types. Luckily, this is easy enough to do.

MIME Types in WordPress

No, not that type of mime.

But before looking at the code for how to do it, I think it’s important to understand exactly what we’re adding (otherwise, we run the risk of copying and pasting code and not knowing what it is or what it does other than it works).

Continue reading

How Do You Give Proper GPL Attribution?

GPL attribution is one of those tangential topics to a lot of the GPL discussion around WordPress (which I’m not interested in discussing here).

The GPL homepage for GPL attribution information.

Instead, what I’m trying to answer is this:

How do you give proper GPL attribution when using someone else’s work in your work?

Case in point: Let’s say someone is building a theme and wants to bundle some code you’ve written (and it’s available on GitHub) and is trying to attribute it properly to you?

First, this is something that someone was kind enough to ask me when working on a project of his own. Second, I think it’s a great question as it’s something we should all know how to answer since much of our work is likely using other third-party, open source libraries.

Continue reading

When To Register Custom Post Types

Custom Post Types are arguably the feature that brought WordPress from being a standard blogging application up to a CMS. I’d even go as far to say that this feature also added new APIs for developers to use when building web applications.

Custom Post Types

Here’s a post, but this isn’t exactly representative of a custom post type.

Though posts, pages, and basically anything that as a title and the editor (among other optional features) are post types, custom post types are what allow us to actually create a model of information to store in the database, associated with metadata, and more.

The point of this post isn’t about how great custom post types are, though. Instead. it’s about how to handle the case whenever you receive the following message:

Fatal error: Call to a member function add_rewrite_tag() on a non-object

Fatal error? That’s never good. The nice thing is that this isn’t really terribly difficult to fix.

Continue reading

Atom Packages for WordPress Development

For the last few months, I’ve been using Atom as my primary IDE, and I’ve been happy with it. It took a little while to get it set up to my liking, but such is the case of an IDE that claims to be “a hackable text editor for the 21st century.”

Or more formally:

Atom is a text editor that’s modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.

Much of the strength of the IDE lies not in the IDE itself but what can be done with it once you’ve installed packages, themes, and so on.

Atom

Since I’ve been using it, I’ve written a few posts about it (which I’ll share at the end of this post). Though now that some time has passed, I thought I’d share some of the Atom packages for WordPress developers that I recommend (leaving those out that I don’t).

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑