在自定义帖子类型管理页面上显示自定义分类的列
问题描述:
我想向我的自定义帖子类型管理窗口添加一列以显示我的自定义分类。在自定义帖子类型管理页面上显示自定义分类的列
由@SarthakGupta提供这个解决方案,我创建了列,但相呼应既不分类也不是“不分类集”消息: Showing custom taxonomy column in custom posts type listings
我已经看到了类似的解决方案在其他地方发布,并提供有关空类似的投诉分类专栏。
什么可能导致问题?这个解决方案可能不适用于WordPress 3.3吗?
谢谢。
答
我有这个问题,并发现与自定义查询替换WP功能get_the_terms更好地工作 - 尝试(其中custtype是您的自定义文章类型的名称):
// custom columns
add_filter("manage_edit-custtype_columns", "custtype_columns");
add_action("manage_posts_custom_column", "custtype_custom_columns",10,2);
function custtype_columns($columns){
$columns = array(
"cb" => "<input type=\"checkbox\" />",
"title" => "Title",
"slug" => "URL Slug",
"custtype-type" => "Custom Taxonomy"
);
return $columns;
}
function custtype_custom_columns($column,$id) {
global $wpdb;
switch ($column) {
case 'custtype-type':
$types = $wpdb->get_results("SELECT name FROM $wpdb->posts LEFT OUTER JOIN $wpdb->term_relationships ON ID = object_id LEFT OUTER JOIN $wpdb->terms ON term_taxonomy_id = term_id WHERE ID = {$id}");
foreach($types as $loopId => $type) {
echo $type->name.', ';
}
break;
case 'slug':
$text = basename(get_post_permalink($id));
echo $text;
break;
default:
break;
} // end switch
}
这是否在所有的工作?
答
从WordPress的3.5,您可以启用它,当你加入这个注册自定义分类:
'show_ui' => true,
'show_admin_column' => true,
+1
太吓人了! – Dominic 2013-12-12 12:26:57
MJ7:非常感谢。这很棒。现在显示分类法。但是有一个问题:我会如何使slugs和分类法显示为链接? – user705100 2012-03-21 20:21:53
很明显,这取决于你想链接到什么 - 下面的链接将列表中的每个分类法链接到该分类的编辑页面: $ types = $ wpdb-> get_results(“SELECT name,term_id FROM $ wpdb->文章LEFT OUTER JOIN $ wpdb-> term_relationships ON ID = object_id LEFT OUTER JOIN $ wpdb-> terms ON term_taxonomy_id = term_id WHERE ID = {$ id}“); \t \t \t的foreach($类型作为$ loopId => $类型){ \t \t \t \t回声'.$type->name.','; \t \t \t} \t \t \t break; – mj7 2012-03-21 20:26:45
我不能诚实地说出你需要的页面的正确位置是什么 - 找出最好的方法是复制目标页面的链接 - 将它粘贴到类型的标签中,然后插入$ type- > term_id变量。注意 - 您需要确保将term_id字段添加到SQL SELECT语句中,如上例所示 – mj7 2012-03-21 21:05:26