iThemes, WordPress, and the GPL

Since starting iThemes back in early 2008, one thing Cory, and I when I joined the team, were justifiably concerned with was protecting our products, and of course our hard work, from being stolen or used without permission. This was our livelihood, so we couldn’t fool around.

Even though we both believed that we would have been within our rights to copyright the entire work, we decided that we would license all WordPress code in our themes (function calls, loops, etc.) as GPL, and protect our images, stylesheets, etc., under a copyright. We felt it was a good compromise. Read More

An Introduction to WordPress Action Hooks

If you’re going to be doing any level of WordPress development, themes or plugins, you will invariably run into the need to take advantage of the WordPress Action Hook system. But the more I am able to talk to people in the community, the more I realize that people simply don’t understand the concept very well, or at all.

In fact, one of the biggest barriers to using what is referred to as a Theme Framework or creating their own plugins is the fact that they rely heavily on Action Hooks to function properly.

Understanding this concept accelerated my level of development skills immediately after I figured out what hooks were, and how they worked. And today, I want to help you find that path too. Read More

How To Redirect a Page Using Custom Fields in WordPress

Today, I wanted to share a very quick tip that will allow you to insert an internal or external URL in a custom field for a page, and when a user visits that page, they will be redirected to the URL you put in the custom field.

Why would you need to do this? Well, if you want to add a link to your navigation menu, instead of editing code, you could just create a new page, and have that page redirect your users to the URL you specified. I’ve had clients in that situation before, and this code has come in pretty handy for them. Read More

5 Useful WordPress Functions You Didn’t Know Existed

Deep within the source code of WordPress lies an endless list of useful functions just waiting for you to use them in your theme or plugin. The problem is, most people don’t know they exist, probably because the Codex is ridiculously underdeveloped, and most people hate looking through source code. Luckily for you, reading the WordPress source code is a hobby of mine.

So, I compiled a list of some of my favorites. Some are simple and can be used by pretty much everyone; others have less common uses; but, all of them are incredibly useful. Read More

WordPress 2.8 and the body_class() Function

Back on February 7th, I was casually browsing the WordPress trunk code, and discovered a very cool new function in the wp-includes/post-template.php file.

Beginning in WordPress 2.8, themes will be able to take advantage of the body_class() function to place location-specific classes on the opening <body> tag, usually located in the header.php file of most themes.

Why is this significant? Easy … this opens up the ability to change the look of nearly everything with CSS only.

Before we get into the application of the body_class() function, let’s cover some technical details first. Read More

Is My Theme 2.7 Compatible?

Let me go ahead and answer the question that a LOT of people are going to be asking over the next several weeks as the release of WordPress 2.7 draws closer. Yes. Your theme, more than likely, will be compatible with WordPress 2.7.

That is to say, it won’t break under 2.7. However, this latest version of WordPress does add a good many NEW features to themes that, unless properly accounted for, your theme probably won’t be taking advantage of immediately. Read More