get_term_link doesn't work

时间:2015-07-29 作者:Elena

在ACF团队的支持下,我创建了一个页面,在该页面中,我按字母顺序列出了分类法自定义字段(名为cognome\\u nome的自定义字段)中的值。我解释:

第1学期

名称:Elena P术语2

姓名:Andrea B

但是我如何才能将链接添加到术语页?我尝试使用get\\u term\\u link($term),但它提供了我添加到分类中的最后一位作者的链接。

这是我的代码:

$terms = get_terms( \'authors\', $args );
$values = array();
foreach($terms as $term):

array_push($values, get_field(\'cognome_nome\', $term));

endforeach;

sort($values);
// display values
foreach ($values as $value) {
echo "<div> <a href=\'" . get_term_link( $term ) . "\'</a>" . get_field(\'cognome_nome\', $term) . "</div>";
echo $value;
}
谢谢你

3 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

我不知道ACF是如何工作的,也不知道它的数据是如何存储的,但一般来说,我只会使用usort() 通过的ACF值对返回的术语数组进行排序cognome_nome. 请注意array_push 使用起来有点贵,所以尽量避免;-)

正如我在评论中所说,您的代码对我来说没有多大意义。你有两个独立的foreach 循环,这很好,但您正在尝试使用第一个foreach 循环值($term)在第二个中,这将不起作用。在a中foreach 循环,最后一个键的值保持在foreach 循环,这意味着$term 将始终设置为最后一个学期。因为这个,因为你使用$term 在你的第二个foreach 按原样循环,所有值都将设置为$terms 对象这正是你所看到的。

总的来说,这就是我解决这个问题的方式

$terms = get_terms( \'authors\', $args );
/**
 * Remember the usort bug. Use @usort to cut the bug\'s wings and feet ;-)
 */
@usort( $terms, function ( $a, $b )
{
    /**
     * Get our ACF Data
     * Just make sure that my logic is correct here and that you actually get data from get_field
     */
    $array_a = get_field( \'cognome_nome\', $a );
    $array_b = get_field( \'cognome_nome\', $b );

    if ( $array_a ) {
        $sort_a = $array_a;
    } else {
        $sort_a = \'zzz\'; //Kind of fall back to add posts without field last
    }

    if ( $array_b ) {
        $sort_b = $array_b;
    } else {
        $sort_b = \'zzz\'; //Kind of fall back to add posts without field last
    }

    // Sort by these ACF data
    return strcasecmp ( $sort_a, $sort_b );
});
这将负责排序。然后,您就可以正常地循环使用术语,并像通常那样输出它们

SO网友:Parveen Chauhan
foreach ($values as $value) {
    echo "<div> <a href=\'" . get_term_link($value ) . "\'</a>" . 
    get_field(\'cognome_nome\', $term) . "</div>";
    echo $value;
}
SO网友:prempal sharma

我认为此函数用于获取术语链接。

get_term_link($terms,texonomy_name);
此功能工作正常。

结束

相关推荐

Query Taxonomy By Page Title

我想做的是在具有该分类名称的页面上显示共享该分类的帖子。例如,一个名为“PHP”的页面将显示自定义分类法“language”设置为“PHP”的所有帖子。到目前为止我所拥有的。。$secondary_loop = new WP_Query(array( \'tax_query\' => array( array( \'taxonomy\' => \'language\', \'term