function wporg_register_taxonomy_instructor()
    $labels = [
        'name'              => _x('Instructors', 'taxonomy general name'),
'singular_name'     => _x('Instructor', 'taxonomy singular name'),
'search_items'      => __('Search Instructors'),
'all_items'         => __('All Instructors'),
'parent_item'       => __('Parent Instructor'),
'parent_item_colon' => __('Parent Instructor:'),
'edit_item'         => __('Edit Instructor'),
'update_item'       => __('Update Instructor'),
'add_new_item'      => __('Add New Instructor'),
'new_item_name'     => __('New Instructor Name'),
'menu_name'         => __('Instructor'),
$args = [
'hierarchical'      => true, // make it hierarchical (like categories)
'labels'            => $labels,
'show_ui'           => true,
'show_admin_column' => true,
'query_var'         => true,
'rewrite'           => ['slug' => 'instructor'],
register_taxonomy('instructor', ['post'], $args);
add_action('init', 'wporg_register_taxonomy_instructor');

I use this code to register a custom taxonomy with name instructor but when I click at the link that is produced by get_term_link($term->term_id) I am leading to 404 page.

1 Answer 1


You have to re-save the permalinks when you add or change a custom taxonomy, or a custom post type.

Go to the permalinks settings page, and re-save, then go back and refresh.

Also, you don't need to specify the slug as instructor if the name is instructor, the rewrite option can be removed or just set to true

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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