2013-05-03 34 views
0

我准备好哭!WordPress的分类法

我已经做了很多谷歌搜索,但我无法完全按照我想要的方式得到这段代码。

在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

您想编辑帖子(自定义帖子类型?)后端的状态列吗? – 2013-05-03 14:57:04

+0

我有一个自定义帖子类型,它有一个链接到它的分类标准,用于设置工作顺序的状态(不改变帖子的状态)。 – 2013-05-03 14:58:42

回答

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); 
+0

哇!非常感谢那段代码。那正是我想要的。 – 2013-05-03 15:38:50