The register_taxonomy() WordPress PHP function creates or modifies a taxonomy object.
Usage
register_taxonomy('genre', 'book', array( 'hierarchical' => false, 'label' => 'Genre', ));
Parameters
- $taxonomy (string) – The taxonomy key. Must not exceed 32 characters and may only contain lowercase alphanumeric characters, dashes, and underscores.
- $object_type (string|array) – Object type or array of object types with which the taxonomy should be associated.
- $args (array|string) – Array or query string of arguments for registering a taxonomy.
More information
See WordPress Developer Resources: register_taxonomy()
Examples
Register a simple non-hierarchical taxonomy
add_action('init', 'create_genre_taxonomy'); function create_genre_taxonomy() { register_taxonomy('genre', 'book', array( 'hierarchical' => false, 'label' => 'Genre', )); }
Register a hierarchical taxonomy
add_action('init', 'create_region_taxonomy'); function create_region_taxonomy() { register_taxonomy('region', 'city', array( 'hierarchical' => true, 'label' => 'Region', )); }
Register a taxonomy with custom labels
add_action('init', 'create_film_genre_taxonomy'); function create_film_genre_taxonomy() { register_taxonomy('film_genre', 'film', array( 'hierarchical' => false, 'labels' => array( 'name' => 'Film Genres', 'singular_name' => 'Film Genre', ), )); }
Register a taxonomy with custom REST API settings
add_action('init', 'create_video_game_genre_taxonomy'); function create_video_game_genre_taxonomy() { register_taxonomy('video_game_genre', 'video_game', array( 'hierarchical' => false, 'label' => 'Video Game Genre', 'show_in_rest' => true, 'rest_base' => 'game-genres', )); }
Register a taxonomy with custom admin settings
add_action('init', 'create_author_taxonomy'); function create_author_taxonomy() { register_taxonomy('author', 'book', array( 'hierarchical' => false, 'label' => 'Author', 'show_ui' => true, 'show_in_menu' => true, 'show_admin_column' => true, )); }