将链接添加到帖子术语列表

时间:2015-05-13 作者:Amesey

如何更改下面的函数,使其在链接而不是字符串时输出列表?我需要的结果html是<a href="#">term</a> <a href="#">term</a> <a href="#">term</a>

function my_post_term_links() {

// Get an array of all taxonomies for this post
$taxonomies = get_taxonomies( \'\', \'names\' );

// Are there any taxonomies to get terms from?
if ( $taxonomies ) {    

    // Call the wp_get_post_terms function to retrieve all terms. It accepts an array of taxonomies as argument. 
    $arr_terms = wp_get_post_terms( get_the_ID(), array_values( $taxonomies ) , array( "fields" => "names" ) );

    // Convert the terms array to a string
    $terms_links = implode( \' \',$arr_terms );

    if (!filter_var($terms_links , FILTER_VALIDATE_URL) === false) {
       $terms_links ="<a href=\'#\'>".$terms_links."</a>";
    }  

    // Get out of here
    return $terms_links;
}
}
更新//

我通过添加一个for循环,设法让函数显示和列出带有链接的术语,但它复制了最后的术语,并在末尾添加了没有链接的术语。。。

    foreach ( $arr_terms  as $terms_links ) {
        echo \'<a href="#">\' . $terms_links . \'</a>\';
    }
这就是函数现在的样子。。。

function my_post_term_links() {

// Get an array of all taxonomies for this post
$taxonomies = get_taxonomies( \'\', \'names\' );

// Are there any taxonomies to get terms from?
if ( $taxonomies ) {    

    // Call the wp_get_post_terms function to retrieve all terms. It accepts an array of taxonomies as argument. 
    $arr_terms = wp_get_post_terms( get_the_ID(), array_values( $taxonomies ) , array( "fields" => "names" ) );

    // Convert the terms array to a string
    //$terms_links = implode( \' \',$arr_terms );

    foreach ( $arr_terms as $terms_links ) {
        if(!empty($terms_links)) {
        echo \'<a href="#">\' . $terms_links . \'</a>\';
        }
    }

    /*if (!filter_var($terms_links , FILTER_VALIDATE_URL) === false) {
       $terms_links ="<a href=\'#\'>".$terms_links."</a>";
    }  */

    // Get out of here
    return $terms_links;
}
}

1 个回复
最合适的回答,由SO网友:brance 整理而成

然后尝试添加

foreach ( $arr_terms  as $terms_links ) {
    if(!empty($terms_links)) {
    echo \'<a href="#">\' . $terms_links . \'</a>\';
    }
}
检查$terms_links 为空,如果为空,则不会打印出来。

结束

相关推荐

Double slash in the_terms URL

我最近将父类别及其子类别从默认类别分类法移动到了新的自定义分类法。在新的公司分类法中,数据移动得很好,帖子与公司名称正确关联。Before<分类法:类别术语:公司子术语:MozillaAfter<分类法:公司术语:Mozilla我遇到的问题是,当我使用the_terms is按如下方式构建url:http://example.com/company//mozilla我知道我可以通过手动构建URL来伪造正确的结果,但我想知道为什么会这样。我想弄清楚的是为什么会发生双斜杠,以及如何修复它。