显示子类别的名称和链接而不是父类别的名称和链接

时间:2013-10-13 作者:Jon

现在,我的代码正在显示类别名称和链接。但是,如果文章位于子类别中,我希望显示子类别的名称和链接,而不是父类别的名称和链接。出于某种原因,它仍然只是显示父类别。你知道我在代码上做错了什么吗?

    <?php $category_separator = "";
foreach((get_the_category()) as $childcat) {
     $parentcat = $childcat->category_parent;
     if( $parentcat != 0 ) echo \'<span class="\' . get_cat_name($parentcat) .\'"><a href="\' . get_category_link($parentcat) . \'">\' .get_cat_name($parentcat) .\'</a></span>\';
     else echo \'\' . $category_separator . \'<span class="\'. $childcat->cat_name .\'"><a href="\' . get_category_link($childcat) .\'">\' . $childcat->cat_name . \'</a></span>\';
    $category_separator = " / ";
}
?>

2 个回复
SO网友:Rahil Wazir

变化不大:

<?php $category_separator = "";
foreach((get_the_category()) as $childcat) {
     $parentcat = $childcat->term_id;
     if( $parentcat != 0 ) echo \'<span class="\' . get_cat_name($parentcat) .\'"><a href="\' . get_category_link($parentcat) . \'">\' .get_cat_name($parentcat) .\'</a></span>\';
     else echo \'\' . $category_separator . \'<span class="\'. $childcat->cat_name .\'"><a href="\' . get_category_link($childcat) .\'">\' . $childcat->cat_name . \'</a></span>\';
    $category_separator = " / ";
}
?>
实际上,您正在获取父类别id

 $parentcat = $childcat->category_parent;
相反,您需要获取实际的子类别id

$parentcat = $childcat->term_id;

SO网友:Jignesh Patel

仅显示子类别

global $post;    
    $terms = wp_get_post_terms( $post->ID, \'product_cat\' );
            foreach ( $terms as $term ) 
            {
                if($term->parent!=0)
                {
                    $pcategory = get_term( $term->parent, \'product_cat\' );
                    $categories[] = $pcategory->slug;
                }
        }

结束

相关推荐

在Auth.php文件上显示10个以上的帖子

似乎只有10篇帖子显示在作者的页面上。php文件。我用的主题就是这个。php文件:-<?php while ( have_posts() ) : the_post(); ?> <?php endwhile; ?> <?php wt_pagination(); ?> 循环仅获得(作者的)前10篇帖子。如何将其更改为前30篇帖子。无需写入辅助(自定义)循环。