Working with the WordPress Media Uploader

Comments on this post are closed. Please leave comments on the respective posts linked from here.

Though I’ve talked about working with the WordPress media uploader in previous posts, I’m currently working through a series on Tuts+ that takes you through the process of incorporating the WordPress media uploader into your own plugin.

This post is going to serve as the landing page for the series of articles, but if you’re a beginner then this series should be for you.

Exclude a WordPress Theme Style Guide

When it comes to WordPress themes, one of the things that I used to think should be more common was the idea of style guides.

You know what I’m talking about: The documents that are either included with or ship with a theme that guide you on the typography, image sizes, video sizes, and other collateral to make sure that you use the theme exactly as it’s been designed to be used.

In other words, it prevents you from making the theme look ugly.

But are they really needed?

Programmatically Add Post Terms in WordPress

Importing CSV files (or something similar) is something that’s nothing new to web development.

If you’re writing a server side code that’s responsible for importing a file in the context of WordPress, then you can be doing anything from programmatically creating posts to creating more complex relationships among post types, taxonomies, and so on.

In this case, it’s nice to have an abstract function that can help to do a lot of the repetitive work for you. After all, aren’t functions specifically for that?

Making Anonymous Functions Maintainable

Obviously, the majority of the content that I write for the site deals with WordPress in someway, but there are times where I talk a bit about JavaScript, related libraries, and so on.

The Face of Anonymous Functions

The Face of Anonymous Functions

Generally speaking, a lot of the JavaScript that’s written in the context of WordPress is done using jQuery because it’s the library that ships with the core applications, it’s tried and true, and its a good fit for a lot of the DOM manipulation that happens in themes and in plugins.

But one of the things that I’ve begun to notice over the past few years is that writing maintainable JavaScript (using jQuery or not) gets a bit more difficult when using anonymous functions.

The WordPress Plugin Boilerplate 3.0.0

A few years ago, I started the WordPress Plugin Boilerplate project as nothing more than a GitHub repository used to store code that I found myself frequently using in both personal and client projects.

As I became more involved with WordPress, as I began to build more plugins for fun and profit, and as I began updating the repository, it grew into something a little more than I had expected.

Over time, people began to open issues, offer pull requests, perform code reviews, and create their own forks of the project. I learned a lot over the next few years, and I honestly couldn’t be more excited to see such a little project become, you know, such a slightly less little project.

Months ago, I mentioned that work on the next iteration of the WordPress Plugin Boilerplate was started and I’m excited to announce that, as of today, the WordPress Plugin Boilerplate 3.0.0 is officially ready for use.

And it comes with a lot of new and neat things to boot.

Let’s Tilt The Pods Framework Conference!

For those of you who aren’t familiar, the Pods Framework, it’s a relatively simple concept that introduces some really neat, advanced features into WordPress.

Pods Framework Homepage

Straight from the website:

The goal was to create an interface and PHP codebase to easily create, extend, and manage content types within WordPress. While the normal WordPress content architecture is limited to the built-in tables, a primary feature of Pods allows you to base content types off of their own custom tables designed around each content types’ needs.

Neat, right? What’s even cooler is that the Pods development team is hosting their very first conference this October in DFW.

Removing HTML Comments in WordPress

Some time ago, I began removing the HTML comment label from beneath the standard WordPress comment form (no, not the Jetpack-enabled form – the one that ships with a default WordPress theme).

Most of you are familiar with the form as it generally looks something like this:

HTML in Comments

HTML in Comments

Generally speaking I find that that block that usually sits between the textarea and the submit input to introduce complexity and likely cause more confusion than anything else.

Adding Plugin Config Files to WordPress

Almost everyone who has worked with WordPress has dealt with wp-config.php. I know – there are a lot of managed hosts out there that take care of a lot of this for you – but even though a person may not have directly edited the file, they have definitely interacted with it.

For those who are unfamiliar:

This file is located in the root of your WordPress file directory and contains your website’s base configuration details, such as database connection information.

Anyway, for sometime now, I’ve been working on a relatively large plugin for a client and have recently taken to introducing a similar type of configuration files. So this raised that question, do what you think of plugin config files?

Tips for Saving and Retrieving Post Meta Data

One of the common things that I’ve seen – and personally done – is mismanaging $_POST data as it comes into the server-side from a form or some type of input element from the front-end. This may be in the case of sending data via Ajax or by doing a standard page refresh.

Chill Out, Veruca. We're getting there.

Chill Out, Veruca. We’re getting there.

Whatever the case, whenever you’re dealing with $_POST data in WordPress and you’re looking to save information into the database, there may be times where you’re interested in saving empty values, and there maybe times where you’re interested in savings values only if they are not empty.

If you’re going after the latter, there are a couple of safe guards you should introduce in your code to make sure that rows are only being written when there’s data to actually be written.

For the Copy and Paste Programmers

One of the things that has been absolutely fantastic about the web is how much information we can publish and how much we can access it at any given time. I don’t know many who would disagree with that.

Even more so, for those who are interested in learning how to write software, there are various articles, podcasts, videos, tutorials, and so on all of which aim to teach a person the skills they need in order to actually get from not knowing how to write code, but knowing how to do so in a productive manner.

One of the downsides of this – and even more generally, open source – is that breeds this copy-and-paste mentality that completely undermines the very thing that it’s trying to teach: that is, how to write code.