get_the_author_meta() WP 2.8.0

Повертає вказані метадані вказаного або поточного користувача (автора).

Якщо функція використовується всередині циклу, не обов’язково вказувати ID користувача. У цьому випадку функція поверне дані автора посту. ID користувача потрібно вказувати, якщо функція використовується за межами циклу.

Щоб одразу вивести дані на екран, використовуйте аналогічну функцію the_author_meta() .

Плагіни можуть доповнювати дані користувача новими полями (такі дані додаються до таблиці wp_usermeta для яких вказується ключ та значення). Щоб отримати таке значення поля, потрібно вказати його ключ параметр $field .

Працює на основі:
get_userdata()
1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.01 сек
(швидкість світла) |
PHP 7.3.12, WP 5.3.2

Хуки з функції

Повертає

Строку. Вказані дані користувача, якщо вони існують. Якщо вказане поле не знайдено, буде повернено порожній рядок.

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

get_the_author_meta($field, $user_id);
$field
(рядок)

Назву поля, дані якого потрібно повернути. Може бути:

ID
user_login | login
user_pass | pass
user_nicename | nicename
user_email | email
user_url | url
user_registered | registered
user_activation_key | activation_key
user_status | status
user_description | description (Біографічні дані з профілю користувача)
user_firstname | first_name
user_lastname | last_name
user_level | $wpdb->prefix . 'user_level'
roles
display_name
nickname
rich_editing
comment_shortcuts
admin_color
plugins_per_page
plugins_last_view

За замовчуванням: ”

$user_id
(число)
ID користувача. Якщо вказати цей параметр, функцію буде повертати дані вказаного користувача (автора). За промовчанням виводяться дані поточного користувача (якщо функція використовується всередині циклу WordPress).


За замовчуванням: поточний користувач

Приклади

0

#1 Отримаємо e-mail адресу користувача

Отримаємо e-mail автора поточного посту та помістимо його в змінну $user_email для подальшого використання. (Пам’ятайте, ця функція повертає дані, а не виводить їх на екран).

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

Примітка: якщо ви виводите дані на окремій сторінці, перед викликом функції get_the_author_meta() має бути використана функція the_post() . Або вам потрібно окремо вказати ID автора поста у другому параметрі ( $post->post_author ).

0

#2 Виведемо ім’я користувача та посилання на Email

Отримаємо email адресу користувача з ID 25 і виведемо його “ім’я, що відображається”:

<p>Напишіть автору на Email:
	<a href="mailto:<?php echo get_the_author_meta('user_email', 25); ?>">
		<?php the_author_meta('display_name', 25); ?>
	</a>
</p>

нотатки

  • Global. WP_User. $authordata The current author’s data.

список змін

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

Код get_the_author_meta() WP 6.0.2

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 : '';

	/**
	 * Filters the value of the requested user metadata.
	 *
	 * Filter name є dynamickим і залежить від $field parameter of the function.
	 *
	 * @ Since 2.8.0
	 * @since 4.3.0 The `$original_user_id` parameter was added.
	 *
	 * @param string $value The value of the metadata.
	 * @param int $user_id User ID для значення.
	 * @param int|false $original_user_id Оригінальний user ID, як passed to the function.
	 */
	return apply_filters( "get_the_author_{$field}", $value, $user_id, $original_user_id );
}

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

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