Wordpress显示所有子类别+文章中的文章子类别中的边栏
问题描述:
对不起,复杂的标题。Wordpress显示所有子类别+文章中的文章子类别中的边栏
我正在使用此代码,以显示我的子子类与其下的帖子。问题是代码显示我在网站上的所有子分类(+帖子)。我只想显示与帖子有关联的子分类。子项目下的所有子子项都与帖子有关联,所以您可以说因为帖子与子项目相关,所以我想要显示子项目下的子子项目。
类别结构(新年是在标题):
- 摹
- 儿童1
- 游戏年1
- 后这里
- 游戏2年
- 后这里
- 游戏年1
- 儿童1
我的代码:
<?php
$cat_id = get_query_var('cat');
$subcats = get_categories('child_of=' . $cat_id); // child categories
class Cat_Walker extends Walker_Category {
function end_el(&$output, $page, $depth = 0, $args = array()) {
$posts = get_posts('cat=' . $page->term_id);
if (sizeof($posts) > 0) {
$output .= '<ul>';
foreach ($posts as $post) {
$output .= sprintf('<li><a href="%1$s">%2$s</a></li>', get_permalink($post->ID), $post->post_title);
}
$output .= '</ul>';
}
$output .= '</li>';
}
}
foreach ($subcats as $subcat) {
$subsubcats = get_categories('child_of=' . $subcat->term_id); // sub child categories
foreach ($subsubcats as $subsubcat) {
$args = array(
'title_li' => '',
'show_option_none' => '',
'taxonomy' => 'category',
'child_of' => $subsubcat->term_id,
'walker' => new Cat_Walker()
);
wp_list_categories($args);
}
}
?>
任何想法?
在此先感谢!
答
我相信你得到错误的类别ID。你应该使用这个:
$category = get_category(get_query_var('cat'));
$cat_id = $category->cat_ID;
感谢而不是
$cat_id = get_query_var('cat');
的答复!那么它得到正确的cat_id,唯一的是它打印网站上的所有子子类别,我想打印所有子类别的帖子相关的,在这种情况下,它是子子女的父亲(子女1) 。我如何让代码做到这一点? – Livog 2013-03-11 10:19:30