Вывод профиля юзеров

А кто-нибудь знает, как в author.php выводить не только профиль авторов, но и профиль зарегистрированных пользователей?

wp_list_authors
Параметр hide_empty=0

wp_list_authors
Параметр hide_empty=0

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

Это вам нужно the_author_posts_link(); ?

Это вам нужно the_author_posts_link(); ?

это утверждение или вопрос?:)

Это намек! 😀

Это намек! :D

а можно по человечьи? а то гнетут тяжкие сомнения))

йеех! неужто никто не знает???

а ты пробовал то, что тебе уже посоветовали?

а ты пробовал то, что тебе уже посоветовали?

Я допускаю, что я тупой, но это выводит список ссылок на профили – мне это не нать.
Мне нужно, что бы отображались сами профили (ФИО, контакты, интересы и проч. ботва) у зарегистрированных пользователей, которые не постили ни разу, а у всех авторов с постами всё кажет отлично.

неужели никто не знает???

Люди, хоть кто-нибудь помогите!!!

А попробуйте еще раз объяснить, что нужно. Как сами написали – по человечьи.

Ну чтобы выводить фамилию, имя и т.д. есть еще the_author_firstname, the_author_lastname, the_author_description, и еще вроде целая куча, что мешает с ними работать?

Ну чтобы выводить фамилию, имя и т.д. есть еще the_author_firstname, the_author_lastname,  the_author_description, и еще вроде целая куча, что мешает с ними работать?

Ещё раз говорю, может я сильно туплю, но тогда пожалуйсты тыкните мордой в …)))

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

А попробуйте еще раз объяснить, что нужно. Как сами написали - по человечьи.

А вот ниже написал. Если опять непонятно, могу ещё более конкрено…

Кажись, понял, в чем проблемы. Поправьте, если не так.
1. wp_list_authors(‘hide_empty=0’) дает полный список, но у тех, кто никогда не постил, показан только ник, без линка.
2. Даже если вручную собрать линк типа /author/test/ на автора, не имеющего постов, открывается index.php, а не author.php, и следовательно профиль не показывается.
Так?

Кажись, понял, в чем проблемы. Поправьте, если не так. 
1.  wp_list_authors('hide_empty=0') дает полный список, но у тех, кто никогда не постил, показан только ник, без линка.
2. Даже если вручную собрать линк типа /author/test/ на автора, не имеющего постов, открывается index.php, а не author.php, и следовательно профиль не показывается.
Так?

ТОЧНЯК!!! Только вылезает не индекс, а 404 стр., но это не суть..)))

Ну, может и 404. В теме, в которой проверял, нет 404.php. 🙂

Собственно, если есть запрос на автора (author в uri), то определена переменная $autor, а следовательно функция get_userdata($author) возвращает массив с данными автора (включая хеш пароля :)). То, что вызываются разные шаблоны, не есть хорошо. Но, думаю, это можно как-то обойти.

Или пойти другим путем. Сделать статическую страницу profile, выводящую полный список юзеров (простенький SQL запрос, подсмотренный в author-template.php) с линками на каждого юзера типа /profile?id. Парсить uri и, при наличии id, выводить данные юзера.

Ну, может и 404. В теме, в которой проверял, нет 404.php. :)

Собственно, если есть запрос на автора (author в uri), то определена переменная $autor, а следовательно функция get_userdata($author) возвращает массив с данными автора (включая хеш пароля :)). То, что вызываются разные шаблоны, не есть хорошо. Но, думаю, это можно как-то обойти. 

Или пойти другим путем. Сделать статическую страницу profile, выводящую полный список юзеров (простенький SQL запрос, подсмотренный в author-template.php) с линками на каждого юзера типа /profile?id. Парсить uri и, при наличии id, выводить данные юзера.

я пытался второй вариант сделать, но запутался и ничего не вышло.
можно как-то по шагам с пояснениями для чайников?))

Если детально по шагам расписывать, так это надо самому сделать, а оно обломно. Было б самому нужно хоть в перспективе, тогда другое дело… Это значит что ближайшие 5 минут готового скрипта от меня не будет. 🙂

Если детально по шагам расписывать, так это надо самому сделать, а оно обломно. Было б самому нужно хоть в перспективе, тогда другое дело... Это значит что ближайшие 5 минут готового скрипта от меня не будет. :)

не, я не прошу работу за меня сделать)))
просто более подробно написать что куда и как…

Дык я обычно перед тем как рассказывать, проверяю на тестовом сайте правильность своих предположений (не достиг я еще должного уровня, чтоб умозрительно проверять). А потому – или общие рекомендации, или сделать. По-другому не получается. 🙂

