Skip to content

Instantly share code, notes, and snippets.

@klhall1987
Last active February 10, 2016 14:53
Show Gist options
  • Save klhall1987/852bf325aa1f62978557 to your computer and use it in GitHub Desktop.
Save klhall1987/852bf325aa1f62978557 to your computer and use it in GitHub Desktop.
An example of how to create a custom taxonomy.
<?php
class Register_Custom_Taxonomy
{
public function __construct()
{
add_action('init', array( $this, 'Register_Operating_System_Taxonomy' ), 0);
add_action('init', array( $this, 'Register_MakeModel_Taxonomy' ), 0);
}
public function Register_Operating_System_Taxonomy()
{
$labels = array(
'name' => _x('Operating Systems', 'Taxonomy General Name', 'text_domain'),
'singular_name' => _x('Operating System', 'Taxonomy Singular Name', 'text_domain'),
'menu_name' => __('Operating System', 'text_domain'),
'all_items' => __('All Items', 'text_domain'),
'parent_item' => __('Parent Item', 'text_domain'),
'parent_item_colon' => __('Parent Item:', 'text_domain'),
'new_item_name' => __('New Item Name', 'text_domain'),
'add_new_item' => __('Add New Item', 'text_domain'),
'edit_item' => __('Edit Item', 'text_domain'),
'update_item' => __('Update Item', 'text_domain'),
'view_item' => __('View Item', 'text_domain'),
'separate_items_with_commas' => __('Separate items with commas', 'text_domain'),
'add_or_remove_items' => __('Add or remove items', 'text_domain'),
'choose_from_most_used' => __('Choose from the most used', 'text_domain'),
'popular_items' => __('Popular Items', 'text_domain'),
'search_items' => __('Search Items', 'text_domain'),
'not_found' => __('Not Found', 'text_domain'),
'no_terms' => __('No items', 'text_domain'),
'items_list' => __('Items list', 'text_domain'),
'items_list_navigation' => __('Items list navigation', 'text_domain'),
);
$args = array(
'labels' => $labels,
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
);
register_taxonomy('os', array('phone'), $args);
}
public function Register_MakeModel_Taxonomy()
{
$labels = array(
'name' => _x('Make and Models', 'Taxonomy General Name', 'text_domain'),
'singular_name' => _x('Make and Model', 'Taxonomy Singular Name', 'text_domain'),
'menu_name' => __('Make and Models', 'text_domain'),
'all_items' => __('All Items', 'text_domain'),
'parent_item' => __('Parent Item', 'text_domain'),
'parent_item_colon' => __('Parent Item:', 'text_domain'),
'new_item_name' => __('New Item Name', 'text_domain'),
'add_new_item' => __('Add New Item', 'text_domain'),
'edit_item' => __('Edit Item', 'text_domain'),
'update_item' => __('Update Item', 'text_domain'),
'view_item' => __('View Item', 'text_domain'),
'separate_items_with_commas' => __('Separate items with commas', 'text_domain'),
'add_or_remove_items' => __('Add or remove items', 'text_domain'),
'choose_from_most_used' => __('Choose from the most used', 'text_domain'),
'popular_items' => __('Popular Items', 'text_domain'),
'search_items' => __('Search Items', 'text_domain'),
'not_found' => __('Not Found', 'text_domain'),
'no_terms' => __('No items', 'text_domain'),
'items_list' => __('Items list', 'text_domain'),
'items_list_navigation' => __('Items list navigation', 'text_domain'),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
);
register_taxonomy('makemodel', array('phone'), $args);
}
}
return new Register_Custom_Taxonomy();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment