previous / next_post_link() within a custom taxonomy term

Here’s a handy little patch that Presentations and Backgrounds

Up until now the previous_post_link() and next_post_link() WordPress functions have just had a paramter $in_same_cat which if true returns a link to the previous/next post in the same category as the current post.

In WordPress 3.8 that is now a new $taxonomy parameter which allows you to specify a custom taxonomy rather that a category. This will be immensely useful to anyone who uses custom taxonomies and custom post types.

As an example, WordPress Post Formats are actually a custom taxonomy so you could use the following code to output a link to the same post with the same post format as the current post:

<?php next_post_link( '%link', 'Next post in category', TRUE, ' ', 'post_format' ); ?>

This update affects all the following functions:

get_previous_post(), get_next_post(), get_adjacent_post(), get_adjacent_post_rel_link(), adjacent_posts_rel_link(), next_post_rel_link(), prev_post_rel_link(), get_boundary_post(), get_previous_post_link(), previous_post_link(), get_next_post_link(), next_post_link(), get_adjacent_post_link(), adjacent_post_link()


Apache 2.0 License is OK if you need to package a script with a plugin on

I was putting together a plugin recently in which I wanted to include a third party open-source JavaScript. The JavaScript was licensed as Word Templates which says that it is GPL compatible.

Anyway, I reached out to @markjaquith and @Otto42 just to confirm that Apache 2.0 scripts are OK to include in the plugin repository, and they are…


My little contribution to WordPress 3.4

WordPress 3.4 is out…
For more information view the blog post on 

My little contribution is one tiny commit, but it fixes an issue which I find incredibly frustrating when managing a site with a large about of hierarchical categories (or other hierarchical taxonomies).

Checked on top

When you check categories when editing a post in WordPress, after saving checked categories appear at the top of the list.

The makes sense if you have many non-hierarchical categories and it makes it easy for you to deselect categories without having to scroll through a long list.

However, when dealing with hierarchical categories and sub-categories, all checked options still jump to the top, moving out of the hierarchical structure. This makes it difficult to identify which checked categories are top level and which are sub-categories and is particularly confusing if you have sub-categories with the same name under different parent categories.

Introducing the wp_terms_checklist_args filter

The new filter allows you to filter all checklist arguments including the ‘checked_ontop’ variable.


$defaults = array(
	'descendants_and_self' => 0,
	'selected_cats' => false,
	'popular_cats' => false,
	'walker' => null,
	'taxonomy' => 'category',
	'checked_ontop' => true
$args = apply_filters( 'wp_terms_checklist_args', $args, $post_id );

WordPress Media Uploader – Another HTTP Error Solution

There are countless posts in the forums about errors that occur when using the media uploader.

Otto does a pretty good job of outlining the main issues and solution in this post.

In my experience these errors usually occur because of your server setup or memory issues. To help you diagnose where your problem lies:

1. If the file appears to upload and then you get an HTTP Error, this is most likely your server settings preventing you from uploading or processing large files in some way.

2. If you get as far as “Crunching…” being displayed, this is most likely a memory issue – the image is so big that the server struggles to create the other images sizes. Also note that it is often the actual physical dimensions of the image not the filesize that is too big and causes the memory issue.


The most recent occasion when I ran into this issue was on a 1&1 Virtual Server. None of the fixes I could find solved my issue and I eventually tracked it down to needing to increase to MaxLen setting on the server.



WP e-Commerce Cross Sales

The latest version of WP e-Commerce (3.8.x) for WordPress is a significant move on both in terms of stability and extensibility.

This is partly down to an extensive re-build on the codebase to take advantage of some of WordPress’ latest features; custom post type and taxonomies. This has the added benefit of making it much easier for plugin developers to create add-on plugin to enhance WP e-Commerce functionality.

The key objectives now seem to be to keep WP e-Commerce ‘lean and mean’ to provide a solid platform on which to develop WordPress-based e-commerce sites, and provide additional functionality through plugins.

Part of this process includes stripping out some of the less-used parts of WP e-Commerce and turning them into plugins. Once such example is the automated ‘Also Bought’ functionality which can be found in the Marketing tab of WP e-Commerce settings.

I have worked extensively with WP e-Commerce over the last 2-3 years and frequently try to get involved wether it be fixing the odd bug or helping out on the forum – when I have time ;) so I jumped on board to help separate the ‘Also Bought’ functionality into a WordPress plugin.