2013-05-03 5 views
0

Я готов заплакать!Таксономии Wordpress

Я выполнил много поисков Google, но я не могу получить эту часть кода, как я ее хочу.

В Wordpress У меня есть следующие систематики:

Active 
- Open 
- In-Progress 
- Awaiting Parts 
- Pending/On-Hold 
- Awaiting Pick-up 

Closed 

https://dl.dropboxusercontent.com/u/30177707/wo-tax.png

То, что я хотел бы для ребенка, который будет отображаться для конкретной должности, и если нет детей, я хотел бы, чтобы отобразить просто родитель.

Heres a screenshot Я отредактировал, чтобы дать лучшую картину того, что я прошу. 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

Вы хотите отредактировать столбец статуса в сообщениях (специальные сообщения типа?) бэкэнд? –

+0

У меня есть настраиваемый тип сообщения, который связан с ним таксономией, чтобы установить статус рабочего порядка (не изменяя статус сообщения). –

ответ

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

Ничего себе! Большое спасибо за этот фрагмент кода. Это делает именно то, что я хотел. –

Смежные вопросы