там - я смог довольно далеко продвинуться к этой функции, которую я адаптировал для https://annexteenclinic.org;, однако, вместо случайного добавления 6 авторов из примерно 20 авторов на сайт, он отображает первые 6 в алфавитном порядке в случайном порядке.
Очевидно, я что-то упустил! Мне любопытно узнать, как я могу настроить приведенный ниже код, чтобы выбрать 6 случайных авторов, а затем отобразить их. Заранее спасибо за ваши мысли. Приветствуются идеи о том, как сделать этот код более аккуратным. Это растягивается.
function stahom() {
$display_admins = false;
//$order_by = 'display_name';
// 'nicename', 'email', 'url', 'registered', 'display_name', or 'post_count'
$order_by = 'rand';
$order = 'ASC';
$role = 'staff-directory'; // 'subscriber', 'contributor', 'editor', 'author' - leave blank for 'all'
$hide_empty = false; // hides authors with zero posts
$number = '6';
if (!empty($display_admins)) {
$blogusers = get_users('orderby='.$order_by.'&role='.$role);
} else {
$admins = get_users('role=administrator');
$exclude = array();
foreach ($admins as $ad) {
$exclude[] = $ad->ID;
}
$exclude = implode(',', $exclude);
$blogusers = get_users('exclude='.$exclude.'&orderby='.$order_by.'&number='.$number.'&order='.$order.'&role='.$role);
}
$authors = array();
foreach ($blogusers as $bloguser) {
$user = get_userdata($bloguser->ID);
if (!empty($hide_empty)) {
$numposts = count_user_posts($user->ID);
if ($numposts < 1) {
continue;
}
}
$authors[] = (array) $user;
}
shuffle($authors);
array_rand($authors);
foreach ($authors as $author) {
$author_title = get_field('title', 'user_'. $author['ID']);
$display_name = $author['data']->display_name;
$author_profile_url = get_author_posts_url($author['ID']);
$author_regpho = get_field('regpho', 'user_'. $author['ID']);
$regurl = $author_regpho['url'];
$author_hovpho = get_field('hovpho', 'user_'. $author['ID']);
$hovurl = $author_hovpho['url'];
$size = 'thumbnail';
$regthumb = $author_regpho['sizes'][$size];
$hovthumb = $author_hovpho['sizes'][$size];
echo '<div class="third"><div class="container"><a href="', $author_profile_url, '" class="contributor-link"><img src="', $regthumb,'" alt="', $display_name,'" class="image">';
echo '<div class="overlay">';
echo '<img src="', $hovthumb,'" alt="', $display_name,'" class="image"></div>';
echo '</a></div>';
echo '<div class="stalin"><a href="', $author_profile_url, '" class="contributor-link">', $display_name, '<br/><span>', $author_title, '</a></span></div></div>';
}
}
add_action('hook_bottom_stahom', 'stahom');