如何从get_terms中排除一个术语

时间:2018-06-22 03:28:39

标签: php wordpress taxonomy-terms

我要显示分类法中的术语列表,并且需要从列表中排除术语,我该怎么做?我在下面做了代码,但没有删除。

$terms = get_terms( 'taxonomyespecialidades', array( 
                        'orderby' => 'name',
                        'order'   => 'ASC',
                        'exclude'  => array(),
) );
$exclude = array("Acupuntura");
$new_the_category = '';
foreach ( $terms as $term ) {
if (!in_array($term->term_name, $exclude)) {
$new_the_category .= '<div class="post hvr-grow"><li><strong><a id="lista" href="'.esc_url( get_term_link( $term ) ) .'">'.$term->name.'</a>'. ' ('. $term->count . ')</strong></li></div>';
}
}
echo substr($new_the_category, 0);

1 个答案:

答案 0 :(得分:0)

您可以尝试这样:

您可以通过在 get_terms 中加入其 id slugs 排除多个术语。 例如:

// default to not exclude terms
$ids_to_exclude = array();
$get_terms_to_exclude =  get_terms(
    array(
        'fields'  => 'ids',
        'slug'    => array( 
            'Acupuntura', 
            'Acupuntura2', 
            'Acupuntura3',
            'Acupuntura4' ),
        //'taxonomy' => 'put taxonomy name here',
    )
);

if( !is_wp_error( $get_terms_to_exclude ) && count($get_terms_to_exclude) > 0){
    $ids_to_exclude = $get_terms_to_exclude; 
}
$terms = get_terms( 'taxonomyespecialidades', array( 
                        'orderby' => 'name',
                        'order'   => 'ASC',
                        'exclude'  => $ids_to_exclude,
) );