Showing custom taxonomy column in custom posts type listings

3 min read 08-10-2024
Showing custom taxonomy column in custom posts type listings


In WordPress, managing custom post types is a common practice for developers looking to extend the functionality of their sites. One question that often arises is how to display a custom taxonomy in the admin listings for these custom post types. This guide will walk you through the steps to show a custom taxonomy column in custom post type listings in WordPress.

Understanding the Problem

You might have created a custom post type for products, events, or any other content type, and you have also defined custom taxonomies (like categories or tags) to categorize these posts. However, when you navigate to the admin area to view the listings of your custom post type, the custom taxonomy does not appear in the columns. This can be problematic as it makes it harder to identify which taxonomy each post belongs to at a glance.

The Scenario

Let’s say you have a custom post type called Products and a custom taxonomy called Product Categories. You want to see the Product Categories for each product listed in the WordPress admin area.

The Original Code

To achieve this, you'll need to hook into WordPress's admin interface by adding some custom code to your theme's functions.php file or a custom plugin. Here's how you can start:

add_filter('manage_products_posts_columns', 'set_custom_edit_products_columns');
function set_custom_edit_products_columns($columns) {
    $columns['product_categories'] = __('Product Categories', 'your_text_domain');
    return $columns;
}

add_action('manage_products_posts_custom_column', 'custom_products_column', 10, 2);
function custom_products_column($column, $post_id) {
    if ($column === 'product_categories') {
        $terms = get_the_terms($post_id, 'product_categories');
        if ($terms && !is_wp_error($terms)) {
            $terms_links = [];
            foreach ($terms as $term) {
                $terms_links[] = sprintf('<a href="?post_type=products&product_categories=%s">%s</a>', $term->slug, $term->name);
            }
            echo join(', ', $terms_links);
        } else {
            echo __('No Categories', 'your_text_domain');
        }
    }
}

Analysis and Clarification

Breakdown of the Code

  1. Adding a New Column:

    • The set_custom_edit_products_columns function modifies the columns in the Products post type by adding a new column called Product Categories.
    • It utilizes the manage_products_posts_columns filter.
  2. Populating the Column:

    • The custom_products_column function checks if the current column being rendered is the custom taxonomy column we created.
    • It retrieves the terms associated with the product using get_the_terms(). This function fetches all terms assigned to the given post and the specified taxonomy.
    • If there are terms, it creates a link for each term, allowing users to filter the list by that term.

Example Use Case

Suppose you have several products categorized under "Electronics," "Clothing," and "Home Appliances." When you follow the above steps, your admin listing for Products will clearly display which categories each product belongs to, aiding in quick identification and management.

SEO Optimization

To ensure the article is SEO-friendly:

  • Use relevant keywords like "custom taxonomy," "WordPress custom post types," and "WordPress admin column."
  • Optimize headings and subheadings for clarity and include variations of keywords throughout the text.
  • Use alt tags for any images, and if code snippets are included in images, ensure they are legible.

Additional Value

For further enhancements, you might consider:

  • Styling the output with CSS for better visibility.
  • Adding sorting functionality to the new column, enabling users to order products by category easily.

References and Resources

By implementing these techniques, you can enhance the usability of custom post type listings in WordPress, making your admin area more efficient for managing content. Happy coding!


This guide provides you with the insights and steps needed to successfully display custom taxonomy columns in your custom post type listings, ultimately making your WordPress admin interface more powerful and user-friendly.