[Помогите] Вывод данных с БД

Тема в разделе "Wordpress", создана пользователем Anfi, 28 апр 2012.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. Anfi

    Anfi Постоялец

    Регистр.:
    12 мар 2007
    Сообщения:
    111
    Симпатии:
    23
    Всем привет. Прошу помощи в решении задачи. Возможно надо было в раздел с базами топик создать, но т.к конкретно с ВП связано сильно не пинать =)
    Необходимо вывести на страницу "Немного информации о себе" из анкеты пользователей wp.
    То что пробую я:

    Код:
    <ul class="user_nicename_list">
    <?php
    $subscribers = $wpdb->get_results("SELECT ID, user_url from $wpdb->users ORDER BY user_registered DESC");
    for($i=0;$i<4;$i++){
    echo "<li><a href=".$subscribers[$i]->user_url.">".$subscribers[$i]->user_url."</li>";
    }
    ?>
     
    </ul>

    Выводит ссылку на сайт пользователя, а нужно чтобы было не просто ссылка а ссылка с название сайта, как вариант решил название сайта писать в поле "Немного информации о себе"
    Пробывал так

    Код:
    echo "<li><a href=".$subscribers[$i]->meta_key_description.">"
    так

    Код:
    echo "<li><a href=".$subscribers[$i]->meta_value_description.">"
    Но не получается =( конкретно здесь meta_value_description надо чтото другое написать.
    Буду весьма благодарен за помощь. И за ранее спасибо надеюсь достаточно подробно описал задачу.
     
  2. BFox

    BFox

    Регистр.:
    11 янв 2008
    Сообщения:
    368
    Симпатии:
    65
    Anfi нравится это.
  3. Anfi

    Anfi Постоялец

    Регистр.:
    12 мар 2007
    Сообщения:
    111
    Симпатии:
    23
    Отлично, уже ближе к правде, благодарю, только ещё один вопрос, как вывести всех пользователей, а не писать этот код под каждого?
    get_userdata(1);
     
  4. BFox

    BFox

    Регистр.:
    11 янв 2008
    Сообщения:
    368
    Симпатии:
    65
    Есть в последних wp (от3,1) такая функция get_users
     
  5. Anfi

    Anfi Постоялец

    Регистр.:
    12 мар 2007
    Сообщения:
    111
    Симпатии:
    23
    Скорее всего не то чтото делаю: get_userdata(2) вместо этого надо get_users( $args ), но не получается...
     
  6. BFox

    BFox

    Регистр.:
    11 янв 2008
    Сообщения:
    368
    Симпатии:
    65
    Можно и так, но лишние запросы будут ))
    Код:
    <ul>
    <?php
        $blogusers = get_users('blog_id=1&orderby=nicename&role=subscriber');
        foreach ($blogusers as $user) {
            $userid = $user->id;
            $user_info = get_userdata($userid);
           
        }
    ?>
    </ul>
    Но лучше вот так: (думаю мета кеи можно через запятую перечислить, но нужно проверить)
    Код:
    <ul>
    <?php
        $blogusers = get_users('blog_id=1&orderby=nicename&[B]meta_key=user_url[/B]&role=subscriber');
        foreach ($blogusers as $user) {
            echo '<li>' .......... '</li>';
        }
    ?>
    </ul>
     
  7. Anfi

    Anfi Постоялец

    Регистр.:
    12 мар 2007
    Сообщения:
    111
    Симпатии:
    23
    Ни первый ни 2-й вариант не работает =\ решил задачу выносом
    Код:
    <?php $user_info = get_userdata(4);
    $user_description = $user_info->user_description;
    $user_url = $user_info->user_url;
          echo "<a href='$user_url'>$user_description</a>";
    ?></br>
    в отдельный файл и путём дублирования 1.2.3.4.5.6.... всё получается, но вот только это лишняя нагрузка на сервер =\
     
  8. Anfi

    Anfi Постоялец

    Регистр.:
    12 мар 2007
    Сообщения:
    111
    Симпатии:
    23
    Народ подскажите, что в первой строке (выше код) поменять, чтобы не дублироваться столько сколько пользователей на сайте зарегистрировано. Весь мозг поломал, но так и не сделал. BFox-y спасибо, направил в нужном направлении, а теперь хачу оптимизивароть то что получилось.
    Буду весьма благодарен!

    Задача решена! Тему можно закрывать.
     
Статус темы:
Закрыта.