Вивід постів певних типів з певними значеннями таксономій

Дякуючи своїй роботі та завданням, які переді мною виникають, маю змогу витрачати трішки часу на ознайомлення з новими можливостями WordPress. Отже, код, розміщений нижче дозволяє вивести об’єкти (записи) певного типу (post_type) зі значенням (term) певної таксономії (вивід постів з багатьма значеннями кількох таксономій буде реалізовано в версії 3.1. Про це можна почитати тут:
http://ottopress.com/2010/wordpress-3-1-advanced-taxonomy-queries/).

Наприклад, у нас є типи постів: Ноутбуки, Телефони, MP3-плеєри. І є таксономія “Виробники” зі значеннями Sony, Panasonic, Apple тощо. Тож, коли нам треба отримати записи про всі ноутбуки фірми Sony, це – якраз те, що треба. Окрім того, в цьому коді вже передбачена розбивка постів за кількістю на сторінку, а також, що важливо, його можна використовувати в будь-якому шаблоні теми (хто не знає, спроби втулити у, скажімо, page template, вивід через query_posts чи get_posts потерпають фіаско).

Отже, вистражданий код:

 slug значення таксономії
$taxquery['npopositions'] = "vektsapos";

// тип запису
$taxquery['post_type'] = "positions";

// к-ть записів на сторінку
$taxquery['posts_per_page'] = 1;

// облік поточної сторінки
$taxquery['paged'] = $paged;

// власне запит з заданими вище параметрами
$wp_query->query( $taxquery );

// зверніть увагу, атрибути циклу трішки модифіково
while ($wp_query->have_posts()): $wp_query->the_post(); ?>

<!-- стандартні елементи посту -->
<h3>&lt;a href=&quot;" rel="bookmark" title="Permanent Link to "&gt;</a></h3>



// виклик вашої посторінкової навігації (може бути по-іншому)


// знову очищаємо запит - прибираємо після себе :)
  • owlman

    Добре було б мати ще лінк на сайт, де таке реалізовано!

    • Так а що дасть лінк? Там всеодно цього коду видно не буде – лише html, ним сформований…

      • owlman

        Не треба іще раз на той код дивитись: ти вже усе написав.
        Просто із прикладу можна уявити, як можна оті можливості реалізувати.

        Я от подивився на код і подумав: якщо є такий собі статичний сайт із розділом новин, і треба туди додати "блог" – то це необов"язково має бути окремий двигунець лежати в директорії. Просто можна виводити усі пости на розділі "Блог". А головну сторінку подати як статичну, із блоком стрічки новин (лише пости, позначені, як "новина".)

  • Ну власне. Але цей код більше допоможе з виводом не тільки простих запитів. які ти навів, а в першу чергу більш складних – коли є кастомні типи постів і різні таксономіїю. Тобто, коли в тебе є записи (не пости і не сторінки), які відрізняються зовнішнім виглядом та полями від стандартних чи коли є потреба використання одразу кількох таксономій (або ж і те і інше разом). Про таксономії можна почитати тут http://dreamhelg.ru/2010/05/intorducing-into-cust… а про катом типи постів отут http://mixa-blog.org.ua/custom-post-type/