The following lists authors of the current category.
But I want this to be a list of 6 random authors from current post category.
foreach((get_the_category()) as $category) {
$postcat= $category->cat_ID;
}
$current_category_ID = $postcat;
$current_cat_id = $current_category_ID;
$author_array = array();
$args = array(
'numberposts' => -1,
'cat' => $current_cat_id,
'orderby' => 'author',
'order' => 'asc',
);
$cat_posts = get_posts($args);
foreach ($cat_posts as $cat_post) :
if (!in_array($cat_post->post_author,$author_array)) {
$author_array[] = $cat_post->post_author;
}
endforeach;
foreach ($author_array as $author) :
$auth = get_userdata($author)->display_name;
$auth_link = get_userdata($author)->user_login;
$autid= get_userdata($author)->ID;
$link = get_author_posts_url($autid);
echo ''. get_avatar( $autid, '46' ).'';
echo "<a class='sidebar-aut' href='$link";
echo "'>";
echo '<h6>'.$auth.'</h6>';
echo "</a>";
echo "<div class='clearfix'></div>";
echo "<br />";
endforeach;
$category_detail=get_the_category($post->ID)
doesn't make much sense... Maybe what you need are PHP functions:suffle
andarray_slice
.