Запис #6 "Таксономія у WordPress. Створення своїх типів через плагіни"

Додано: 2015-10-20 00:17:32 'admin

Чесно кажучи я не є прихильником використання чужого коду у своїх проектах. Через це мало довіряю системам управління контентом і намагаюсь писати свої "з нуля". Якщо і будуть помилки, навіть фатальні. То крім себе більш ні на кого нарікати не буду ))) Але це відступ від теми.

В даному записі все ж таки піде мова про використання розширень для WordPress з метою отримання своїх власних типів записів, сворення таксономій та отримання, як результат, власного стилю записів із не стандартними параметрами. Хочу зауважити, що для даної роботи знання будь-якої мови програмування абсолютно не має значення. Потрібні знання консолі WordPress та вміння працювати із сторонніми плагінами. 

Крок 1. Вибір необхідних розширень.

Пропуную використати пошук та віднайти по ключовому слову Taxonomy необхідні розширення. Мій вибір зупинився на плагіні Taxonomy Extra Tools. Встановивши його, отримав розширення налаштувань управління WordPress:
Taxonomy Extra Tools

Як бачимо, в основний набір функціоналу не входить можливість створення своїх типів та таксономій. Але у верхній частині вказано, що для розширених налаштувань та створення користувацьких типів та таксономій необхідно використовувати плагін Types. Що ж. Переходжу по посиланню та завантажую його.

Плагін встановлено та активовано. Переходжу на його основну сторінку:

І бачу основні типи, якими наразі володіє мій WordPress. Також пройшовшись по всім пунктам меню плагіна переконався що він - саме те, що мені потрібно. Він вміє створювати нові типи записів, таксономії, користувацькі поля для заповнення параметрів та поля для користувачів сайту. Чудово!

Крок 2. Створення типів записів.

Якщо повернутись до минулого мого запису, то я там проводив приклад із шкарпетками та варенням ))). Ну це ж для прикладу а не для посміятись... Та все ж за основу можна взяти саме цей приклад і спробувати створити щось подібне на практиці. Отже, було сказано, що першопочатково і шкарпетки і варення - це товар. Що ж. Хоч в цьому вони спільні :). Але це та точка для відправлення, яка зараз так необхідна. Беру за основу товар. Та ділю на дві частини: шкарпетки та варення. Так само в плагіні вибираю "Post Types" та тисну "Add New Custom Post Type". Це сторінка створення нового типу записів. У порівнянні з прикладом новим типом буде "товар". Заповнюю відповідно форму:

Після збереження налаштувань я отримав новий тип записів "Товар" у меню консолі (під Коментарями). 

Якщо перейти до створення "Товару", отримаю пусту заготовку створення запису. Навіть з меншими параметрами, чим у "Записів":

 Крок 3. Створення таксономій.

Після створення нового типу тепер треба забезпечити цей тип таксономіями. З прикладу відомо, що є дві таксономії. Шкарпетки та варення. Їх можна назвати категоріями для типу записів "Товар". Тому переходжу до пункту "Custom Taxonomies" та тисну "Add new". Заповнюю форму:

Прошу зауважити, що була виставлена галочка у категорії налаштувань "Select Post Types" навпроти вже створеного типу "Товар". І так як наша структура записів нагадує ієрархічний тип, в категорії "Параметри" вибираю "Hierarchical - like post categories, with parent / children relationship and checkboxes to select taxonomy" (На скріні не видно). На цій сторінці ще є багато налаштувань. Але з міркунань збереження часу та нервів я їх всі описувати не буду. Все залишив по замовчуванню. При бажанні можна поглибитись в опис плагіна та смостійно освоїти всі його можливості.

Тепер все готово для доданная таксономій. Переходжу в "Товар"->"Category Items" і додаю таксономії:

Тепер ці таксономії (категорії) доступні для вибору при створенні запису про товар:

Крок 4. Додавання властивостей таксономій.

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

Для створення властивостей переходжу по шляху "Types"->"Custom Fields" та заповнюю форму. Також додаю необхідні властивості (поля) із правого ряду:

Як видно, я вибрав тип та таксономію для якої створюються ці властивості. А також параметр "Display this group when ALL the above conditions is met". Це забезпечить появу цих властивостей тільки після виконання всіх умов. Тобто тип запису повинен бути "Товар" а таксономія "Шкарпетки".

Перевіримо, як це працює при додаванні товару. До публікації товару:

Після публікаці:

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

От, власне, і вся механіка створення таксономій у WordPress. Тепер залишається оприлюднити ці записи в шаблонах, відредактувавши під наші властивості.

І на остаток, для виводу користувачу я використав простий код, який додав у файл content.php стандартного шаблону 2015:

Категорія:
<?php
$term = get_the_terms(get_the_ID(), 'category-items');
$cat = $term[0];
echo $cat->name;
the_meta();
?>

Після цього отримав ось це:

та ось це:

Як видно, в коді використане посилання на категорії (таксономії). А в результаті я отримав бажаний результат - мій товар отримав окремі категорії та властивості. Всі решта нюансів, такі як назва ключів властивостей вирішуються кодом.

Коментарі: