在ACF未显示所有术语的情况下对Get_Terms进行排序

时间:2016-02-11 作者:Julian Flynn

我正在制作一个短代码来返回此分类法中的所有术语。术语按ACF生成的自定义字段“高度”用krsort排序。我正在关注这个answer from here.

问题是它只显示了8个术语,总共有15个。所有这些术语都填写了自定义字段,并且都有帖子,所以我不确定。

我需要这个对象数组,因为我将在foreach中显示其他参数。

function taxonomies_shortcode( $atts ) {
    extract( shortcode_atts( 
        array(
            \'taxonomy\' => \'taxonomy\',
        ), $atts 
    ));
    $args = array( 
        \'taxonomy\' => $taxonomy,
    );
    $terms = get_terms( $args );
    $newterms = array(); 
    foreach($terms as $term) {
        $order = get_field( \'height\', $term );                
        $newterms[$order] = (object) array(
            \'name\' => $term->name,
            \'slug\' => $term->slug,
            \'term_id\' => $term->term_id
        );
    }
    ksort( $newterms, SORT_NUMERIC );
    foreach ( $newterms as $newterm ) {     
        $html .= \'<a href="#\' . $newterm->slug . \'">\' . $newterm->name . \'</a>\';
    }
    return $html;
}
add_shortcode( \'taxonomies\', \'taxonomies_shortcode\' );
非常感谢您的帮助,谢谢!

1 个回复
SO网友:tomasbarrios

如果您缺少术语,可以尝试显示所有术语,并对未分配给帖子的术语进行事件处理。默认情况下,wordpress不会获取不在帖子中的术语。

get_terms($taxonomy, array(\'hide_empty\' => false));

相关推荐

我在相关产品“TAX_QUERY”‘TERMS’值方面遇到问题

我有两种自定义页面类型。第一个是;“产品”;第二个是;附件;。在产品页面上,有“附件”类别;“输入”;罗列立柱。输入对值进行编码,如;06010603等;。这些代码也是产品代码。当我用metabox输入产品代码时,功能会在某些区域启动。如产品表、产品图片等。如何在术语部分打印此代码。提前感谢你们的帮助。工作代码;<?php $article_list = get_post_meta ( get_the_ID(), \'products_article_list\', t