Въведение в WordPress Term Meta и WP_Term
В миналото, за да работи всеки елемент от данни, трябваше да съхранявате метаданните на термина като поле в таблицата wp_options и ако имате прилично количество термини или само няколко персонализирани таксономии, това потенциално може да доведе до стотици, ако не и хиляди, записи.
Въпреки това, след WordPress 4.4 и по-нови, термините са станали обекти, точно като публикации, страници и потребителски типове данни. Тази промяна значително опростява процеса на добавяне, премахване и актуализиране на метаданни.
Предистория на термина Meta
Старият начин за манипулиране на метаданни
Преди WP 4.4 нямаше ясен начин за съхраняване на метаданни за термини, това беше присъщо ограничение на самата структура на термина. Ако сте разширили таксономии или термини, трябва да запазите данните директно като опция за сайт с помощта на update_option. Не е най-идеалният начин (той задръсти таблицата с опции).
Писал съм за разширяване на таксономиите и преди, но след като бяхте готови да съхраните метаданните, трябваше да извикате функция като тази:

Безплатен курс за основни теми на WordPress
Разгледайте курса и научете как да създавате многоезични теми с персонализирана структура на страницата
Как да добавите, актуализирате и премахнете Term Meta
За да работите с метаданни за термини, имате нужда от функциите add_term_meta, update_term_meta и delete_term_meta. Тези функции, съчетани с нови елементи на потребителския интерфейс, ще ви позволят да запазвате и актуализирате нови метаданни за термини.
Как да добавите метаданни за термин
За да добавим метаданни към термин, имаме нужда от функцията add_term_meta. Трябва да посочите 3 задължителни и 1 незадължителен параметър.
$term_id - ID на термина, за който искате да запазите метаданни
$meta_key - име на ключметаданни. Как ще получите достъп до данните
$meta_value - Самите данни
$unique (по избор) – Уникалността на ключа за метаданни. По подразбиране е false, т.е. ако друг ключ има същото име, функцията ще го презапише. За да бъдат ключовете уникални, трябва да зададете true.
Сега, във файла category.php или друг шаблонен файл с дъщерна тема, можем да променим термина функционалност за показване. В моя пример се използва темата Twenty Fourteen, редактирах файла category.php и извиквам функцията веднага след описанието на термина.
Снимката ще се появи веднага след описанието:
Как да премахнете метаданните на термина
Можете да изтриете метаданните на термина по същия начин, както при публикациите. Във функцията delete_term_meta трябва да посочите два задължителни и 1 незадължителен параметър.
$term_id – ИД на термин.
$meta_key - Мета ключът за премахване от термина.
$meta_value (по избор) - Премахва метаданните, ако стойността съвпада с променливата. Използвайте тази опция, ако трябва да изтриете определени данни.
Функцията преминава през всички метаданни и премахва тези, които не са зададени в променливата $allowed_term_keys, като по този начин освобождава място в базата данни (полезно, когато имаме останали десетки ненужни записи).
Обратно съвместим с WordPress 4.3 и по-нови
Ако искате да използвате тези функции, но също така да поддържате по-стари версии, можете да създадете допълнителна функционалност, за да поддържате нещата гладки.
Започнахме с извикване на функцията function_exists, за да проверим дали новата функция add_term_meta е зададена. Тази функция работи само в WP 4.4 и по-нови версии. Ако трябва да поддържате по-стари версии, използвайте нормалната функция add_term_meta, за да обвържете метаданни с нашите условия.
Аконяма поддръжка, изтегляме самия термин обект (чрез неговия ID) и от него извличаме $term_taxonomy и използваме тази променлива, за да създадем крайната ключова стойност. След като запазите данните в таблицата с опции, трябва да проверите ключа за уникалност. Можете да направите това, като добавите името на таксономията, идентификатора на термина и ключа на термина към една променлива. Трябва да проверите дали ключът не надвишава 64 знака. Ако надхвърли, трябва да се отреже. В крайна сметка можете да извикате функцията add_option, за да запазите.
Както можете да видите, методът е малко по-дълъг, но е по-гъвкав, тъй като идва поддръжка както за стари, така и за нови версии на WordPress.
Заключение
Тези нови функции трябва да подобрят и опростят процеса на управление на термините, както и да добавят уникална функционалност. Например, може да искате да добавите изображение върху термин или да получите метаданни. След това можете да показвате термини по различен начин по условие (като зареждане на нов файл с шаблон въз основа на показания термин).
С гъвкавостта и простотата на новите функции за метаданни можете да започнете да ги използвате в новите си проекти още днес!
Автор: Саймън Кодрингтън
Издание: Командата webformyself.

Безплатен курс за основни теми на WordPress
Разгледайте курса и научете как да създавате многоезични теми с персонализирана структура на страницата

WordPress Master. Разработване на WordPress теми от нулата
Научете как да разработвате WordPress теми