Пользовательское поле

Описание

Поле User позволяет выбрать одного или нескольких пользователей.

Этот тип поля удобно использовать для создания связей между объектами данных. Значение сохраняется как ID пользователя WordPress, а при получении можно вернуть полный набор данных WP_User.

Скриншоты

Создание поля User в группе полей ACF. На вкладке показаны общие настройки поля: тип поля, метка поля, имя поля, фильтрация по роли, формат возвращаемого значения (переключатель с вариантами User Array, User Object и User ID), а также параметр Select Multiple. Другие вкладки: Validation, Presentation, Conditional Logic и Advanced.

Создание поля User в группе полей ACF.

Интерфейс поля User, каким его могут видеть редакторы контента, с пользователями, отсортированными по ролям. Здесь показаны роли Editor и Contributor, по две записи для каждой роли.

Интерфейс поля User, каким его могут видеть редакторы контента, с пользователями, отсортированными по ролям.

История изменений

  • В версии 5.6.9 добавлена настройка return_format.

Настройки

  • Filter by Role
    Фильтрует доступных пользователей по одной или нескольким ролям. По умолчанию используется пустая строка.

  • Return Format
    Задаёт формат возвращаемого значения. В интерфейсе плагина по умолчанию используется «User Array», а в PHP — ‘array’. «User Array» возвращает массив данных пользователя, «User Object» — объект WP_User, а «User ID» — ID пользователя.

  • Select Multiple
    Позволяет редакторам контента выбрать несколько значений. По умолчанию отключено.

  • Required
    Включение этой настройки не позволяет полю принимать пустые значения. По умолчанию отключено.

  • Allow Null
    Позволяет сохранить пустое значение. По умолчанию отключено.

  • Instructions
    Показывает инструкции при отправке данных.

  • Conditional Logic
    Включение этой настройки позволяет настроить логику, определяющую, должно ли отображаться текущее поле. Можно создавать группы правил условной логики для поддержки нескольких условий «и/или».

  • Bidirectional
    Эта настройка находится на вкладке Advanced. Её включение позволяет обновлять значение в целевых полях для каждого значения, выбранного в этом поле, добавляя или удаляя Post ID, Taxonomy ID или User ID обновляемого элемента.

Документацию по программному использованию см. в нашем руководстве по регистрации полей через PHP.

Использование в шаблоне

Вывод одного выбранного пользователя

В этом примере показано, как вывести выбранного пользователя (‘multiple’ = false, return_format = ‘array’).

<?php
$user = get_field("user_field");
if( $user ): ?>
<div class="author-box">
    <img src="<?php echo esc_attr($user['user_avatar']); ?>" alt="аватар автора" />
    <h3><?php echo $user['display_name']; ?></h3>
    <?php if( $user['user_description'] ): ?>
        <p><?php echo $user['user_description']; ?></p>
    <?php endif; ?>
</div>
<?php endif; ?>

Вывод нескольких выбранных пользователей

В этом примере показано, как вывести нескольких выбранных пользователей в виде списка. (‘multiple’ = true, return_format = ‘object’).

<?php
$users = get_field("volunteers");
if( $users ): ?>
<ul class="volunteers-list">
    <?php foreach( $users as $user ): ?>
        <li>
            <img src="<?php echo esc_attr( get_avatar($user->ID) ); ?>" alt="аватар автора" />
            <a href="<?php echo esc_attr($user->user_url); ?>"><?php echo $user->display_name; ?></a>
        </li>
    <?php endforeach; ?>
</ul>
<?php endif; ?>

Обновлено: 30.09.2026