This code snippet will give you an idea on how to add additional columns in WordPress admin manage screens. Let’s take the example metadata from our previous Code snippet “How to add custom field in post type post“.In our example, we will display the “Author Name” and “Date Published” metadata in the post type “post” table.Just copy and paste this code in your functions.php file.
// Add column header
function my_custom_columns_head( $defaults ){
// $defaults variable is an array consist of default table header
// it needs key and value pair
$defaults['author_name'] = __('Author Name', 'my_textdomain' );
$defaults['date_publish'] = __('Date Published', 'my_textdomain' );
return $defaults;
}
add_filter('manage_post_posts_columns', 'my_custom_columns_head', 10);
// Display column header value
function my_custom_columns_content( $column_key, $post_ID ){
if ( $column_key == 'author_name' ){
echo get_post_meta( $post_ID, 'author_name', true );
}
if( $column_key == 'date_publish' ){
echo get_post_meta( $post_ID, 'date_publish', true );
}
}
add_action('manage_post_posts_custom_column', 'my_custom_columns_content', 10, 2);
Other WordPress Manage Screens hooks and filters
Default Posts
add_filter('manage_post_posts_columns', 'my_custom_columns_header', 10);
add_action('manage_post_posts_custom_column', 'my_custom_columns_content', 10, 2);
Default Pages
add_filter('manage_page_posts_columns', 'my_custom_columns_header', 10);
add_action('manage_page_posts_custom_column', 'my_custom_columns_content', 10, 2);
Custom Post Type ( Story )
add_filter('manage_story_posts_columns', 'my_custom_columns_header_movies', 10);
add_action('manage_story_posts_custom_column', 'my_custom_columns_content_movies', 10, 2);
Post Categories
add_filter('manage_edit-category_columns', 'my_custom_columns_header');
add_filter('manage_category_custom_column', 'my_custom_columns_content_taxonomy', 10, 3);
Post Tags
add_filter('manage_edit-post_tag_columns', 'my_custom_columns_header');
add_filter('manage_post_tag_custom_column', 'my_custom_columns_content_taxonomy', 10, 3);
Link Categories
add_filter('manage_edit-link_category_columns', 'my_custom_columns_header');
add_filter('manage_link_category_custom_column', 'my_custom_columns_content_taxonomy', 10, 3);
Media Library
add_filter('manage_media_columns', 'my_custom_columns_header');
add_filter('manage_media_custom_column', 'my_custom_columns_content', 10, 2);
Users
add_filter('manage_users_columns', 'my_custom_columns_header');
add_filter('manage_users_custom_column', 'my_custom_columns_content_users', 10, 2);