ГлавнаяWordpressCodex → 3 способа построения циклов в WordPress

3 способа построения циклов в WordPress

Комментариев: 243 способа построения циклов в WordPress
  • Оу!) Содержательно! Хорошая статья!) На многие вещи открыла глаза!)

    ОТВЕТИТЬ ↓
    • Спс за позитив. Старался как можно доступно и глубоко раскрыть тему. Похоже что удалось smile

      ОТВЕТИТЬ ↓
  • 3. Цикл на основе get_posts()

    Сделал так:

    
    <?php
    global $post; // не обязательно
    $args = array('category' => 9); // все записи из категории 9
    $posts = get_posts($args);
    foreach( $posts as $post ){ setup_postdata($post);
        // Главный цикл
    }
    wp_reset_postdata(); // сбрасываем переменную $post
    ?>
    
    <?php
    global $post; // не обязательно
    $args = array('category' => 9); // все записи из категории 9
    $posts = get_posts($args);
    foreach( $posts as $post ){ setup_postdata($post);
        // Цикл для вывода постов в sidebar
    }
    wp_reset_postdata(); // сбрасываем переменную $post
    ?>
    

    При щелчке по посту (в основной части страницы или в сайдбаре) делается вывод другого поста, т.е. происходит конфликт циклов.

    Помогите, разобраться...

    ОТВЕТИТЬ ↓
    • Что-то странное вы рассказываете. Пример вашего кода можете дать?

      ОТВЕТИТЬ ↓
  • А у меня такой вопрос...
    Можно на базе этих циклов вывести данные в формате JSON?
    Скажем мне надо вывести Заголовок, Дату и Автора в JSON.
    Это реально?

    ОТВЕТИТЬ ↓
    • Не вижу в этом проблемы. Если я правильно понимаю JSON — это просто специфическая разметка данных, как, например, XML. Получить Заголовок, Дату и Автора из такого цикла — просто, остается только оформить в нужный вид.

      ОТВЕТИТЬ ↓
  • спасибо!

    ОТВЕТИТЬ ↓
  • Блин отличный ресурс!!! Примерно 90% ответов нахожу тут).. кодекс ВП неимоверная лажа..

    ОТВЕТИТЬ ↓
    • Спасибо, приятно слышать.

      А почему кодекс - лажа? Вы про какой кодекс? Как мне кажется, кодекс ВП это то на что стоит ровняться другим движкам - все очень подробно, даны ответы на очень многие вопросы. Вообще ВП за счет развитого кодекса от части и рулит.

      ОТВЕТИТЬ ↓
  • Сайт супер! Только я настолько неофит, что не могу разобраться в простых вещах. Осваиваю вордпресс, есть любимая тема, на странице archive.php задаются параметры вывода по категориям, тегам, дате итд. Хочется мне выводить больше чем 10 ссылок на посты, но как изменить этот код? нет тут ни get_posts ни query_posts

    <здесь был код archive.php>

    Поясните, пожалуйста ламеру, где копнуть, что поменять? Спасибо

    ОТВЕТИТЬ ↓
    • используйте query_posts прям перед строкой
      <?php while (have_posts()) : the_post(); ?>

      П.С. код ваш удалил за ненадобностью.

      ОТВЕТИТЬ ↓
  • Спасибо большое. Успехов вам!

    ОТВЕТИТЬ ↓
  • Здравствуйте. Такая проблема: почему-то в цикле (неважно какой метод использовать while (have_posts()) или get_posts() ) только у первой записи выводится дата, кол-во комментариев, а вот категории нормально отображаются у всех.

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

    Вот как-то так, причем такое уже на втором сайте встречается

    PS: на обоих сайтах используются ваши скрипты: kama-excerpt, пагинатор и произвольные поля, может в нихпроблема?

    ОТВЕТИТЬ ↓
    • Оказывается проблема была в the_date, у меня на тестовых сайтах все посты были за одну дату и поэтому дата показывалась только у первого))

      ОТВЕТИТЬ ↓
  • Кама, подскажите, пожалуйста, почему может не работать код ниже?

    <?php
    $args = array( 'category' => 11, 'post_type' => 'attachment', 'orderby' => 'rand', 'posts_per_page' => -1, 'post_status' => null, 'post_parent' => null );
    $attachments = get_posts( $args );
    foreach ( $attachments as $post ) { ?>
    <li><?php the_attachment_link($post->ID, false); ?></li>
    <?php } ?>
    

    Если убираю этот параметр выводит attachments из всех категорий, а нужно только из одной ((

    'category' => 11,

    Спасибо!

    ОТВЕТИТЬ ↓
    • Параметр 'category' => 11, не мыслим с миниатюрами — они категорий не имеют, а прикреплены к записям! Это записи могут быть в категории 11, но не миниатюры... Также обратите внимание на параметр 'post_parent' => null - он значит что нужно выводить только миниатюры не прикрепленные к записям, а не как вы сказали "из всех категорий".

      Ознакомьтесь с параметрами query_posts() (у get_posts все тоже самое).

      ОТВЕТИТЬ ↓
  • Здравствуйте. На сайте использую вашу систему пагинации. при использовании множественного цикла основе WP_Query() не отображается пагинация, хотя ограничил количество вывода постов на страницу и включил пагинацию. В чем может быть причина?

    ОТВЕТИТЬ ↓
    • Вероятно не в моем коде, а в изменении глобальной переменной $wp_query...

      ОТВЕТИТЬ ↓
Форма комментирования

¤ Вставляйте код кнопкой: "Код" (php, js, html, css, sql);
¤ Выделяйте HTML код кнопкой: "Выделить" (<div>);
¤ Перед отправкой комментария используйте "Превью";
¤ Не пишите спам/бред — бесполезно!

Подписаться на комментарии без комментирования:

Wordpress

X

Забыли пароль?