Дык я обычно перед тем как рассказывать, проверяю на тестовом сайте правильность своих предположений (не достиг я еще должного уровня, чтоб умозрительно проверять). А потому - или общие рекомендации, или сделать. По-другому не получается. :)

А вариант наводящих вопросов прокатит?))
Я ведь совсем дуб. Делаю методом тыка. Что такое "Парсить uri" я просто не понимаю.)))

Ловите болванку!

<?php
/*
Template Name: profile
*/
?>

<?php get_header(); ?>

<div id="content">

<?php if ($_SERVER["QUERY_STRING"]) : ?>

<?php

$user = get_userdata($_SERVER["QUERY_STRING"]); 
print_r($user);

?>

<?php else: ?>

<ul>
<?
$authors = $wpdb->get_results("SELECT ID, display_name from $wpdb->users ORDER BY display_name");
foreach ( (array) $authors as $author ) {
    $id = $author->ID;
    $name = $author->display_name;
    print "<li><a href=\"/profile?$id\">$name</a></li>";
}
?>
</ul>
<?php endif; ?>

</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

вот тебе ещё одна направляющая:

global $table_prefix;
$userstable = $table_prefix . 'users';
function getUserInfo($who,$what) {
global $userstable;
  $result = mysql_query("select `".$what."` from ".$userstable." where `user_login` = '".$who."';") or die (" Invalid query");
  $row = mysql_fetch_array($result, MYSQL_ASSOC);
  return $row[$what];
}

//echo getUserInfo('admin','user_pass');

при помощи её можешь получить произвольное поле любого юзера, как частное выводим хэш одмина. пиши функцию получения списка всех пользователей (аналогично) – и действуй!

Блин, ребята, спасибо))) Я уже совсем дураком себя чувствую)))
За шаблон списка спасибо, но примерно такой у меня был. А как сделать-то, чтоб с ентого шаблона на личные страницы попадать???

Опять не понятно. На какие "личные страницы"? С профилем конкретного юзера, что ли? Так моя болванка это делает. В том же шаблоне.

Опять не понятно. На какие "личные страницы"? С профилем конкретного юзера, что ли? Так моя болванка это делает. В том же шаблоне.

неа, не делает. просто страница перегружается…

в неё надо напхать вывод полей из профиля?

Линки в списке типа ‘/profile?2’ и не отрабатывает? Попробуйте поменять в скрипте $_SERVER["QUERY_STRING"] на $_GET[‘id’] и profile?$id на profile?id=$id. Вместо print_r($user); вставьте красивый вывод элементов массива $user.

Линки в списке типа '/profile?2' и не отрабатывает? Попробуйте поменять в скрипте $_SERVER["QUERY_STRING"] на $_GET['id'] и profile?$id на profile?id=$id. Вместо print_r($user); вставьте красивый вывод элементов массива $user.

ничего не поменялось…

У Вас ЧПУ включено (линк на страницу /profile или /?page_id=666)?

У Вас ЧПУ включено (линк на страницу /profile или /?page_id=666)?

такого вида получается на юзеров /profile?id=3 и соответственно первая /profile

лучше поздно: http://blog.trampampam.ru/wordpress/kak-pokazat-profil-avtora-u-kotorogo-net-zapisey/

лучше поздно: http://blog.trampampam.ru/wordpress/kak-pokazat-profil-avtora-u-kotorogo-net-zapisey/

Огромное спасибо, но побившись пару дней головой об стену с шаблоном Ю.Б. уже всё благополучно разрешилось, за что ему (Ю.Б.) огроменное СПАСИБО!
Только вот не пойму, как список пользователей в две колонки сделать…

Только вот не пойму, как список пользователей в две колонки сделать...

Типа "на первый-второй расчитайсь"? Либо в таблицу, либо в divы с разными классами, типа left/right с соответствующими float и половинной шириной.

<div class="<?php if ($right) echo "right";  else echo "left"; $right = !$right; ?>">

Что-то не понял…
А сам список-то как располовинить?

<?
$right = 0;
$authors = $wpdb->get_results("SELECT ID, display_name from $wpdb->users ORDER BY display_name");
foreach ( (array) $authors as $author ) {
    $id = $author->ID;
    $name = $author->display_name;
    if ($right) print '<div class="right">';
           else  print '<div class="left">';
    print "<a href=\"/profile?$id\">$name</a></div>";
    $right = !$right;
}
?>

Вот она, рука мастера – хренак и всё готово!:lol:
Где Вам по баннерам потыркать?:D
Ещё б кто про WP-o-Matic просвятил – было б мне счастье))

В кучу: Как показать профиль автора, у которого нет записей

А подскажете как этот массив юзеров постранично разбить? Накопились…

Anonymous
Отправить
Ответ на: