I’m having some issues trying to get taxonomies to appear in the post columns on my dashboard, the custom functions appear correctly, just not the taxonomies, anyone see where I’m going wrong? Here is a screenshot showing the issue: http://i.imgur.com/GiMSfhF.png
// Add filters for the Games Database in the control panel
add_filter( 'manage_edit-games_database_columns', 'my_columns' );
function my_columns( $columns ) {
$columns['games_database_platform'] = 'Platform'; // Taxonomy
$columns['games_database_genre'] = 'Genre'; // Taxonomy
$columns['games_database_publisher'] = 'Publisher'; // Custom Function
$columns['games_database_developer'] = 'Developer'; // Custom Function
$columns['games_database_rating'] = 'Review Score'; // Custom Function
unset( $columns['comments'] );
return $columns;
}
add_action( 'manage_posts_custom_column', 'populate_columns' );
function populate_columns( $column ) {
if ( 'games_database_publisher' == $column ) {
$game_publisher = esc_html( get_post_meta( get_the_ID(), 'game_publisher', true ) );
echo $game_publisher;
}
elseif ( 'games_database_developer' == $column ) {
$game_developer = get_post_meta( get_the_ID(), 'game_developer', true );
echo $game_developer;
}
elseif ( 'games_database_rating' == $column ) {
$game_rating = get_post_meta( get_the_ID(), 'game_rating', true );
echo $game_rating . '%';
}
elseif ( 'games_database_platform' == $column ) {
$game_platform = get_post_meta( get_the_ID(), 'games_database_game_platform', true );
echo $game_platform;
}
elseif ( 'games_database_rating' == $column ) {
$game_rating = get_post_meta( get_the_ID(), 'game_rating', true );
echo $game_rating . '%';
}
}
Call
register_taxonomy()
with'show_admin_column' => TRUE
and WordPress will create your columns automatically. This parameter was added in version 3.5. You donât need a custom filter anymore.I have written a small plugin to demonstrate this case: t5-taxonomy-location.
This is the registration code: