This helper function will allow you to easily register multiple taxonomies. Instead of registering each separately, simply pass an array of the specific details and the function will fill in the rest.
<?php | |
/** | |
* Register Multiple Taxonomies | |
* | |
* @author Bill Erickson | |
* @link http://www.billerickson.net/code/register-multiple-taxonomies/ | |
*/ | |
function be_register_taxonomies() { | |
$taxonomies = array( | |
array( | |
'slug' => 'job-department', | |
'single_name' => 'Department', | |
'plural_name' => 'Departments', | |
'post_type' => 'jobs', | |
'rewrite' => array( 'slug' => 'department' ), | |
), | |
array( | |
'slug' => 'job-type', | |
'single_name' => 'Type', | |
'plural_name' => 'Types', | |
'post_type' => 'jobs', | |
'hierarchical' => false, | |
), | |
array( | |
'slug' => 'job-experience', | |
'single_name' => 'Min-Experience', | |
'plural_name' => 'Min-Experiences', | |
'post_type' => 'jobs', | |
), | |
); | |
foreach( $taxonomies as $taxonomy ) { | |
$labels = array( | |
'name' => $taxonomy['plural_name'], | |
'singular_name' => $taxonomy['single_name'], | |
'search_items' => 'Search ' . $taxonomy['plural_name'], | |
'all_items' => 'All ' . $taxonomy['plural_name'], | |
'parent_item' => 'Parent ' . $taxonomy['single_name'], | |
'parent_item_colon' => 'Parent ' . $taxonomy['single_name'] . ':', | |
'edit_item' => 'Edit ' . $taxonomy['single_name'], | |
'update_item' => 'Update ' . $taxonomy['single_name'], | |
'add_new_item' => 'Add New ' . $taxonomy['single_name'], | |
'new_item_name' => 'New ' . $taxonomy['single_name'] . ' Name', | |
'menu_name' => $taxonomy['plural_name'] | |
); | |
$rewrite = isset( $taxonomy['rewrite'] ) ? $taxonomy['rewrite'] : array( 'slug' => $taxonomy['slug'] ); | |
$hierarchical = isset( $taxonomy['hierarchical'] ) ? $taxonomy['hierarchical'] : true; | |
register_taxonomy( $taxonomy['slug'], $taxonomy['post_type'], array( | |
'hierarchical' => $hierarchical, | |
'labels' => $labels, | |
'show_ui' => true, | |
'query_var' => true, | |
'rewrite' => $rewrite, | |
)); | |
} | |
} | |
add_action( 'init', 'be_register_taxonomies' ); |