Функция 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()- и многие другие.
Эти функции также позволяют вам работать с данными пользователей, добавлять, получать и удалять их метаданные.