2014-02-05 2 views
0

Во-первых, я пытаюсь отобразить все теги из таксономии под названием «группа». Однако эта таксономия в настоящее время содержит два тега, из которых один из них имеет несколько тегов.Как я могу отображать сообщения от tagchildren таксономии tagparent

Обновление: Я должен был упомянуть, что это было для определенного типа сообщения.

Я бы хотел отображать все сообщения, принадлежащие этим детям. Таким образом, окончательный результат должен выглядеть следующим образом:

  • Родитель тег
    • Детский тег
      • сообщение данных
    • Детский тег
      • Отправлять данные
    • et с ...
  • "Родитель" Tag B

    <?php 
    $taxonomyName = "group"; 
    $terms = get_terms($taxonomyName,array('parent' => 0)); 
    foreach($terms as $term) { 
         echo '<a href="'.get_term_link($term->slug,$taxonomyName).'">'.$term->name.'</a>'; 
         $term_children = get_term_children($term->term_id,$taxonomyName); 
         echo '<ul>'; 
         foreach($term_children as $term_child_id) { 
           $term_child = get_term_by('id',$term_child_id,$taxonomyName); 
           echo '<li><a href="' . get_term_link($term_child->name, $taxonomyName) . '">' . $term_child->name . '</a></li>'; 
         } 
         echo '</ul>'; 
    } 
    ?> 
    
+0

В чем проблема ??? Вы хотите отобразить все сообщения, содержащие 'child tags' или' parent tags' ??? –

+0

@AkshayPaghdar Я бы хотел отображать сообщения, относящиеся к определенному дочернему тегу. Это верно. – digifrog

+0

Я провел некоторое исследование, но считаю, что это сложно, и я был бы удивлен, если бы даже люди знали ответ. – digifrog

ответ

1

Может быть, вы должны попробовать это ...

Я надеюсь, что это будет работать ...

$taxonomyName = "group"; 
$terms = get_terms($taxonomyName,array('parent' => 0)); 
echo '<ul>'; 
foreach($terms as $term) 
{ 
    echo '<li><a href="'.get_term_link($term->slug,$taxonomyName).'">'.$term->name.'</a>'; 
    $term_children = get_term_children($term->term_id,$taxonomyName); 
    echo '<ul>'; 
    foreach($term_children as $term_child_id) 
    { 
     $term_child = get_term_by('id',$term_child_id,$taxonomyName); 
     echo '<li><a href="' . get_term_link($term_child->name, $taxonomyName) . '">' . $term_child->name . '</a>'; 
     echo '<ul>'; 
     $tax_arg = array(
      'post_type' => 'post', 
      'posts_per_page' => -1, 
      'post_status' => 'publish', 
      'tax_query' => array(
       array(
        'taxonomy' => $taxonomyName, 
        'field' => 'id', 
        'terms' => $term_child_id 
       ) 
      ) 
     ); 
     $posts = get_posts($tax_arg); 
     foreach($posts as $post) 
     { 
      echo '<li><a href="' . get_permalink($post->ID) . '">' . $post->post_title . '</a></li>'; 
     } 
     echo '</ul>'; 
     echo '</li>'; 
    } 
    echo '</ul>'; 
    echo '</li>'; 
} 
echo '</ul>'; 
+0

Акшай, ты гений. Большое спасибо за Вашу помощь. Оказалось, что я забыл упомянуть, что это особый тип сообщения, а не сообщение. Поэтому ваш ответ сработал, когда я изменил этот простой аргумент. Еще раз спасибо! – digifrog

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