Make custom taxonomies for WordPress as a plugin
The taxonomies are way to group posts & pages in WordPress. In WordPress, to group our contents, we normally use categories & tags. They are two important & default taxonomies in WordPress. Same like categories & tags, we can make our own taxonomies in WordPress. They are known as custom taxonomies.
For example, consider a news site, we can categorize news & we can assign tags for them. If there is a possibility to group news in a location wise, it will improve usability of our website.
Like such situations, we can make our own taxonomies like location & we can group our content with new taxonomies. Today I share a code snippet to make custom taxonomy, “Location” for WordPress Posts.
To make my custom taxonomies as a theme independent, I like to make it as a plugin.
First, we want to make a folder inside WordPress plugin directory for our custom taxonomy plugin. Then make a php file inside it & paste below code in to it.
<?php
/*
Plugin Name: Location Taxonomies
Description: Declares a plugin that will create a custom taxonomy "Location" to group posts.
Version: 1.0
Author: Your Name
Author URI: http://yourdomain.com/
License: GPLv2
*/
function add_location_custom_taxonomies() {
// Add new "Locations" taxonomy to Posts
register_taxonomy('location', 'post', array(
// Hierarchical taxonomy (like categories)
'hierarchical' => true,
// This array of options controls the labels displayed in the WordPress Admin UI
'labels' => array(
'name' => _x( 'Locations', 'taxonomy general name' ),
'singular_name' => _x( 'Location', 'taxonomy singular name' ),
'search_items' => __( 'Search Locations' ),
'all_items' => __( 'All Locations' ),
'parent_item' => __( 'Parent Location' ),
'parent_item_colon' => __( 'Parent Location:' ),
'edit_item' => __( 'Edit Location' ),
'update_item' => __( 'Update Location' ),
'add_new_item' => __( 'Add New Location' ),
'new_item_name' => __( 'New Location Name' ),
'menu_name' => __( 'Locations' ),
),
// Control the slugs used for this taxonomy
'rewrite' => array(
'slug' => 'locations', // This controls the base slug that will display before each term
'with_front' => false, // Don't display the category base before "/locations/"
'hierarchical' => true // This will allow URL's like "/locations/boston/cambridge/"
),
));
}
add_action( 'init', 'add_location_custom_taxonomies', 0 );
Inside this code snippet, the first part is the information about our plugin. Here we name it, give a brief description & give essential credits to plugin author.
Then we make a function to create location
taxonomy & register it as a taxonomy.
Just save that PHP file & then activate our new plugin in WordPress admin end. A new “Locations” box will appear to the right of our posts in the WordPress admin area. We can use this the way like categories.
Got a project in mind? Send me a quick message, and I'll get back to you within 24 hours!.
Recent Posts
- Disabling Payment Methods in WooCommerce Based on Conditions
- How to Update Product Quantity in WooCommerce Using Custom Code
- Dynamically Generating a Table of Contents in WordPress
- Direct Checkout in WooCommerce - Add Product to Cart from Checkout Page & Skip Shop, Product, and Cart Pages
- Understanding the Impact of git reset --hard Command
Your Questions / Comments
If you found this article interesting, found errors, or just want to discuss about it, please get in touch.