Register New Custom Taxonomy (Hierarchical) in WordPress

/* Register New Hierarchical Taxonomy in WordPress */
function wpflt_register__new_taxonomy_department() {
     $labels = array(
         'name'              => _x( 'Department', 'taxonomy general name' ),
         'singular_name'     => _x( 'Department', 'taxonomy singular name' ),
         'search_items'      => __( 'Search Departments' ),
         'all_items'         => __( 'All Departments' ),
         'parent_item'       => __( 'Parent Department' ),
         'parent_item_colon' => __( 'Parent Department:' ),
         'edit_item'         => __( 'Edit Department' ),
         'update_item'       => __( 'Update Department' ),
         'add_new_item'      => __( 'Add New Department' ),
         'new_item_name'     => __( 'New Department Name' ),
         'menu_name'         => __( 'Departments' ),
     );
     $args   = array(
         'hierarchical'      => true, // similar to category taxonomy
         'labels'            => $labels,
         'show_ui'           => true,
         'show_admin_column' => true,
         'query_var'         => true,
         'rewrite'           => [ 'slug' => 'department' ],
     );
     register_taxonomy( 'department', [ 'post' ], $args );
}
add_action( 'init', 'wpflt_register__new_taxonomy_department' );