我准备哭了!
我已经完成了很多谷歌搜索,但我不能完全按照我想要的方式进行编码。
在Wordpress中,我有以下分类:
Active
- Open
- In-Progress
- Awaiting Parts
- Pending / On-Hold
- Awaiting Pick-up
Closed
https://dl.dropboxusercontent.com/u/30177707/wo-tax.png
我想要的是为特定帖子显示孩子,如果没有孩子,我只想显示父母。
这是我编辑过的截图,因此可以更清楚地了解我的要求。 https://dl.dropboxusercontent.com/u/30177707/stackoverflow.png
这是我一直在玩的代码:
$terms = wp_get_post_terms($post->ID, 'pctracker_workorderstatus');
$count = count($terms);
if ( $count > 0 ){
foreach ( $terms as $term ) {
echo $term->name .'<br>';
}
}
目前显示帖子的父母和子女。
非常感谢一些帮助或指导!
谢谢, Jase
答案 0 :(得分:1)
您必须像这样编辑列内容:
这是一个示例代码,您可以根据自己的需要进行调整,基本上我会查看所有条款,以了解哪些是父母和孩子。然后根据结果我显示父母或孩子。在您的情况下,总会有1个父母和/或1个孩子。但代码应该工作。 (未经测试)
function MYCUSTOMPOSTTYPE_custom_columns( $column_name, $id ) {
switch ( $column_name ) {
case 'status':
$terms = wp_get_post_terms($id, 'pctracker_workorderstatus');
$count = count($terms);
if ( $count > 0 ) {
$parents = array();
$childs = array();
foreach ( $terms as $term ) {
if(!empty($term->parent)) {
$childs[] = $term;
} else {
$parents[] = $term;
}
}
//display parent if there no child
if(empty($childs)) {
foreach($parents as $p) {
echo $p->name;
}
} elseif(!empty($parents) && !empty($childs)) {
//don't display parent
foreach($childs as $p) {
echo $p->name;
}
}
}
break;
default:
break;
} // end switch
}
add_action( 'manage_MYCUSTOMPOSTTYPE_posts_custom_column', 'MYCUSTOMPOSTTYPE_custom_columns', 10, 2 );