获取作者模板中特定作者的自定义分类术语

时间:2013-06-10 作者:whiteletters in blankpapers

我在我的网站上使用了一个自定义的帖子类型和一个自定义的分类法。

作者在发表文章之前选择一个或多个术语。

我的目标是在前端显示作者页面,所以我使用author.php 模板文件。默认情况下,此文件显示特定作者撰写的文章的存档。如何将作者发布的帖子的自定义分类术语列表添加到此文件中?

如果我的解释不清楚,我会给出以下示例:

if Author-x has published:

**post1** with term1 , term2, term3
**post2** with term2, term5
**post3** with term1


then, in Author-x page I will have : term1, term2, term3, term5.
这与堆栈交换中的用户页中的原理完全相同。如您所见,每个用户都有一个标签列表,这些标签是用户参与的帖子的标签。

谢谢你平时的帮助。

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

首先获取作者帖子的列表,然后循环查看每篇帖子并获取使用的术语,例如:

function list_author_used_terms($author_id){

    // get the author\'s posts
    $posts = get_posts( array(\'post_type\' => \'custom_post_type_name\', \'posts_per_page\' => -1, \'author\' => $author_id) );
    $author_terms = array();
    //loop over the posts and collect the terms
    foreach ($posts as $p) {
        $terms = wp_get_object_terms( $p->ID, \'taxonomy_name\');
        foreach ($terms as $t) {
            $author_terms[] = $t->name;
        }
    }
    return array_unique($author_terms);
}

//usage
echo implode(", ",list_author_used_terms(1));

结束

相关推荐

Author_meta ONLY if it exists

我只想显示作者的网站链接,如果它存在的话,但我无法计算出它的确切语法。我有这个 if ( get_the_author_meta(\'user_url\') ) : // If a user has filled out their decscription show a bio on their entries echo the_author_meta(\'user_url\'); endif; 但我需要把它