А как сделать страницу для пользователей
Привет. Есть решения для создание страницы для пользователей ?
Чтобы можно было зайти на пользователя и посмотреть его?
profile/user
Привет. Есть решения для создание страницы для пользователей ?
Чтобы можно было зайти на пользователя и посмотреть его?
profile/user
Самый простой для меня способ
1 Создать произвольную любую страницу к примеру "user"
2 заполнить её кодом user данные
2.1 через $_GET или регулярку - получить из URL id или ник "site/user/id-1"
2.2 сделать условие наличия id или ника в URL, а так же наличие самого пользователя
2.3 по id уже выводить любые нужные данные пользователя
А можешь кодом ?
1 https://wp-kama.ru/id_5177/3-sposoba-sozdat-shablon-stranitsyi.html - 1 способ
2.1 текущий урл https://snipp.ru/php/url-tekuschey-stranicy
2.1 GET https://ruphp.com/url-php-43.html
2.3 https://wp-kama.ru/function/get_userdata
спасибо большое буду разбираться
Весь мозг сломал. Не могу понять, как делать каждому пользователю отдельную страницу.
Как выводить информацию я понял по пользователю.
А вот что ставит в шаблон, чтобы у каждого пользователя была свой страница не понимаю
Что у каждого была своя страница - нужно смотреть пункт 2.1 - если ввел в url
site/user/?id=1
site/user/?id=2
site/user/?id=3
Тогда и данные будут другие
В коде нужно сделать несколько проверок "if"
1 проверить авторизацию
https://wp-kama.ru/function/is_user_logged_in
2 вывод данных на основании либо id из урл либо через определение текущего id пользователя
https://wp-kama.ru/function/get_current_user_id
example.com/user/?uid=1
1 либо получить url а потом обрабатывать $url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo $url; 2 либо сразу выводить или обрабатывать id echo $us_id = $_GET['uid'] if ( тут проверки на вход и на наличие id) { }$cur_user_id = get_current_user_id(); echo '' . $cur_user_id . ''; //1 либо получить url а потом обрабатывать $url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo $url; //2 либо сразу выводить или обрабатывать id echo $us_id = $_GET['uid']; if ( is_user_logged_in() ) { // ... }он указывает ссылку страницы где шаблон. и не генерирует /user/?uid=1
Ты шаблон страницы создал по адресу "example.com/user/" ?
<?php /* Template Name: Шаблон User */ ?> <?php echo $us_id = $_GET['uid']; if ( is_user_logged_in() && $us_id > 0 && $us_id !== "" && is_numeric($us_id)) { // показываем данные пользователя $user_info = get_userdata( $us_id ); echo 'Имя пользователя: ' . $user_info->user_login . "\n"; echo 'Уровень доступа: ' . $user_info->user_level . "\n"; echo 'ID: ' . $user_info->ID . "\n"; } else { echo "Вы не авторизированны или не правельный ID"; } ?>да. Вы не авторизированны или не правельный ID
на сайте авторизован
А теперь попробуй адрес так отрыть
example.com/user/?uid=1
Да получилось.
понял спс. буду дальше разбираться
вот что сделал, спасибо большое тебе
<?php $us_id = $_GET['uid']; if ( is_user_logged_in() && $us_id > 0 && $us_id !== "" && is_numeric($us_id)) { // показываем данные пользователя $user_info = get_userdata( $us_id ); //дата $user = get_userdata( $us_id ); $user_reg = $user->get('user_registered'); $datetime = new DateTime($user_reg); //роль function get_user_role_name( $user_id ){ if ( ! $user = get_userdata( $user_id ) ) { return ''; } $name = wp_roles()->roles[ $user->roles[0] ]['name']; $name = translate_user_role( $name ); return $name; } echo '<div class="avatar">' . get_avatar($user_info->id, ' . $user_info->id') . '</div><br/>'; echo '<div>' . '<strong>' . '<i class="fa fa-address-card-o"></i> Пользователь: ' . '</strong>' . $user_info->display_name . '</div><br/>'; echo '<div>' . '<i class="fa fa-user-o"></i> ' . $user_info->user_lastname . ' ' . $user_info->user_firstname . '</div>'; echo '<div>' . '<i class="fa fa-envelope-o"></i> ' . $user_info->user_email . '</div>'; echo '<div>' . '<i class="fa fa-unlock-alt"></i> ' . 'ID: ' . $user_info->ID . '</div>'; echo '<div>' . '<i class="fa fa-calendar"></i> ' . 'Регистрация: ' . $datetime->format('d:m:Y') . '</div>'; echo '<div>' . '<i class="fa fa-users"></i> ' . 'Роль: ' . get_user_role_name( $us_id ) . '</div>'; //echo '<div>' . '<i class="fa fa-circle"></i> ' . 'Статус: ' . get_user_role_name( $us_id ) . '</div>'; //echo '<div>' . '<i class="fa fa-star-half-o"></i> ' . 'Рейтинг: ' . get_user_role_name( $us_id ) . '</div>'; //echo '<div>' . '<i class="fa fa-comments"></i> ' . 'Комментарии: ' . get_user_role_name( $us_id ) . '</div>'; } else { echo "Вы не авторизированны или не правельный ID"; } ?>С этими ссылками проблемы, можно тебе спросить ?
Выдаю список пользователей
<?php function contributors() { global $wpdb; $authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users WHERE display_name <> 'admin' ORDER BY display_name"); foreach ($authors as $author ) { echo "<li class='spisok-users'>"; echo get_avatar($author->ID); echo '<div>'; echo the_author_meta ('display_name', $author->ID);echo "<br />"; echo "</div>"; echo "</li>"; }} ?> <div id="authorlist"><ul> <?php contributors(); ?></ul></div>Как сделать чтобы ссылка показывалась у пользователей ?
echo '<div>'; echo the_author_meta ('display_name', $author->ID);echo "<br />"; // заменить на echo '<div>'; echo '/user/?uid='. $author->ID; echo "<br />"; // ну или echo '<div>'; echo '<a href="site,ru/user/?uid='. $author->ID.'>'.get_the_author_meta('display_name', $author->ID).' </a>'; echo "<br />";echo '<div>'; echo '<a href="site,ru/user/?uid='. $author->ID.'>'.get_the_author_meta('display_name', $author->ID).' </a>'; echo "<br />";спасибо. самое то но ошибка в синтаксисе
он почему-то в ссылку в носит и картинку и все что в коде
сижу ковыряю, он имя авторов не правильно выводит даже.
Нормально работает, пытаюсь ссылку ставить, неполучается
https://pfilan.ru/beta/
Разобрался
Не хватает "