n-wp.ru — блог о WordPress

Выборка по 2 и более тэгам и категориям, как?

1)Как сделать выборку по 2 и более тегам.
Например. У меня есть теги: плагины, 2009, 2010, 2011,темы,англ,русские и тд
Можно показать все записи с 1 тэгом. А вот как реализовать, чтобы сделать выборку записей с тэгами Плагины 2010 ИЛИ — Темы 2011 русские ?
2) ТОТ же вопрос только Определенная категория + тэг(или 2 тэга).

6 комментариев

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

    Если перед циклом 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 год

    • Большое Спасибо за наводку, но уточню вопрос:

      Сделать так, чтобы, человек в форме выбрал то, что его конкретно интересует.
      Например, выберет категорию (поставит галочку напротив Плагины), выберет метки(поставит галочки напротив 2011 и С переводом).

      А мне надо написать код, чтобы сформировать из этого выбора ссылку.
      Есть ссылки mysite_com/category/plugin и mysite_com/tag/2011
      С тегами легко, ставишь запятую или плюс и можно выводить.
      1) Но как быть с категориями? Как их объединить в ссылке
      2) Как объединить в ссылке и категорию и тэг? Указать, что надо выбрать из категории Плагины все записи с метками 2011 и С переводом.

      ПС Если бы у меток была иерархия, то возможно можно было бы обойтись без категорий.

  • 1.
    http://codex.wordpress.org/Function_Reference/WP_Query#Category_Parameters

    Show Posts From Several Categories
    Display posts that have these categories, using category id:

    $query = new WP_Query( ‘cat=2,6,17,38’ );

    Display posts that have these categories, using category slug (not possible with wp3.0):

    $query = new WP_Query( ‘category_name=staff,news’ );

    2. например так:
    $query = new WP_Query( ‘tag=bread,baking&category_name=staff,news’ );