Метаполя (довільні поля) для рубрик (таксономій) у WordPress - title, description, keywords
Підкажіть, у який бік копати (без плагінів)
Якраз на тему створення таких полів в адмін-панелі, я описував хук (taxonomy)_edit_form_fields. Рекомендую до прочитання.
Крок 1 (з версії WP 4.4 не потрібен)
Крок 1 застарів із версії WordPress 4.4. тому я прибрав його донизу відповіді.
Потрібно вивести поля під час редагування терміна. Для цього пропоную використовувати клас від Михайла Рудрастого (я його трохи змінив). Додаємо його в functions.php в самий початок або в плагін:
Далі використовуючи доданий клас, створюємо поля для елементів таксономії.
І ось що має вийти:

Виводимо наявні поля в заголовки рубрик та в head частину документа.
Можна робити без хуків, а безпосередньо, тут уже від плагінів залежить.
Головне тут ми отримуємо метаполі за допомогою get_metadata()
Крок 1 (з версії WP 4.4 не потрібен)
Тут головна проблема, що нікуди записувати дані. Багато джерелах дані пишуть в опції, а це погано. Добре, якщо створити спеціальну таблицю метаданих для таксономій.
Цей крок не потрібний з версії 4.4. У цій версії, нарешті, було створено таблицю метаполів для елементів таксономій! Тому, якщо у вас WP 4.4 і вище, переходьте відразу до кроку 2.
Запускаєте один раз цю функцію, потім можна видалити код. Для запуску можна в functions.php засунути:
Ця функція створить нову таблицю в БД, termmeta – терміни для таксономій.
Тепер ми маємо куди записувати дані таксономій.
теоретично все зрозуміло, саме те, що було потрібно.
Але на практиці - не працює. Дані не зберігаються.
У цій статті: також було згаданопро створення поля для картинки в рубриках, було б чудово продати ще й це. Зараз потикаю на тестовому варіанті, може, що й вийде.
зараз висновок title для записів і сторінок відбувається так:
також, в header.php висновок мета для сторінок та записів
>> Але на практиці - не працює. Дані не зберігаються.
Як це не зберігаються, я перевіряв код у мене все працювало.
Щодо висновку, то створені метаполя виводяться так:
Це висновок для поля seo_description
І т.д. за аналогією. Виводьте, де потрібно і як потрібно. Перед виводом перевірте, що ви на сторінці рубрики. Загалом, цей код є у відповіді, вивчайте.
Таблиця wp_termmeta утворилася, тут все ок, поля в таблиці: meta_id, term_id, meta_key, meta_value. Дод. поля в рубриці теж створилися, як на картинці, викладеної Вами. Але при редагуванні рубрики, таблиця залишається порожній тобто.: вбиваємо у відповідні поля в рубриці що-небудь, клацаємо "зберегти", заходимо в рубрику заново, і бачимо ці поля порожніми. У бд дані також не заносяться
Ой, перепрошую! Я ж забув зареєструвати назву таблиці. Оновив клас trueTaxonomyMetaBox до версії v1.1, там рядки додав:
чудово, працює. Тільки Ви помилилися: поле у таблиці за вище написаним кодом не "term_seo_description", а "txseo_seo_description". Вийшло щось на кшталт цього:
Залишилося дописати висновок в else стандартного сценарію виведення додаткових полів. Велике спасибі!
ага, все разом вийшло так:
Для тих, хто використовує All in One Seo Pack, третій крок потрібно змінити