Бывают случаи когда на главную (или какую нибудь другую) страницу нужно вывести записи только из определенной категории, или вообще только определенные записи. Для этого в WordPress и существует query_posts.
Теперь немножко подробнее - для вывода записей в WordPress используется цикл, называемый "The Loop". Обычно он выглядит так:
<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> //Тут Ваш код <?php endwhile; ?>
Если перед циклом "The Loop" поставить функцию query_posts с нужными нам параметрами, то мы добьемся нужного нам результата. Вот пример такого использования:
<?php query_posts('cat=-1,-2,-3'); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> //Тут Ваш код <?php endwhile; ?>
Такой код выведет на главную записи из всех категорий кроме категорий с ID 1, 2 и 3.
Ниже преведены еще несколько примеров использования 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=WordPress') - Вывести категорию с названием “WordPress”;
query_posts('name=Hello World') - Вывести один пост с названием “Hello World”;
query_posts('p=5') - Вывести один пост, 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=2008') - Вывести посты из категории с id=3 за 2008 год;
query_posts('orderby=rand&showposts=3&cat=3') - выводин рандомно, т.е. случайно 3 записи из 3 категории;
query_posts('orderby=rand&showposts=3') - выводит случайно 3 записи из всех категорий;
query_posts('meta_key=cars&meta_value=volvo') - выводит список постов с произвольным полем “cars” и значением этого поля volvo.
Если возникнут какие нибудь вопросы, то обязательно спрашивайте 😉
Подробное описание функции query_posts смотрите здесь.
Например есть сайт site.ru
На главную я ставлю
site.ru/page/
Настройки - Чтение - Постоянная страница.
Если я проделаю то, что написано в статье, будет ли у меня выводится на главной, записи из нужных рубрик, как я настрою. То есть главная страница у меня будет
site.ru/page/
query_posts('pagename=about')
каким образом сделать так, чтобы выводилось несколько нужных мне страниц?
Приветствую.
У меня к вам вопрос по возникшей проблеме связанной с сортировкой и плагином WP PageNavi:
Я сделал динамическую сортировку записей (о ней написал выше) и после этого "сломался" PageNavi.
При переходе на новую страницу сортировка не сохраняется. Необходимо снова выбрать тип сортировки и только после этого записи отображаются правильно.
Можете подсказать как можно исправить эту проблему?
А вот не подскажите как сделать наподобие этого. У нас есть 3 рубрики: слоны, жирафы, кролики. В каждой рубрике по 5 записей. Необходимо вывести на странице одиночной записи (single.php) список оставшихся постов из тематической рубрики (в моем примере, их останется 4). Надеюсь, задал вопрос понятно. =)
Вот мне нужно в отдельном вообще дизайне на сайте вывести определенный пост.
Я делаю
query_posts('p=21');
и ставлю этот код в отдельный див в коде.
Но выходит так что пост ставиться в своем родном дизайне внизу нжного дива, а не внутри.
То есть получается что query_posts выводит запись уже оформленной.
А мне надо только заголовок и текст от записи вывести .. без родного дизайна темы.
Подскажите пожалуйста какой mysql запрос сделать чтобы вывести только текст и заголовок без дизайна поста.
Заранее спасибо.
Здравствуйте. А есть что-то похожее для вывода комментариев только из одного поста в сайтбаре? С php к сожалению не дружу =( Можно ли это реализовать?
сдравсвуйте, у меня чуть другая проблема. я хочу сделать так что бы в шапке выводился самый первый пост, со своими стилями, а остальные выводились чуть ниже. как это реализовать?
привет. ситуация такая, вставил код в index.php
Со старта все работает хорошо, выводятся посты из рубрик 1,2,4. Вот если нажать на next_posts_link('Предыдущая'), то сортировка не работает.
Как лучше поступить в таком случае!?
вот код
php query_posts($query_string.'cat=1,2,4'); ? >
php if (have_posts()) : ? >
php while (have_posts()) : the_post(); ? >
вставил в строчку & и все работает отлично.
было php query_posts($query_string.'cat=1,2,4'); ? >
стало php query_posts($query_string.'&cat=1,2,4'); ? >
Проблему решил, вот только не могу разобраться почему так.
А как можно вывести не посты целиком по тегу, а их заголовки в виде ссылок?
Вопрос.
php query_posts("meta_key=".$data[0])."&meta_value=".$data[1].""); ?>
php if (have_posts()) : ?>
php while (have_posts()) : the_post(); ?>
// вывод поста
php endwhile; ?>
php endif; ?>
если после него опять запустить цикл wordpress
php if (have_posts()) : ?>
php while (have_posts()) : the_post(); ?>
// вывод поста
php endwhile; ?>
php endif; ?>
то этот цикл уже не срабатывает.
Что я хочу: вывести посты с указанными параметрами через квери_постс, а затем вывести ВСЕ посты.
Спасибо выручили, при поиске не должны били выводится определенные товары.
Все сраслось, одним кликом мыши.
Здравствуйте!
Подскажите пожалуйста, нигде не нашел ответа.
Мне нужно вывести по одной записи из рубрики. Типа ленты новостей...
Код ниже. Насколько я понимаю вп берет все 8 записей из 1 категории...
отличный у вас сайт!
А как вывести все категории??
Например в плагине [nggallery id=1] что прописать вместо id=1 что бы выводились все галереи?
pixel, привет, для статической страницы это не подходит.... или может я не правильно понял что ты хочешь сделать... напиши подробнее....
На счет плагина - это Subscribe to comments