0

我创建了一个简码来显示我的分类术语。但是对于我的分类法之一,我有一个子术语或子类别。而且我不明白如何显示我的分类的子类别的帖子。

我的代码functions.php

function theme_lasts_posts_shortcode( $atts, $content = null ) {    
    extract( shortcode_atts( array(
        "posttype" => '',
        "taxonomy" => '',
        "term" => '',
        "class" => '',
        "exclude" => '',
    ), $atts));

    $output = '<div class="derniersarticles">';

    if ( $posttype != '' ) {
        $loop = new WP_Query( array( 'post_type' => $posttype, 'taxonomy' => $taxonomy,'term' => $term, 'posts_per_page' => 100, 'post__not_in'   => array($exclude) ) );
    } else {
        $loop = new WP_Query( array( 'post_type' => $posttype, 'posts_per_page' => 100 ) );
    }

    while ( $loop->have_posts() ) : $loop->the_post(); 

            $output .= '<div class="'. $class .'">';
            $output .= '<div class="thumb">';
            $output .= '<a href="' . get_permalink() . '">' . get_the_post_thumbnail() . '</a>';
            $output .= '</div>';
            $output .= '<h3><a href="' . get_permalink() . '">' . get_the_title() . '</a></h3>';
            $output .= '</div>';

    endwhile;

    $output .= '</div>';
    return $output;
}

add_shortcode( 'DerniersArticles', 'theme_lasts_posts_shortcode' );
4

1 回答 1

0

如果我正确理解问题,您需要从自定义分类法中获取父类别子级的帖子吗?

在这种情况下,试试这个:

      <?php
      $father = get_term_by('name', 'main_category_name', 'product_cat' );
      $father_id = $father->term_id;
       $taxonomy_name = 'product_cat';
       $children = get_term_children( $father_id, $taxonomy_name );
        echo '<div class="sidebar_cat">';
        echo '<h5 class="sidebar_heading">'.'main_category_name'.'</h5>';
        echo '<ul class="sidebar_text">';
        foreach ( $children as $child ) {
    $term = get_term_by( 'id', $child, $taxonomy_name );
    echo '<li><a href="' . get_term_link( $term->name, $taxonomy_name ) .            '">'.$term->name . '</a></li>';

          }
          echo '</ul>'; ?>
于 2013-09-20T13:53:58.553 回答