在此函数中对分类输出进行排序

时间:2012-03-11 作者:Rob Oliver

我发现(google)这个函数的性能几乎完全符合我的需要。创建CPT术语的链接文本结构(面包屑),即父类别->子类别->孙子类别

唯一的问题是输出的顺序有点偏离-子类别->父类别->孙子类别

我无法从下面的代码中找出如何正确订购。

任何指点都将不胜感激。

非常感谢

抢劫

function get_the_term_list_breadcrumbs( $id = 0, $taxonomy, $before = \'\', $sep = \'\', $after = \'\', $breadcrumb_sep = \' → \' ) {
$terms = get_the_terms( $id, $taxonomy );

if ( is_wp_error( $terms ) )
    return $terms;

if ( empty( $terms ) )
    return false;

foreach ( $terms as $term ) {
    $link = get_term_link( $term, $taxonomy );
    if ( is_wp_error( $link ) )
        return $link;

    // Find parents
    $names = array();
    $ancestors = get_ancestors( $term->term_id, $taxonomy );
    if ( count( $ancestors ) > 0 ) {
        foreach ( $ancestors as $anc ) {
            $t = get_term( $anc, $taxonomy );
            $names[] = $t->name;
        }
    }
    $names[] = $term->name;
    $link_text = implode( $breadcrumb_sep, $names );

    $term_links[] = \'<a href="\' . $link . \'" rel="tag">\' . $link_text . \'</a>\';
}

$term_links = apply_filters( "term_links-$taxonomy", $term_links );

return $before . join( $sep, $term_links ) . $after;
}

1 个回复
SO网友:mor7ifer

get_ancestors() 首先返回父数组,然后返回祖父母数组,等等。需要更改的操作get_ancestors()array_reverse( get_ancestors() ), 这样,父级的级别将下降,而不是上升。

结束

相关推荐

how to list parent terms only

我有以下代码来列出所有术语,但我需要一个代码,其中我只能列出“父术语”,因为它们也都有子术语<?php // output quick links list of countries $terms = get_terms(\'apptypes\'); if (count($terms)) { echo \"<h3>Quick links</h3>\"; echo \"<p style=\\\"text-align:center;\