query_posts.jpgБывают случаи когда на главную (или какую нибудь другую) страницу нужно вывести записи только из определенной категории, или вообще только определенные записи. Для этого в WordPress и существует query_posts().

Для этой функции WordPress, как и для большинства других, можно указывать свои параметры которые позволят добиться нам вывода на сайте желаемого результата.

Теперь немножко подробнее – для вывода записей в 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.

Если возникнут какие нибудь вопросы, то обязательно спрашивайте ;-)

h++p://www.wp-info.ru/neskolko-primerov-ispolzovaniya-query_posts/

Категория: PHP, HTML, CSS..., WordPress | Теги:

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