2017-07-17 114 views
1

我有代碼顯示每個類別的帖子: 但是,如果只顯示每個類別的子類別(不是發佈)。怎麼做? ***實施例型號: 主頁WordPress的 - 如何僅顯示子類別

  • - 類別1
  • ---子目錄1
  • -----張貼1
  • -----郵政2
  • - --Subcategory 2
  • -----張貼1
  • -----郵政2

<div class="box_inner cat_box list_posts_box first_post_left posts-v1" > 
 
    <div class="news_box"> 
 
    <h3 class="news_box_title2"> 
 
\t \t <a href="<?php echo get_category_link($GLOBALS['bd_cat_id']); ?> "> 
 
\t \t \t <?php echo get_cat_name($GLOBALS['bd_cat_id']);?> 
 
\t \t </a> 
 
    </h3> 
 
    <ul> 
 
     <?php query_posts(array('showposts' => 1, 'cat' => $GLOBALS['bd_cat_id'] )); ?> 
 
     <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
 
     <li class="first_news"> 
 

 
     <div <?php post_class(); ?>> 
 
     <div class="inner_post"> 
 
      <div class="first-post-thumbnail"> 
 

 
      <a href="<?php the_permalink();?>" title="<?php printf(esc_attr__('%s', 'bd'), the_title_attribute('echo=0')); ?>" rel="author"> 
 
\t    <?php $timthumb = bdayh_get_option('timthumb'); if($timthumb == true) { ?> 
 
\t    \t <img src="<?php echo BD_URI ?>/timthumb.php?src=<?php echo bd_post_image('large'); ?>&amp;h=150&amp;w=317&amp;zc=1" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" /> 
 
\t    <?php } else { ?> 
 
\t    <?php 
 

 
\t     $thumb = bd_post_image('large'); 
 
\t     $ntImage = aq_resize($thumb, 317, 150, true); 
 
\t \t \t \t \t if($ntImage == '') 
 
\t \t \t \t \t \t { 
 
\t \t \t \t \t \t \t $ntImage = BD_IMG .'/default_thumb.png'; 
 
\t \t \t \t \t \t } 
 
\t     ?> 
 

 
\t \t    <?php if (strpos(bd_post_image(), 'youtube')) { ?> 
 
\t \t    \t <img src="<?php echo bd_post_image('large'); ?>" width="317" height="150" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" /> 
 
\t \t    <?php } elseif (strpos(bd_post_image(), 'vimeo')) { ?> 
 
\t \t    \t <img src="<?php echo bd_post_image('large'); ?>" width="317" height="150" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" /> 
 
\t \t    <?php } elseif (strpos(bd_post_image(), 'dailymotion')) {?> 
 
\t \t    \t <img src="<?php echo bd_post_image('large'); ?>" width="317" height="150" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" /> 
 
\t \t    <?php } else { ?> 
 
\t \t    \t <img src="<?php echo $ntImage; ?>" width="317" height="150" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" /> 
 
\t \t    <?php } ?> 
 
\t    <?php } ?> 
 
\t    <span class="article-icon"><img src="<?php echo BD_IMG; ?>/spacer.gif" alt="" /></span> 
 
      </a> 
 
      </div><!--//post_thumbnail--> 
 
      <h2> 
 
      <a href="<?php the_permalink();?>" title="<?php printf(esc_attr__('%s', 'bd'), the_title_attribute('echo=0')); ?>" rel="author"> 
 
      \t <?php the_title();?> 
 
      </a> 
 

 
      </h2> 
 

 
      <div class="post_meta"> 
 
      <a class="author_link" href="<?php echo get_author_posts_url(get_the_author_meta('ID'))?>" title="<?php sprintf(esc_attr__('View all posts by %s', 'bd'), get_the_author()) ?>"> 
 
      \t <?php echo get_the_author() ?> 
 
      </a> 
 
      <a class="date"> 
 
      \t <?php the_time(get_option('date_format')); ?> 
 
      </a> 
 
       <span class="widget post-rat"><?php echo bd_wp_post_rate(); ?></span> 
 
      </div> 
 
      <p> 
 
      <p><?php bd_excerpt_home() ?></p> 
 
      </p> 
 
     </div> 
 
     </div> 
 

 
     </li> 
 
     <?php endwhile; endif;?> 
 
     <?php wp_reset_query(); ?> 
 

 
     <?php query_posts(array('showposts' => 4,'offset'=>1, 'cat' => $GLOBALS['bd_cat_id'] )); ?> 
 
     <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
 
     <li class="posts-list-small"> 
 
     <div class="inner_post"> 
 
      <?php 
 
      $img_w  = 55; 
 
      $img_h  = 55; 
 
      $thumb  = bd_post_image('full'); 
 
      $image  = aq_resize($thumb, $img_w, $img_h, true); 
 
      $alt  = get_the_title(); 
 
      $link  = get_permalink(); 
 
      if (strpos(bd_post_image(), 'youtube')) 
 
      { 
 
       echo '<div class="post_thumbnail"><a href="'. $link .'" title="'. $alt .'"><img src="'. bd_post_image('full') .'" width="'. $img_w .'" height="'. $img_h .'" alt="'. $alt .'" /></a></div><!-- .post-image/-->' ."\n"; 
 
      } 
 
      elseif (strpos(bd_post_image(), 'vimeo')) 
 
      { 
 
       echo '<div class="post_thumbnail"><a href="'. $link .'" title="'. $alt .'"><img src="'. bd_post_image('full') .'" width="'. $img_w .'" height="'. $img_h .'" alt="'. $alt .'" /></a></div><!-- .post-image/-->' ."\n"; 
 
      } 
 
      elseif (strpos(bd_post_image(), 'dailymotion')) 
 
      { 
 
       echo '<div class="post_thumbnail"><a href="'. $link .'" title="'. $alt .'"><img src="'. bd_post_image('full') .'" width="'. $img_w .'" height="'. $img_h .'" alt="'. $alt .'" /></a></div><!-- .post-image/-->' ."\n"; 
 
      } 
 
      else 
 
      { 
 
       if($image) : 
 
        echo '<div class="post_thumbnail"><a href="'. $link .'" title="'. $alt .'"><img src="'. $image .'" width="'. $img_w .'" height="'. $img_h .'" alt="'. $alt .'" /></a></div><!-- .post-image/-->' ."\n"; 
 
       endif; 
 
      } 
 
      ?> 
 
      <h2> 
 
      <a href="<?php the_permalink();?>" title="<?php printf(esc_attr__('%s', 'bd'), the_title_attribute('echo=0')); ?>" rel="author"> 
 
      <?php the_title();?> 
 
      </a> 
 
      </h2> 
 
      <div class="post_meta"> 
 
      <a class="date"> 
 
      <?php the_time(get_option('date_format')); ?> 
 
      </a> 
 
       <span class="widget post-rat"><?php echo bd_wp_post_rate(); ?></span> 
 
      </div> 
 
     </div> 
 
     </li> 
 
     <?php endwhile; endif;?> 
 
     <?php wp_reset_query(); ?> 
 
    </ul> 
 
    </div> 
 
