wp_list_users() WP 5.9.0

Виводить/отримує список імен (display_name) користувачів сайту у вигляді простого або LI списку. Можна вибрати низку параметрів для вибірки.

1 раз – 0.0159421 сек
(гальмо) | 50000 разів – 208.82 сек
(гальмо)

Хуків немає.

Повертає

Строку|null.

  • При $echo = true(за замовчуванням) – Виводить HTML код на екран, при цьому повертає null.
  • При $echo = falseповертає HTML код.

Шаблон використання

<?php
wp_list_users([
	'orderby' => 'name',
	'order' => 'ASC',
	'number' => '',
	'exclude_admin' => true,
	'show_fullname' => false,
	'feed' => '',
	'feed_image' => '',
	'feed_type' => '',
	'echo' => true,
	'style' => 'list',
	'html' => true,
	'exclude' => '',
	'include' => '',
]);
?>

Використання

wp_list_users($args);
$args
(рядок | масив)
Масив чи рядок аргументів для вибірки.

За замовчуванням: array()

  • orderby (рядок)
    Як сортувати користувачів. Може бути:

    nicename
    email
    url
    registered
    user_nicename
    user_email
    user_url
    user_registered
    name
    display_name
    post_count
    ID
    meta_value
    user_login

    За замовчуванням: ‘name’

  • order (рядок)
    Напрямок сортування для $orderby. Можливо: ASC, DESC.
    За замовчуванням: ‘ASC’
  • number (int)
    Максимальна кількість користувачів, які отримає функція.
    Типово: 0 (all users)
  • exclude_admin (true|false)
    Чи потрібно виключити адміністраторів – обліковий запис ‘admin’.
    Типово: false
  • show_fullname (true|false)
    Показувати повне ім’я користувача. За промовчанням показуєте display_name. Якщо включити цей параметр, то буде показана комбінація first_name last_name, тільки якщо ці поля заповнені у користувача, інакше так і буде показано display_name.
    Типово: false
  • feed (рядок)
    Якщо не порожньо, показувати посилання на стрічку (фід) користувача та використовувати текст вказаний у цьому параметрі як параметр анкору посилання. Якщо вказано УРЛ feed_image, то текст цього параметра буде вказано в alt аттрибуде посилання на фід.
    За замовчуванням: ”
  • feed_image (рядок)
    Якщо не порожньо, показувати IMG як анкор посилання фіда. Вказаний тут URL це посилання на картку.
    За замовчуванням: ”
  • feed_type (рядок)
    Тип фіда, на який потрібно посилатися, наприклад ‘RSS2’.
    За замовчуванням: default feed type
  • echo (true|false)
    Виводити результат чи повертати його.
    Типово: true
  • style (рядок)
    Якщо ‘list’, то кожен користувач буде обернутий в елемент <li>, в іншому випадку користувачі будуть розділені комами.
    За замовчуванням: ‘list’
  • html (true|false)
    Виводити список елементів у формі HTML або у вигляді звичайного тексту. Якщо вказати false, всі параметри які мають на увазі HTML розмітку перестануть працювати – це feed, feed_image, list.
    Типово: true
  • exclude (рядок | масив)
    Масив ID користувачів яких потрібно виключити зі списку. Можна вказати рядком, де ID розділити пробілами або комами.
    За замовчуванням: ”
  • include (рядок | масив)
    Масив ID користувачів яких потрібно показати у списку. Можна вказати рядком, де ID розділити пробілами або комами.
    За замовчуванням: ”

Приклади


0

#1 Демонстрація того, що виводить функція

$users_list = wp_list_users([
	'number' => 3,
	'echo' => false,
	'style' => 'list',
]);

echo htmlspecialchars( $users_list );

/*
style => 'list':

	<li>Wasija</li>
	<li>stas</li>
	<li>anastasiiik</li>
*/

/*
style => '' або 'html' => false:

	Wasija, stas, anastasiiik
*/

список змін

З версії 5.9.0Введено.

wp list users WP 6.0.2

function wp_list_users( $args = array() ) {
	$defaults = array(
		'orderby' => 'name',
		'order' => 'ASC',
		'number' => '',
		'exclude_admin' => true,
		'show_fullname' => false,
		'feed' => '',
		'feed_image' => '',
		'feed_type' => '',
		'echo' => true,
		'style' => 'list',
		'html' => true,
		'exclude' => '',
		'include' => '',
	);

	$ args = wp_parse_args ($ args, $ defaults);

	$ return = '';

	$query_args = wp_array_slice_assoc( $args, array( 'orderby', 'order', 'number', 'exclude', 'include' ) );
	$query_args['fields'] = 'ids';
	$users = get_users($query_args);

	foreach ( $users as $user_id ) {
		$ user = get_userdata ($ user_id);

		if ( $args['exclude_admin'] && 'admin' === $user->display_name ) {
			continue;
		}

		if ( $args['show_fullname'] && '' !== $user->first_name && '' !== $user->last_name ) {
			$name = "$user->first_name $user->last_name";
		} else {
			$name = $user->display_name;
		}

		if ( ! $args['html'] ) {
			$return. = $name. ', ';

			continue; // Не потрібно, щоб отримати процес HTML.
		}

		if ( 'list' === $args['style'] ) {
			$return .= '<li>';
		}

		$ row = $ name;

		if ( ! empty( $args['feed_image'] ) || ! empty( $args['feed'] ) ) {
			$row. = '';
			if ( empty( $args['feed_image'] ) ) {
				$row. = '(';
			}

			$row .= '<a href="' . get_author_feed_link( $user->ID, $args['feed_type'] ) . '"';

			$ alt = '';
			if ( ! empty( $args['feed'] ) ) {
				$alt = 'alt="' . esc_attr( $args['feed'] ) . '"';
				$name = $args['feed'];
			}

			$row. = '>';

			if ( ! empty( $args['feed_image'] ) ) {
				$row .= '<img src="' . esc_url( $args['feed_image'] ) . '" style="border: none;"' . $alt . '/>';
			} else {
				$row. = $name;
			}

			$row .= '</a>';

			if ( empty( $args['feed_image'] ) ) {
				$row. = ')';
			}
		}

		$return. = $row;
		$return .= ( 'list' === $args['style'] ) ? '</li>' : ', ';
	}

	$ return = rtrim ($ return, ', ');

	if ( ! $args['echo'] ) {
		return $return;
	}
	echo $return;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *