Software Engineering in WordPress, PHP, and Backend Development

Category: Articles (Page 126 of 258)

Personal opinions and how-to’s that I’ve written both here and as contributions to other blogs.

Social Media and Curtailing the Thrashing

At a high-level, computers work by taking information that’s frequently accessed on the hard disk and loading it into RAM so that when a running application needs it again, it can access it in RAM rather than from the hard drive itself.

The idea behind this is so that it improves performance and this is why having a lot of memory can often give you increased performance. Today, it’s not uncommon to have 16GB of RAM available in a computer, so the amount of information that can be held in RAM is pretty impressive.

Let’s say that you’re running some intense applications, or you’re working with a demanding application, and you’re exhausting the available RAM. What happens then? At this point, the computer ends up thrashing. Sounds like fun (if you’re at a hard rock concert, maybe), right? But the gist of it is that you end up taking information in RAM, writing it back to disk, and then replacing that data with new data from the disk.

Wikipedia defines it like this:

In computer science, thrashing occurs when a computer’s virtual memory subsystem is in a constant state of paging, rapidly exchanging data in memory for data on disk, to the exclusion of most application-level processing. This causes the performance of the computer to degrade or collapse greatly.

The emphasis added is my own because it’s ultimately the point I want to bring up as it relates to the rest of this post.

Continue reading

Ignore Coding Standards in PHP CodeSniffer

For as much as I talk about writing code that conforms to the WordPress Coding Standards and for using tools such as PHP CodeSniffer, there are times where I’ve found that you need to silence the errors for the sake of something you’re trying to do.

Case in point:

WordPress uses global variables to maintain certain data structures. As per the coding standards, you should not change the values of global variables.

As a rule of thumb, this is true. But what about in the case where you need to make a modification to the admin menu (which uses a global variable)?

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

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