GET_TERMS在WP 4.2之后停止工作

时间:2015-05-06 作者:Mark.C

我刚刚在我的网站上注意到,定制的分类术语已经不再流行了。我只是猜测这是在4.2更新之后发生的。以下是php:

$terms = get_the_terms( $post->ID , \'bw_filters\' );
$genres = get_terms( \'bw_filters\' , array( \'child_of\' => 5   ) );
$terms_ids = array();
$genres_ids = array();
$output_terms = array();
foreach( $terms as $term ){
    $terms_ids[ $term->term_id ] = $term->term_id;
}
foreach( $genres as $term ){
    $genres_ids[ $term->term_id ] = $term->term_id;
}
foreach( $terms_ids as $term ){
    if( in_array( $term , $genres_ids ) ){
        $output_terms[] = $terms[ $term ];
    }
}

$count = count( $output_terms );
$i = 1;
foreach( $output_terms as $term ){
    echo $term->name;
    if( $i < $count ){
        echo \', \';
    }
    $i++;
}
很久以前,我让其他人写了这篇文章,所以我可能无法回答有关代码片段的所有问题。

我怀疑是get\\u terms函数不再正常工作了。在此之前,此代码运行良好,它将显示ID为5的子级。不是,它什么都不输出。只是空白。

任何想法都是有益的。谢谢

1 个回复
SO网友:Mark.C

我现在把这个修好了。设法与我的老开发人员进行了交谈,他补充道:

$termsById = array();
foreach ($terms as $t) {
    $termsById[$t->term_id] = $t;
}
我不得不在第14行之前使用$术语的地方添加这个新变量。

谢谢大家的帮助,我感谢大家的努力。

结束

相关推荐

使用Get_Terms()显示空的分类术语

我有如下功能设置:<?php $terms = get_terms(\"wpsc_product_category\"); if ( !empty( $terms ) && !is_wp_error( $terms ) ){ foreach ( $terms as $term ) { ?> <li class=\"calendar-filter-menu-item\" data-filter=\".<?php ec