WordPress Version: 5.9
/**
* Displays a list of contributors for a given group.
*
* @since 5.3.0
*
* @param array $credits The credits groups returned from the API.
* @param string $slug The current group to display.
*/
function wp_credits_section_list($credits = array(), $slug = '')
{
$group_data = isset($credits['groups'][$slug]) ? $credits['groups'][$slug] : array();
$credits_data = $credits['data'];
if (!count($group_data)) {
return;
}
if (!empty($group_data['shuffle'])) {
shuffle($group_data['data']);
// We were going to sort by ability to pronounce "hierarchical," but that wouldn't be fair to Matt.
}
switch ($group_data['type']) {
case 'list':
array_walk($group_data['data'], '_wp_credits_add_profile_link', $credits_data['profiles']);
echo '<p class="wp-credits-list">' . wp_sprintf('%l.', $group_data['data']) . "</p>\n\n";
break;
case 'libraries':
array_walk($group_data['data'], '_wp_credits_build_object_link');
echo '<p class="wp-credits-list">' . wp_sprintf('%l.', $group_data['data']) . "</p>\n\n";
break;
default:
$compact = 'compact' === $group_data['type'];
$classes = 'wp-people-group ' . ($compact ? 'compact' : '');
echo '<ul class="' . $classes . '" id="wp-people-group-' . $slug . '">' . "\n";
foreach ($group_data['data'] as $person_data) {
echo '<li class="wp-person" id="wp-person-' . esc_attr($person_data[2]) . '">' . "\n\t";
echo '<a href="' . esc_url(sprintf($credits_data['profiles'], $person_data[2])) . '" class="web">';
$size = $compact ? 80 : 160;
$data = get_avatar_data($person_data[1] . '@md5.gravatar.com', array('size' => $size));
$data2x = get_avatar_data($person_data[1] . '@md5.gravatar.com', array('size' => $size * 2));
echo '<span class="wp-person-avatar"><img src="' . esc_url($data['url']) . '" srcset="' . esc_url($data2x['url']) . ' 2x" class="gravatar" alt="" /></span>' . "\n";
echo esc_html($person_data[0]) . "</a>\n\t";
if (!$compact && !empty($person_data[3])) {
// phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText
echo '<span class="title">' . translate($person_data[3]) . "</span>\n";
}
echo "</li>\n";
}
echo "</ul>\n";
break;
}
}