(对不起,长时间阅读,但我认为我的问题可能并不那么困难......)
我试图在一个按字母顺序排列的列表中获取多个自定义分类,并带有指向档案/分类模板的链接。
现在我有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。
干杯...
答案 0 :(得分:0)
在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_id
,name
,{{ 1}}等等。