Declaring a new admin column in our WordPress admin’s list pages is a common task. Fortunately, we can do it quickly.
To create new columns for a WP post type of custom post type, we need two filters:
One usual case is when we create a custom post type and add a custom taxonomy to it. Our taxonomy not appended to the admin columns automatically, so we need to declare it like the following:
// Add the Terms(s) columns to the snippets post type function set_custom_edit_snippets_columns($columns) { $columns['terms'] = __( 'Term(s)', 'pine' ); return $columns; } add_filter( 'manage_snippets_posts_columns', 'set_custom_edit_snippets_columns' ); // Add the data to the snippet's Term(s) column function custom_snippets_column( $column, $post_id ) { switch ( $column ) { case 'terms' : $terms = get_the_terms( $post_id, 'snippets_category' ); $links = array(); foreach ( $terms as $term ) { $link = get_term_link( $term, 'snippets_category' ); if ( is_wp_error( $link ) ) { return $link; } $links[] = '<a href="' . admin_url( 'edit.php?post_type=snippets&snippets_category=' . $term->slug ) . '" rel="tag">' . $term->name . '</a>'; } $terms = join( ', ', $links ); if ( is_string( $terms ) ) echo $terms; else _e( 'No avialable term.', 'pine' ); break; } } add_action( 'manage_snippets_posts_custom_column' , 'custom_snippets_column', 10, 2 );