Этот рекламный блок выводится с помощью сервиса AdPlus.io

Процедура query_posts()


WordPress одна из широко распространенных CMS, используемых для построения сайтов. В интернете можно найти множество готовых шаблонов, но большинство из них не блещут дизайном и изюминкой. Поэтому многие вебмастера верстают свои макеты под wordpress. В этой статье пойдет речь об одной из нужных процедур, которая позволяет отфильтровать записи, представив их в нужном виде на странице.

Большинство привычных блогов выглядят как список записей (постов), количество которых можно настроить в админке CMSки, но как быть, если мы хотим чтобы на нашей странице отображалась одна последняя запись и несколько мини блоков, которые соответствуют рубрикам сайта (допустим из рубрики интересное и новости).

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


<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>….Тело вывода записей страницы…

<?php endwhile; ?>

<?php endif; ?>

Для того чтобы начать описывать текст выборки записей из БД сайта, остановимся на некоторых аргументах процедуры query_posts().

Параметры:

  • Cat – это ID категории, из которой нам нужно выбрать записи. Можно использовать параметры Cat через запятую, причем если нам нужно включить определенные ID мы параметры Cat прописываем как положительные цифры, а если нам нужно исключить из вывода определенные рубрики, то используем знак «-». Например «cat=1,2,3» — выборка из базы произойдет из рубрик с ID 1,2,3. соответственно «cat=-1,-2,-3» произойдет выборка всех записей, кроме рубрик 1,2,3.
  • category_name – также удобный параметр, благодаря которому можно произвести выборку по имени рубрики.
  • P – параметр который отвечает за фильтр по постам. В качестве значения нужно передать id поста. Например ‘p=1’, выборка первого поста.
  • Showposts – ограничение количества постов при выборке ‘showposts=n’
  • Orderby – фильтр, а точнее признак фильтрации выборки. Возможны значения date, rand. Где первое это фильтр по дате, а второе значение это признак «рандомной» выборки данных.
  • Order это неотъемлемый параметр «Orderby», который определяет тип фильтрации данных. ASC Или DESC.

Самое главное, что нужно знать программисту для использования процедуры query_posts() это то, что она должна располагаться до конструкции выборки данных, приведенной выше.

Возвращаясь к разбору нашей задачки получения данных, у нас должно получиться 3 цикла для рубрик: Новости и интересное, и один цикл для получения последней записи.


<?php query_posts(‘showposts=1’);?><?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>

…тело вывода записи…

<?php endwhile; ?>

<?php endif; ?>

Итак, первая выборка сделана, мы вывели одну записи. Тело вывода не прописано т.к. у каждого из вас свой дизайн.

Теперь прописываем конструкцию выборки последних четырех записей из рубрики «новости».


<?php query_posts(‘showposts=4&category_name=новости&’);?><?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>

…тело вывода записи…

<?php endwhile; ?>

<?php endif; ?>

Следом прописываем конструкцию выборки постов из рубрики «Интересное».


<?php query_posts(‘showposts=4&category_name=Интересное&’);?><?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>

…тело вывода записи…

<?php endwhile; ?>

<?php endif; ?>

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

<?php query_posts(‘showposts=4&category_name=Интересное&’);?>

<?php if (have_posts()) : ?>

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

…тело вывода записи…

<?php endwhile; ?>

<?php endif; ?>

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


14 Дек, 2010

Добавить комментарий