Несколько примеров использования query_posts() » Темы и Плагины для Wordpress

Несколько примеров использования query_posts() (04.12.2007)

Автор: Admin | Рубрика: Статьи

Для вывода записей в WordPress используется цикл, называемый “The Loop”. В общем виде он выглядит вот так:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php endwhile; ?>

Если перед циклом The LOOP написать функцию query_posts() с параметрами, приведенными ниже, то можно изменить вывод постов и страниц на ваше усмотрение.

query_posts(”cat=-3″) - Не показывать категорию с id=3

query_posts(”cat=-1,-2,-3″) - Не показывать категории, id которых равны 1, 2 и 3

 query_posts(’cat=2,6,17′) - Вывести категории с id равным 2, 6 и 17

query_posts(’category_name=Staff Home’) - Вывести категорию с названием “Staff Home”

query_posts(’name=first post’) - Вывести один пост с названием “first post”

query_posts(’p=5′) - Вывести один пост, id которого равно 5

query_posts(’p=5′); global $more; $more = 0; - Вывести только первую часть (до тега more) поста с id=5

query_posts(’page_id=7′) - Вывести страницу с id=7

query_posts(’pagename=about’) - Вывести страницу с названием “about”

query_posts(’cat=18&showposts=5′) - Вывести 5 постов из категории с id=18

query_posts(’cat=3&orderby=date&order=ASC’) - Вывести посты из категории с id=3, сортировать по дате в хронологическом порядке(DESC - в обратном порядке)

query_posts(’posts_per_page=10‘) - Вывести 10 постов на страницу (при значении -1 выводит все посты)

query_posts(’cat=3&year=2007′) - Вывести посты из категории с id=3 за 2007 год

Мой блог находят по следующим фразам

Забобрить эту страницу!

Последние темы:
- Две крупношрифтовых темы плюс бонус
- Две новых бесплатных премиум темы для WordPress
- Четыре легких WordPress темы с каруселькой и птицами, во как обозвал.
- Три бесплатных блоговых темы для WordPress
- Мега подборка симпатичных и бесплатных WordPress тем для Вашего блога

Комментарии (13)

  • tpoxa // Дек 19, 2008 at 21:29 пп

    Спасибо.
    Очень полезно особенно там где вывод до тега more.

    P.S.
    Вам не говорили что правильно темы пишутся как “themes”
    + Ошибка в форме комментов.
    Что такое название? Возможно имя?

  • Admin // Дек 20, 2008 at 13:32 пп

    Про ошибки я давно знаю, но исправлять пока не собираюсь.

  • Олег // Янв 19, 2009 at 0:29 дп

    Подскажите, пожалуйста. Как мне поправить ошибку. В header.php я вызываю констукцию:

    query_posts(’posts_per_page=-1&cat=’.the_category_ID(false));

    if (have_posts()) :
    while (have_posts()) : the_post();
    /* выбираю некоторые значения из дополнительных полей всех записей из рубрики, провожу некий расчёт */
    endwhile;
    else :
    endif;

    query_posts(’posts_per_page=10&cat=’.the_category_ID(false));

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

  • Admin // Янв 21, 2009 at 11:37 дп

    Напиши мне свою аську через форму обратной связи, разберемся.

  • Олег // Янв 21, 2009 at 11:47 дп

    Уже победил. Вот такой код:
    $numpost=10;
    if($paged>1) $offset=$numpost*($paged-1);
    else $offset=0;//чтобы знать, с какой статьи начать, если это не первая страница
    query_posts(’&offset=’.$offset.’&showposts=’.$numpost.’&posts_per_page=10&cat=’.the_category_ID(false));

    Почему-то query_strings не стала работать :(

  • Admin // Янв 21, 2009 at 11:59 дп

    Ну и хорошо, что разобрался сам.

  • Олег // Янв 21, 2009 at 12:03 пп

    Да, но погемороиться пришлось много :) Надо было изначально на get_posts() делать. Но уже слишком много переписывать :(

  • Tanё4ek // Янв 22, 2009 at 11:44 дп

    не могу найти где в wp 2.6.5 смотреть id постов/страниц? подскажите, плиз)

  • Admin // Янв 22, 2009 at 11:56 дп

    В админпанели -> управление, наводим курсор на нужный нам пост/страницу/категорию и смотрим ссылку.
    Пример: http://ваш_блог/wp-admin/post.php?action=edit&post=242 где 242 и есть нужный Вам id.

  • Tanё4ek // Янв 22, 2009 at 12:08 пп

    хм… спасибо))) правда не очень удобно, верней совсем не удобно. В wp2.3.3 было лучше:( а какого-нибудь плагина для этого случайно нет?

  • Олег // Янв 22, 2009 at 12:44 пп

    Tanё4ek, а чем вам не удобно? Навели, посмотрели и всё :) Зачем плагины городить?

  • Tanё4ek // Янв 22, 2009 at 12:58 пп

    когда id отдельным столбцом - наглядней. Н-р, видно какие категории/страницы exclude/include куда-нить… удобней и привычней… ну что ж делать, буду привыкать по url)))))

  • Сергей // Мар 20, 2009 at 23:47 пп

    А как с помощью этой конструкции сделать случайный вывод записи?

Буду признателен, если Вы оставите
упоминание об этом блоге у себя на сайте.


Оставить комментарий