使用我的测试站点和一些测试代码,这就是我认为您正在寻找的?
(来源:mikeschinkel.com)
要实现这一点,您需要使用两(2)个挂钩,其中一个针对您的帖子类型:\'manage_static_content_posts_columns\'
和\'manage_posts_custom_column\'
. 为了让它工作起来,我把你的代码打包成一个类,还把它做成了一个插件(它不一定是插件;你可以把代码放进你的主题functions.php
如果愿意,请存档。)
<?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();
}