【发布时间】:2016-05-06 21:41:07
【问题描述】:
$args = array(
'orderby' => 'display_name'
);
$wp_user_query = new WP_User_Query($args);
$authors = $wp_user_query->get_results();
if (!empty($authors))
{
echo '<ul>';
foreach ($authors as $author)
{
$author_info = get_userdata($author->ID);
echo '<li>'.$author->ID.' '.$author_info->first_name.' '.$author_info->last_name.'</li>';
}
echo '</ul>';
} else {
echo 'No authors found';
}
我正在使用帖子作者的帖子过滤器。上面的代码显示了所有用户,因此只需要显示在博客中发帖的作者。
就像 wp_list_authors() 函数,但我需要获取作者 ID 而不是作者姓名。因为我需要创建一个下拉列表。当有人更改选项时,我需要在 AJAX 中获取该作者的帖子
【问题讨论】:
-
您的
$post->post_author中有什么内容? -
我不想通过获取所有帖子来获取作者。只需获取都在特定博客下发帖的作者,例如 wp_list_authors。
-
codex.wordpress.org/Function_Reference/wp_dropdown_users 你只能查询作者,除了循环所有帖子来构建你的 id,但这很耗费资源,缓存!