0

以下列出了所有条款,我是否可以帮助修改它以显示除活动/当前页面之外的所有条款?谢谢你。

$terms = get_terms( 'topics', array( 
'orderby' => 'name',
'order'   => 'ASC',
));
if ( ! empty( $terms ) ){
  foreach ( $terms as $term ) {
        $term_thumb = get_field('image', $term);
        echo '<li><a href="'.esc_url( get_term_link( $term->term_id ) ) .'"><img src="' .$term_thumb['url']. '"><span class="model">'.$term->name .'</span></a></li>';
  }
}
4

1 回答 1

0

你可以这样做:

    // create an empty array holder
    $current_tax_ids = array();

    // get the post terms
    $current_tax = get_the_terms( $post->ID, 'topics' );

    // creating loop to insert ids
    foreach( $current_tax as $tax ) {
        $current_tax_ids[] = $tax->term_id;
    }

    $args = array(
        'taxonomy'   => 'topics',
        'hide_empty' => 0,
        'exclude'    => $current_tax_ids // exclude the terms
    );

    // get all the terms
    $all_terms = get_terms($args);
    // now do whatever you want

所以如果你按照我的评论应该很清楚,但基本上你想获取当前的帖子条款并将 id 存储在一个数组中,然后在你这样做的时候简单地排除 id get_terms

于 2017-10-05T02:59:50.410 回答