WordPress的 - 如何仅显示子类别
问题描述:
我有代码显示每个类别的帖子: 但是,如果只显示每个类别的子类别(不是发布)。怎么做? ***实施例型号: 主页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'); ?>&h=150&w=317&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>
答
不知道在你的代码的一部分,你想补充的是列表,但我已经找到一种方法来显示在子类别的职位列表。
<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进行查询。
希望这有助于:)
答
显示后与子类别中的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
}
}
}
?>