Wordpress - 以层次结构顺序显示类别,不按字母顺序显示

时间:2014-01-07 08:02:39

标签: wordpress

这就是我正在使用的:

 if ( ! function_exists( 'cb_byline' ) ) {  
    function cb_byline($cb_cat = true, $cb_post_id = NULL, $cb_short_comment_line = false, $cb_posts_on = false) {

    $cb_meta_onoff = ot_get_option('cb_meta_onoff', 'on'); 
    $cb_disqus_code = ot_get_option('cb_disqus_shortname', NULL);
    $cb_byline = $cb_cat_output = $cb_comments = NULL;
    $cb_cats = get_the_category($cb_post_id);

    if ( isset( $cb_cats ) && ( $cb_cat == true ) ) {
        $cb_cat_output = ' <div class="cb-category"><i class="icon-folder-close"></i> ';
        $i = 1;
        foreach($cb_cats as $category) {
            if ( $i != 1 ) { $cb_cat_output .= '-> '; }
             $cb_cat_output .= ' <a href="'.get_category_link( $category->cat_ID  ).'" title="' . esc_attr( sprintf( __( "View all posts in %s", "cubell" ), $category->name ) ) . '">'.$category->cat_name.'</a>';
             $i++;
        }
        $cb_cat_output .= '</div>';

按字母顺序输出类别。

我需要从顶级显示类别 - &gt;底层。

我不是专家编码员,但我已经四处寻找并且无法找到解决方案。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用

找到每个类别的父类别
get_category_parents( $id, $link, $separator, $nicename, $visited );

这将返回类似“类别»子类别»子类别»”

的内容

来自http://codex.wordpress.org/Function_Reference/get_category_parents

编辑:完整代码

$cb_meta_onoff = ot_get_option('cb_meta_onoff', 'on'); 
$cb_disqus_code = ot_get_option('cb_disqus_shortname', NULL);
$cb_byline = $cb_cat_output = $cb_comments = NULL;
$cb_cats = get_the_category($cb_post_id);

if ( isset( $cb_cats ) && ( $cb_cat == true ) ) {
    $cb_cat_output = ' <div class="cb-category"><i class="icon-folder-close"></i> ';
    $i = 1;
    foreach($cb_cats as $category) {
        if ( $i != 1 ) { $cb_cat_output .= '-> '; }
         $cb_cat_output .= get_category_parents( $category->cat_ID ) . '<a href="'.get_category_link( $category->cat_ID  ).'" title="' . esc_attr( sprintf( __( "View all posts in %s", "cubell" ), $category->name ) ) . '">'.$category->cat_name.'</a>';
         $i++;
    }
    $cb_cat_output .= '</div>';