Ваш путь: Главная » Техническое SEO, Бардачок html php css » текущая страница
возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено 2025-12-29 в теме: Техническое SEO; Бардачок html php css
Запросто с WordPress создание и продвижение сайтов ATs media

get_userdata() и: get_user_by() выводим данные пользователя (users) на экран — сайт на WordPress

Для того, чтобы вывести данные пользователя users на экран (непременно прочтите этот пост, связка с этим) следует поступить следующим образом. В данном посте воспользуемся функциями get_userdata() и: get_user_by() — если требуется аватар get_avatar().

 

Где это может пригодиться? например, можно вывести сводку на фронт все данные авторов со ссылкой на редактирование (не его профиль) если имеется регистрация, но на странице редактирования профиля в админпанели сайта на WordPress.

 

Блок авторов:

 


 

 

 

 

 

Добавляем индивидуальную аватарку для конкретного пользователя, или дополнительный блок об Авторе

 

 

 

если используем get_avatar — шаблон:

 

 

Это цепляем аватар пользователя (варианты: укажем конкретного пользователя для показа, или автоматикой, если блок из нескольких (указанных или всех) пользователей:

 

 

get_avatar( $id_or_email, $size, $default_value, $alt, $args );

 

 

пример:

 

echo get_avatar( $comment, 72 ); // аргументы: по конкретному мылу admin@example.com или $current_user->user_email или как-то по $comment, 72 размер картинки авы, 4 параметр $alt задаём описание …

 

…обратите на это внимание, потому как иногда, если проверять валидность по исходному коду, тестеры выдают о незаполненности поля alt, однако, в предложенном ниже коде, эта ошибка исключена!..

 

 

<img alt='' src='http://0.gravatar.com/avatar/ad516503a?s=72' class='avatar avatar-72 photo avatar-default' height='72' width='72' />

 

 

подробнее об аргументах функции здесь

 

 

чтобы организовать несложный шорткод блока авторов

 

 

Это для того, чтобы выводить где-то в произвольном месте сайта (виджеты/файлы):

 

 

add_shortcode( 'autors', 'ats_blog_autors_str' ); // в файлах шаблона: do_shortcode( 'autors', ); = чистый шорт [autors] или прямо функцией, как удобнее...
function ats_blog_autors_str() {

// обработка

}

 

 

По вариантам вывода — add_action или функцию function_name() поразмышляем: шорткод или функция?..

 

 

или использовать foreach( $ as $ ):

 

 

foreach( $authors as $author ) {

// обработка

}

 

 

вот такой код можно попробовать для вывода данных в блоке вывода всех авторов сайта, только организуйте стили css.

 

 

Я дал различные варианты получения информации о users (пригодится):

 

 

if ( current_user_can( 'administrator', 'editor', 'author' )) {                              // лишнее можно убрать
$user_info = get_userdata( $author->ID );
?><div style="background:#fff;border-radius:2px;" class="posts-widget-meta">для авторов сайта:
<a title="' . $autorsblog . '" href="<?php get_bloginfo( 'url' ); ?>/wp-admin/user-edit.php?user_id=<?php echo $user_info->ID; ?>&wp_http_referer=%2Fwp-admin%2Fusers.php" target="_blank">Редактировать профиль</a><?php
echo 'Имя пользователя (Логин): ' . $user_info->user_login;                                  //
$slug = get_the_author_meta( 'user_nicename', $author->ID );                                 // или по конкретному слагу
$user = get_user_by( 'slug', $slug );
if ( $user ) {                                                                               // Получаем логин пользователя
$username = $user->user_login; echo '<br />Логин users: ' . $username . '';
} else { echo 'не найдено'; }
//
echo ' || Уровень доступа ' . $user_info->user_level . ''; echo ' ID: ' . $user_info->ID;   // id автора в блоке
$username = $user_info->user_login;                                                         // или по конкретному логину: 'имя_us'
$user = get_user_by( 'login', $username );
if ( $user ) {
$email = $user->user_email; echo ' || Email users: ' . $email . '';                         // Получаем email пользователя
} else { echo 'не найдено'; }
// выведем id по почте
$email = $email;                                                                            // или по конкретному 'admin@example.com'
$user = get_user_by( 'email', $email );
if ( $user ) {
$user_id = $user->ID; echo ' || ID users: ' . $user_id . '';                                // Получаем ID пользователя
} else { echo 'не найдено'; }
//
$email = $user->user_email;
$user = get_user_by( 'email', $email );                                                     // Получение пользователя по email
if ( $user ) {                                                                              // выводим имя и роль юзера
//echo ' || Имя пользователя: ' . $user->display_name;
echo ' || Роль users: ' . $user->roles[0] . '';
} else { echo 'не найдено'; } ?></div><?php }

 

 

 

Код отработает по условию: if ( current_user_can( 'administrator', 'editor', 'author' )) — только для админа, редакторов и авторов…

 

 

логика функции get_user_by() по одному из блоков:

 

 

Функция get_user_by() используется для получения информации о пользователе… либо указанным данным, либо выбранным автоматически. Принимает два обязательных параметра: 1) поле получения информации о пользователе, и — значение поля, которое ищем…

 

 

…по отработке возвращает объект WP_User — либо false в случае НЕуспеха

 

 

Пример шаблона использования:

 

 

get_user_by( string $field, int|string $value ): WP_User|false

 

 

пример с конкретным указанием 2-го параметра данных пользователя — логина:

 

 

$user = get_user_by( 'login', 'user1' );

 

 

В данном примере мы получаем информацию о пользователе, у которого значение поля ‘login’ равно ‘user1’ …

 

Макет блока: сохраняем в переменную $username = $user_info->user_login — автоматический вариант (скажем в цикле перебора):

 

$username = $user_info->user_login;
$user = get_user_by( 'login', $username );
if ( $user ) {
$email = $user->user_email; echo ' || Email users: ' . $email . '';
} else { echo 'не найдено'; }

 

 

Получаем информацию о пользователе по его логину, а значит 1: аргумент функции get_user_by() ‘login’ — вторым аргументом укажем мыло конкретного пользователя, либо передадим автоматически (как в примере)…

 

Если пользователь в Базе данных сайта найден, выводим его email, если нет — «не найдено».

 

 

Примерный результат настройки и отработки кода ниже на картинке:

 

 

данные пользователя users

get_userdata() как вывести данные пользователя (users) в определенном месте сайта на WordPress: условия и правила организации блока автора, ава get_avatar

 

 


mihalica.ru

 

 

Создание… продвижение сайтов; помощь по сайту, настройки, сопровождение и пр. — студия ATs media запросто с WordPress!

видео: конструктивное и целеSEOбразное создание и продвижение сайтов — ATs media (запросто с WordPress):

 

 




...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATsМихаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...




мы ВКонтакте прыгайте к нам...
Нажатия на кнопочки определяют Ваше высокое гражданское сознание

рекомендовано по запросу лично для вас:

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©