</div>

回答

0

不知道在你的代碼的一部分,你想補充的是列表,但我已經找到一種方法來顯示在子類別的職位列表。

<ul> 
<?php $childCats = get_categories('child_of=6'); 

foreach ($childCats as $childCat) : 
    $this_category = get_category($childCat); 
    $args = array(
    'category__in' => array($childCat->term_id) 
); 
    $childCatPosts = new WP_Query($args); 
    if ($childCatPosts->have_posts()) : ?> 

    <li><?php echo $childCat->name; ?> 

    <?php if ($this_category->category_parent != 0) { ?> 

     <ul> 
     <?php while ($childCatPosts->have_posts()) : $childCatPosts->the_post(); ?> 

      <li><?php the_title(); ?></li> 

     <?php endwhile; ?> 
     </ul> 

    <?php } ?> 
    </li> 

    <?php    
    endif; 
endforeach;  
?> 
</ul> 

請注意,'child_of = 6'表示父ID,這將檢索類別對象的列表。 然後,您需要遍歷這些類別並根據子類別ID進行查詢。

希望這有助於:)

0

顯示後與子類別中的WordPress

添加以下代碼在主頁

$category_args = array(
    'type'      => 'post', 
    'child_of'     => 0, 
    'parent'     => 0, 
    'orderby'     => 'id', 
    'order'     => 'ASC', 
    'hide_empty'    => 0, 
    'hierarchical'    => 1, 
    'exclude'     => '', 
    'include'     => '', 
    'number'     => '', 
    'taxonomy'     => 'category', 
    'pad_counts'    => false 
); 
$categories = get_categories($category_args); 

if(count($categories)>0) 
{ 

    $categories = get_categories($args); 
    foreach ($categories as $category) { 
     ?> 
     <h3 class="news_box_title2"> 
      <a href="<?php echo get_category_link($category->term_id); ?> "> 
       <?php echo $category->name;?> 
      </a> 
     </h3> 
     <?php 
     $subcategories_args = array('parent'=> $category->term_id,'orderby'=> 'id','order'=> 'ASC','hide_empty'=> 0,'taxonomy'=> 'category'); 
     if(count($subcategories_args)>0) 
     { 
      ?> 
      <ul> 
      <?php 
      foreach ($subcategories_args as $subcategory) { 
       ?> 
        <li><a href="<?php echo get_category_link($subcategory->term_id); ?> "> 
         <?php echo $subcategory->name;?> 
        </a></li> 
        <?php 
        $post_category_taxonomy  = $subcategory->taxonomy; 
        $post_category_term_id  = $subcategory->term_id; 

        $listing_post_args=array(
         'type'      => 'post', 
         'post_status'    => 'publish', 
         'posts_per_page'   => 2, 
         'caller_get_posts'   => -1, 
         'child_of'     => 0, 
         'parent'     => 0, 
         'orderby'     => 'name', 
         'order'     => 'DESC', 
         'hide_empty'    => 0, 
         'hierarchical'    => 1, 
         'exclude'     => '', 
         'include'     => '', 
         'number'     => '', 
         'tax_query'    => array(
                  array(
                   'taxonomy' => $post_category_taxonomy, 
                   'field' => 'id', 
                   'terms' => $post_category_term_id 
                  ) 
                 ), 
         'pad_counts'    => false, 
        ); 
        $listing_post_my_query = null; 
        $listing_post_my_query = new WP_Query($listing_post_args); 


        if($listing_post_my_query->have_posts()) 
        { 
         while ($listing_post_my_query->have_posts()) : $listing_post_my_query->the_post(); 
         ?> 
         <a href="<?php echo get_permalink($post->ID); ?>"><?php echo get_the_title($post->ID);?></a> 
         <?php 
         endwhile; 
        } 
        ?> 
       <?php 
      } 
      ?> 
      </ul> 
      <?php 
     } 
    } 
} 
?> 
相關問題