按字母顺序显示多个自定义分类法

时间:2016-02-10 12:45:21

标签: wordpress wordpress-theming custom-taxonomy

(对不起,长时间阅读,但我认为我的问题可能并不那么困难......)

我试图在一个按字母顺序排列的列表中获取多个自定义分类,并带有指向档案/分类模板的链接。

现在我有4个自定义分类:世界,美国,欧洲,亚洲(< - 不是真正的分类,只是作为一个例子)充满了城市。

当我只是这个代码片段时:

<?php $terms = get_terms( 'world' );
    echo '';                
        foreach ( $terms as $term ) {
        // The $term is an object, so we don't need to specify the $taxonomy.
        $term_link       = get_term_link( $term );

        // If there was an error, continue to the next term.
        if ( is_wp_error( $term_link ) ) {
        continue;
         }

        // We successfully got a link. Print it out.
        echo '<p class="taxonomies"><a href ="' . esc_url( $term_link ) . '">' . $term->name . '</a></p>';
        }

  echo ''; ?>  

我必须使用它四次;世界,美国等。这意味着分类法显示为不同的代码片段,并且只是放在彼此之下。无法按字母顺序放置链接(输出)。

所以它看起来像这样:(也只是一个例子)

New York
Amsterdam
China
Brazil
Zimbabwe
Alaska

现在,有没有办法让一个函数将所有分类法放在一个&#34;循环&#34;哪里可以按字母顺序排序?

这样的事情:

<?php $terms = get_terms( 'world', 'America', 'Europe', 'Asia' );
    echo '';                
        foreach ( $terms as $term ) {
        // The $term is an object, so we don't need to specify the $taxonomy.
        $term_link       = get_term_link( $term );

        // If there was an error, continue to the next term.
        if ( is_wp_error( $term_link ) ) {
        continue;
         }

        // We successfully got a link. Print it out.
        echo '<p class="taxonomies"><a href ="' . esc_url( $term_link ) . '">' . $term->name . '</a></p>';
        }

  echo ''; ?>  

输出看起来像这样:

Alaska
Amsterdam
Brazil
China
New York
Zimbabwe

TIA。

干杯...

1 个答案:

答案 0 :(得分:0)

借鉴this answer

foreach

之前将其添加到您的代码中
function cmp($a, $b){
    return strcmp($a->slug, $b->slug);
}
usort($terms, "cmp");

所以看起来像:

<?php $terms = get_terms( 'world' );

    function cmp($a, $b){
        return strcmp($a->slug, $b->slug);
    }
    usort($terms, "cmp");
    echo '';
        foreach ( $terms as $term ) {
        // The $term is an object, so we don't need to specify the $taxonomy.
        $term_link       = get_term_link( $term );

        // If there was an error, continue to the next term.
        if ( is_wp_error( $term_link ) ) {
        continue;
         }

        // We successfully got a link. Print it out.
        echo '<p class="taxonomies"><a href ="' . esc_url( $term_link ) . '">' . $term->name . '</a></p>';
        }

  echo ''; ?>  

我在这里按slug名称排序,因为你的get_terms()会返回对象数组(WP_Term Object),它应该有term_idname,{{ 1}}等等。