1

I am using wordpress 4.9.7 and would like to add a custom taxonomy to my post-type.

I have packed my code in a mu-plugins folder so that it is required by wordpress. Find below my code:

<?php

function computerBoxBuilder_post_types()
{

    // Computer Hardware Post Type
    register_post_type('Computer-Hardware', array(
        'supports' => array('title', 'editor', 'thumbnail', 'custom-fields'),
        'public' => true,
        // 'exclude_from_search' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'labels' => array(
            'name' => 'Computer-Hardware',
            'add_new_item' => 'Add New Computer-Hardware',
            'edit_item' => 'Edit Computer-Hardware',
            'all_items' => 'All Computer-Hardware',
            'singular_name' => 'Computer-Hardware',
        ),
        'menu_icon' => 'dashicons-dashboard',
        'taxonomies' => array( 'category' ),
    ));

}

// Register Custom Taxonomy
function custom_taxonomy() {

    $labels = array(
        'name'                       => _x( 'Hardware-Creators', 'Taxonomy General Name', 'text_domain' ),
        'singular_name'              => _x( 'Hardware-Creator', 'Taxonomy Singular Name', 'text_domain' ),
        'menu_name'                  => __( 'Taxonomy', '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( 'Hardware-Creator', array( 'Computer-Hardware' ), $args );
}

add_action('init', 'computerBoxBuilder_post_types');
add_action( 'init', 'custom_taxonomy', 2 );

As you can see the taxonomy is not shown:

enter image description here

Any suggestion what I am doing wrong?

Appreciate your reply!

2

Just change this line, it will display in admin

register_taxonomy( 'Hardware-Creator', array( 'Computer-Hardware' ), $args );

to

register_taxonomy( 'Hardware-Creator', array( 'computer-hardware' ), $args );
1

Try to change order of add_action:

add_action( 'init', 'computerBoxBuilder_post_types'); add_action( 'init', 'custom_taxonomy' );

In your code, function custom_taxonomy is executed before computerBoxBuilder_post_types and tries to use custom post type Computer-Hardware before it is created.

  • Thank you for your reply! The taxonomy still does not show up. – Kare Jul 26 '18 at 4:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.