Функция GET_THE_AUTHOR_META() в WordPress: использование, синтаксис, примеры

Функция GET_THE_AUTHOR_META() в WordPress

Функция get_the_author_meta() используется для получения данных о текущем пользователе со статусом автора (например, о авторе поста). Это полезный инструмент для работы с метаданными пользователей в WordPress.

Использование функции

Для получения данных о пользователе вам не нужно указывать его ID, если вы используете функцию внутри цикла постов (The Loop). В этом случае функция вернёт данные об авторе текущего поста. Если вы используете функцию вне цикла, вам нужно указать ID пользователя.

Чтобы немедленно отобразить данные, вы можете использовать функцию the_author_meta().

Некоторые плагины могут добавлять новые данные о пользователях. Такие данные хранятся в таблице wp_usermeta и имеют свои ключи и значения. Чтобы получить значение такого нового поля, просто укажите его имя (ключ).

Заметка: Функция get_userdata() также позволит вам получить данные о пользователе и используется в сочетании с данной функцией.

Производительность функции

  • Выполнение 1 раза занимает 0.000001 секунд.
  • Выполнение 50000 раз занимает 0.01 секунды.
  • Тестировалось на PHP 7.3.12 и WP 5.3.2.

Хуки функции

Функция использует следующие хуки:

  • get_the_author_(field)

Возвращаемое значение

Функция возвращает строку с данными пользователя, если такие данные есть, или пустую строку, если данных нет.

Синтаксис функции

Формат вызова

get_the_author_meta( $field, $user_id );

Параметры

  • $field (string): Поле пользователя, которое вы хотите получить. Возможные значения:

    • ID
    • user_login (логин)
    • user_pass (пароль)
    • user_nicename (красивое имя)
    • user_email (электронная почта)
    • user_url (сайт)
    • user_registered (дата регистрации)
    • user_activation_key (ключ активации)
    • user_status (статус)
    • user_description (биография)
    • user_firstname (имя)
    • user_lastname (фамилия)
    • user_level (уровень доступа)
    • roles (роли пользователя)
    • display_name (отображаемое имя)
    • nickname (псевдоним)
    • rich_editing (включение визуального редактора)
    • comment_shortcuts (сокращения для комментариев)
    • admin_color (цветовая тема для админки)
    • plugins_per_page (кол-во плагинов на странице)
    • plugins_last_view (последний просмотр плагинов)

    По умолчанию: ''

  • $user_id (int/false): ID пользователя. Если вы укажете этот параметр, функция вернет данные указанного пользователя.
    По умолчанию: false (данные текущего пользователя или автора).

Примеры использования

Пример 1: Получение электронной почты автора поста

Давайте получим электронную почту автора текущего поста и сохраним её в переменной $user_email для дальнейшего использования:

$user_email = get_the_author_meta('user_email');
echo $user_email;

Заметка: Если вы получаете данные на отдельной странице, перед вызовом функции необходимо вызвать the_post(), либо указать ID пользователя во втором параметре.

Пример 2: Получение имени пользователя и ссылки на электронную почту

Допустим, мы хотим получить электронную почту пользователя с ID = 25 и отобразить его "отображаемое имя":

Напишите на электронную почту автора:

Заметки

  • Глобальная переменная: $authordata хранит данные текущего автора.

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

  • С версии 2.8.0: Функция была введена в ядро WordPress.

Код функции

function get_the_author_meta( $field = '', $user_id = false ) {
    $original_user_id = $user_id;

    if ( ! $user_id ) {
        global $authordata;
        $user_id = isset( $authordata->ID ) ? $authordata->ID : 0;
    } else {
        $authordata = get_userdata( $user_id );
    }

    if ( in_array( $field, array( 'login', 'pass', 'nicename', 'email', 'url', 'registered', 'activation_key', 'status' ), true ) ) {
        $field = 'user_' . $field;
    }

    $value = isset( $authordata->$field ) ? $authordata->$field : '';

    return apply_filters( "get_the_author_{$field}", $value, $user_id, $original_user_id );
}

Связанные функции

Эта функция работает в связке с другими функциями WordPress для работы с метаданными. Например:

  • add_user_meta()
  • get_user_meta()
  • delete_user_meta()
  • и многие другие.

Эти функции также позволяют вам работать с данными пользователей, добавлять, получать и удалять их метаданные.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *