Архіви таксономій висновок списку записів таксономії по термінам другої таксономії, cms і движки для

Архіви таксономій висновок списку записів таксономії по термінам другої таксономії, cms і движки для

Що ми будемо створювати

Якщо для класифікації інформації на вашому сайті використовується кілька таксономій, вам може стати в нагоді можливість поділу записів в архіві таксономії по термінам другої таксономії.

У цій статті я покажу вам, як створити сторінку таксономії, на якій записи будуть виводитися відповідно до термінів другої таксономії, до якої вони також належать.

Потім я створю другий архів таксономії для другої таксономії, на якій записи будуть виводитися вже відповідно до термінів першої таксономії.

1. Створення теми

Для цієї статті я створю дочірню тему twentyfourteen з двома новими файлами шаблонів, стилями і файлом функцій. Якщо ви працюєте зі своєю власною темою, просто скопіюйте код в файл функцій вашої теми і додайте файли шаблонів.

Щоб створити тему, я розміщую в порожній папці теми файл з ім'ям style.css і додаю в нього наступний код:

Таким чином, ми створимо дочірню тему.

2. Реєстрація типу записів і таксономій

Для цієї статті я буду використовувати той же тип записів 'animals' і таксономії 'animal_cat'. які я використовувала в статті про створення шаблону користувальницького типу записів. Я також додам ще одну таксономию під назвою 'habitat'.

Для цього я створюю новий файл з ім'ям functions.php. По-перше, я додаю функцію, щоб зареєструвати мій тип записів:

Після цього я реєструю дві таксономії в одній функції:

Ми створили тип записів 'animal' і дві таксономії, які до нього застосовуються. Зверніть увагу, що я використовувала 'show_admin_column'. щоб пізніше мені було простіше адмініструвати записи.

Після додавання інформації та класифікації тварин у відповідності з різними таксономії, ці дані будуть відображатися в панелі адміністрування WordPress наступним чином.

Архіви таксономій висновок списку записів таксономії по термінам другої таксономії, cms і движки для

3. Створення файлу шаблону першої таксономії

Наступним кроком є ​​створення файлу шаблону для таксономії архіву 'animal_cat'. В папці теми створіть файл і назвіть його taxonomy-animal_cat.php. Тепер додайте в нього код «обгортки» з вашої теми (я скопіювала його з батьківської теми; якщо ви використовуєте власну тему, ваш код буде відрізнятися):

Визначення поточного запитуваної терміна

Для створення призначеного для користувача запиту по кожному терміну шаблон архіву буде використовувати WP_Query. Одним із запитуваних об'єктів буде термін поточної таксономії, який в даний момент відображається, тому нам потрібно визначити його і зберегти в якості змінної.

Нижче рядка get_header (). додайте наступний код:

Ви можете використовувати змінну $ animalcat пізніше.

Висновок заголовка сторінки

Зараз архіви не мають основного заголовка, так що нам потрібно додати його, використовуючи змінну, яку ми тільки що визначили.

Після відкривається тега

додайте наступний код:

Отримання термінів другої таксономії

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

Даний код отримує список всіх термінів і зберігає його в масив. За допомогою 'hide_empty' ви можете приховати всі порожні терміни. Але це тільки запобігає запити термінів, до яких не належить жодна із записів, а не тих термінів, які не призначено постам, що належить запитуваній терміну.

створення циклу

Тепер створіть цикл, який буде запускатися для кожного терміна:

Кілька зауважень з цього коду:
  • Для кожного терміна визначається новий запит;
  • Аргументи запиту включають термін другий таксономії ($ term) і поточний запитуваний термін ($ animalcat);
  • Якщо таксономії застосовуються тільки до одного типу записів, ми могли б не використати аргумент 'post_type'. але я віддаю перевагу включати його на всякий випадок;
  • Змінна $ term використовується для виведення заголовка кожного розділу, використовуючи $ term-> name.

Тепер збережемо файл шаблону і подивимося на архів таксономії для одного з термінів Animal Family:

Архіви таксономій висновок списку записів таксономії по термінам другої таксономії, cms і движки для

Додавання перевірки записів для кожного запиту

Зараз шаблон виводить порожній список. Але це легко виправити, перевіривши, чи містить кожен запит записи.

Оберніть цикл в наступний код:

Тепер цикл буде виглядати наступним чином:

Таким чином, цикл WordPress НЕ буде запускатися, якщо запит не містить записів, а порожні заголовки будуть видалятися. Тепер сторінка архіву виглядає наступним чином:

Архіви таксономій висновок списку записів таксономії по термінам другої таксономії, cms і движки для

Створення файлу шаблону для другої таксономії

Останнім кроком є ​​створення файлу шаблону для другої таксономії.

Новий файл шаблону буде виглядати наступним чином:

Після внесення цих змін збережіть новий файл шаблона і подивіться, як виглядає ваш архів:

Архіви таксономій висновок списку записів таксономії по термінам другої таксономії, cms і движки для

Тепер у вас є сторінка для другої таксономії, яка працює таким же чином, як і для першої таксономії.

висновок

З цієї статті ви дізналися, як відображати дані з використанням декількох таксономій. Можна додати третю таксономию одним з двох способів:
  1. Повторити процес вилучення термінів, визначення запиту і запуск циклу для третього терміну після другого, щоб у вас вийшло два окремих списки;
  2. Звести дані з використанням всіх трьох умов, використавши кожну змінну $ term для $ habitat або $ animalcat. і додавши додатковий оператор foreach () всередині існуючого оператора foreach (). В такому випадку вам потрібно буде подумати про те, як вивести отримані дані: списком або за допомогою сітки.

Чому б вам не спробувати це?