Flattr this!

WordPress has a nice feature called Custom Post types.

(An overview for those that code for WordPress is here – )

We typically use the Custom Post Types UI plugin ( )  to create, rather than write code.  The end result is the same though.


This allows us to create specifically enumerated sets of content relatively easily.

eg – if you were doing a Site for a Client, you may need a Portfolio section for their web.

With custom post types, you can setup a Portfolio post type, and add various taxonomies (meta data to group or organize these posts by later)

eg  Category


Eg if it was for a web design firm, you might add values into the  Category taxonomy like





Then choose those categories when you add a new Portfolio post so that you can later filter by any of those fields.

So far so good.


We also use another Plugin called QTranslate ( )

QTranslate allows us to add multiple translations for a post, or taxonomy in the WordPress UI.

Its pretty nifty, and a good tool for those that do multilingual wordpress sites.


QTranslate seems to be a little funky about how it works with Custom Post Types though – essentially its a little hit and miss whether it actually populates the backend with translation options.

After a bit of googling I found a nice solution to force it to parse taxonomies.

Add this into your Template functions.php at the end of the file, and QTranslate will work properly.

function qtranslate_edit_taxonomies(){
'public' => true ,
'_builtin' => false
$output = 'object'; // or objects
$operator = 'and'; // 'and' or 'or'

$taxonomies = get_taxonomies($args,$output,$operator);

if ($taxonomies) {
foreach ($taxonomies as $taxonomy ) {
add_action( $taxonomy->name.'_add_form', 'qtrans_modifyTermFormFor');
add_action( $taxonomy->name.'_edit_form', 'qtrans_modifyTermFormFor');
add_action('admin_init', 'qtranslate_edit_taxonomies');