The manage_{$post_type}_posts_columns WordPress PHP filter allows you to modify the columns displayed in the Posts list table for a specific post type.
Usage
add_filter( 'manage_{$post_type}_posts_columns', 'your_custom_function' ); function your_custom_function( $post_columns ) { // your custom code here return $post_columns; }
Parameters
$post_columns
(string[]): An associative array of column headings.
More information
See WordPress Developer Resources: manage_{$post_type}_posts_columns
Examples
Add a custom column for the ‘price’ meta field in the products post type
This example adds a ‘Price’ column to the products post type list table.
add_filter( 'manage_products_posts_columns', 'add_price_column' ); function add_price_column( $post_columns ) { $post_columns['price'] = __( 'Price', 'textdomain' ); return $post_columns; }
Remove the ‘author’ column from the posts list table
This example removes the ‘Author’ column from the posts list table.
add_filter( 'manage_post_posts_columns', 'remove_author_column' ); function remove_author_column( $post_columns ) { unset( $post_columns['author'] ); return $post_columns; }
Reorder columns in the custom post type ‘events’
This example reorders the columns in the ‘Events’ custom post type list table.
add_filter( 'manage_events_posts_columns', 'reorder_columns' ); function reorder_columns( $post_columns ) { $new_columns = array( 'cb' => $post_columns['cb'], 'title' => __( 'Event Title', 'textdomain' ), 'date' => __( 'Event Date', 'textdomain' ), ); return $new_columns; }
Change the ‘Title’ column label in the pages list table
This example changes the label of the ‘Title’ column in the pages list table.
add_filter( 'manage_page_posts_columns', 'change_title_column_label' ); function change_title_column_label( $post_columns ) { $post_columns['title'] = __( 'Page Name', 'textdomain' ); return $post_columns; }
Add a custom column for the ‘rating’ meta field in the movies post type
This example adds a ‘Rating’ column to the movies post type list table.
add_filter( 'manage_movies_posts_columns', 'add_rating_column' ); function add_rating_column( $post_columns ) { $post_columns['rating'] = __( 'Rating', 'textdomain' ); return $post_columns; }