我在我的网站上使用了一个自定义的帖子类型和一个自定义的分类法。
作者在发表文章之前选择一个或多个术语。
我的目标是在前端显示作者页面,所以我使用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.
这与堆栈交换中的用户页中的原理完全相同。如您所见,每个用户都有一个标签列表,这些标签是用户参与的帖子的标签。
谢谢你平时的帮助。
最合适的回答,由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));