如何显示分类标签的tagchildren的帖子

时间:2014-02-05 10:16:15

标签: wordpress taxonomy term

首先,我尝试显示名为' group'的分类标签中的所有标签。但是,此分类法目前包含两个标记,其中一个标记具有多个标记符。

更新:我应该提到它适用于特定的帖子类型。

我喜欢显示属于这些孩子的所有帖子。所以最终的结果应该是这样的:

  • 父标记A.
    • 儿童代码
      • 发布数据
    • 儿童代码
      • 发布数据
    • 等...
  • "父"标签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>';
    }
    ?>
    

1 个答案:

答案 0 :(得分: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>';