WordPress get_terms不输出URL

时间:2013-05-23 12:39:45

标签: php wordpress

我有以下PHP代码,我用它来输出所有自定义分类值的列表,然后按字母顺序将它们按首字母分组。除了没有输出URL之外,这工作正常。有人能帮忙吗?

<?php
$list = '';
$tags = get_terms( 'film-categories' );
$groups = array();
if( $tags && is_array( $tags ) ) {
    foreach( $tags as $tag ) {
        $first_letter = strtoupper( $tag->name[0] );
        $groups[ $first_letter ][] = $tag;
    }
    if( !empty( $groups ) ) {
        foreach( $groups as $letter => $tags ) {
            $list .= '<div class="cat-group"><h3>' . apply_filters( 'the_title', $letter ) . '</h3>';
            $list .= '<ul>';
            foreach( $tags as $tag ) {
                $url = esc_attr( get_tag_link( $tag->term_id ) );
                $name = apply_filters( 'the_title', $tag->name );
                $list .= '<li><a href="' . $url . '">' . $name . '</a></li>';
            }
            $list .= '</ul></div>';
        }
    }
} else $list .= '<p>Sorry, but no tags were found</p>';

echo $list;

?>

1 个答案:

答案 0 :(得分:1)

我害怕你很困惑。 根据你的第二行 - 你提取自定税的条款而不是标签。 $tags = get_terms( 'film-categories' );

因此,与tags相关的任何功能都无法正常工作。 要获取字词的网址,请使用get_term_link()函数。

只需用以下代码替换当前行:

$url = esc_attr( get_term_link( $tag ) );

应该工作。