Using my test site and some test code this is what I think you were looking for?
(source: mikeschinkel.com)
To achieve this you need to use two (2) hooks, one being specific to your post type: 'manage_static_content_posts_columns'
and 'manage_posts_custom_column'
. In order to make it work I took your code and packaged it in a class, and also made it a plugin (it doesn’t have to be a plugin; you could just take the code and put in in your theme’s functions.php
file if you like.)
<?php
/*
Plugin name: Static Content
*/
if (!class_exists('YourSite_StaticContent')) {
class YourSite_StaticContent {
static function on_load() {
add_action('init',array(__CLASS__,'init'));
add_filter('manage_static_content_posts_columns',
array(__CLASS__,'manage_static_content_posts_columns'));
add_filter('manage_posts_custom_column',
array(__CLASS__,'manage_posts_custom_column'));
}
function manage_static_content_posts_columns($columns){
$new = array();
foreach($columns as $key => $title) {
if ($key=='author') // Put the Sections column before the Author column
$new['sections'] = 'Sections';
$new[$key] = $title;
}
return $new;
}
static function manage_posts_custom_column($column){
global $post;
switch ($column) {
case "sections":
echo get_the_term_list($post->ID, 'section', '', ', ','');
break;
}
}
static function init() {
register_post_type('static_content',array(
'labels' => array(
'name' => __( 'Static Content' ),
'singular_name' => __( 'Static Content' ),
'add_new_item' => 'Add New Static Content',
'edit_item' => 'Edit Static Content',
'new_item' => 'New Static Content',
'search_items' => 'Search Static Content',
'not_found' => 'No Static Content found',
'not_found_in_trash' => 'No Static Content found in trash',
),
'public' => true,
'hierarchical' => false,
'taxonomies' => array( 'section'),
'supports' => array('title','editor','excerpt'),
'rewrite' => array('slug'=>'static_content','with_front'=>false),
));
register_taxonomy('section','static_content',array(
'hierarchical' => true,
'labels' => array(
'name' => __( 'Section' ),
'singular_name' => __( 'Section' ),
'add_new_item' => 'Add New Section',
'edit_item' => 'Edit Section',
'new_item' => 'New Section',
'search_items' => 'Search Section',
'not_found' => 'No Sections found',
'not_found_in_trash' => 'No Sections found in trash',
'all_items' => __( 'All Sections' ),
),
'query_var' => true,
'rewrite' => array( 'slug' => 'section' ),
));
if (!get_option('yoursite-static-content-initialized')) {
$terms = array(
'Footer',
'Header',
'Front Page Intro',
'Front Page Content',
);
foreach($terms as $term) {
if (!get_term_by('name',$term,'section')) {
wp_insert_term($term, 'section');
}
}
update_option('yoursite-static-content-initialized',true);
}
}
}
YourSite_StaticContent::on_load();
}