我正在努力获取类别页面上的作者列表。我需要列出在该类别中至少撰写过 5 篇文章的作者。
我在标签中也需要类似的东西。
知道如何在 WordPress 中执行此操作吗?
最佳答案
它只能通过自定义 SQL 查询实现,因此这里是一个简单的函数,它应该返回一个数组,其中包含当前术语存档中至少有 $n 篇文章的用户的用户 ID,这意味着它应该在类别、标签和自定义中工作分类法
function get_authors_with($num = 5){
global $wpdb;
$term_slug = get_query_var( 'term' );
$taxonomyName = get_query_var( 'taxonomy' );
$current_term = get_term_by( 'slug', $term_slug, $taxonomyName );
$sub_q = $wpdb->prepare("SELECT * FROM $wpdb->posts
INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id)
INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
WHERE ($wpdb->term_taxonomy.term_id = %s
AND $wpdb->term_taxonomy.taxonomy = '%s'
AND $wpdb->posts.post_type = 'post'
AND $wpdb->posts.post_status = 'publish')",
$current_term->term_id,
$taxonomyName
);
$sql = $wpdb->prepare("SELECT $wpdb->posts.post_author, FROM (%s)
GROUP BY $wpdb->posts.post_author
HAVING count(*) > %s",
$sub_q,
$num
);
return $wpdb->get_results($sql);
}
关于wordpress - 列出在 WordPress 的类别/标签中撰写了一定数量帖子的作者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13951478/