Nik Custom Fields — кастомні поля для WordPress
Зберіть поля, які справді потрібні вашому контенту, — і читайте їх тими самими функціями, що вже використовує ваша тема. Nik Custom Fields створює групи полів і прив’язує їх до записів, сторінок, товарів, користувачів, елементів таксономій, коментарів або до сторінки налаштувань усього сайту.
▶ Живе демо — усі типи полів на одній сторінці 📖 Документація — увесь API з прикладами коду
Тридцять шість типів полів
Text, Textarea, Number, Range, Email, URL, Password, Rich text (справжній редактор WordPress), Image, File, Gallery, Select, Checkbox, Radio, Button group, True/False, Link, Post object, Page link, Relationship, Taxonomy, User, Colour, Date, Date and time, Time, oEmbed, Icon picker, Google Map, Message, Accordion і Tab — плюс чотири, що роблять можливим структурований контент: Group, Repeater, Flexible content і Clone, з будь-якою глибиною вкладеності. Демо-сторінка нижче виводить кожен із них, а лічильник на ній читається із самого плагіна, тому не може непомітно відстати.
Звичний API для шаблонів
Читайте значення функціями, звичними для розробки під WordPress, — get_field(), the_field(), have_rows(), the_row(), get_sub_field(), get_field_object(), update_field() та іншими. Версії з префіксом nik_* доступні завжди і є підтримуваним API. Якщо ці імена вже визначені іншим плагіном, Nik Custom Fields поступається й не перевизначає їх — тому його можна ставити поруч із тим, що у вас працює зараз.
Автоматичне перенесення наявних полів
Уже зберігаєте кастомні поля іншим плагіном? Nik Custom Fields знаходить ці дані й приймає їх на себе — групи полів, репітери й усі збережені значення — і вміє відновити поля навіть коли початковий плагін уже видалений, а в базі лишилися тільки значення. Він читає формат зберігання, спільний для найпоширеніших плагінів кастомних полів. Нічого не видаляється й не перезаписується, обидва плагіни можуть працювати поруч, доки ви не переконаєтеся в результаті, а повторний запуск імпорту безпечний.
Рядки репітера, за якими справді можна шукати
Кожне значення всередині репітера або гнучкого контенту дублюється в плоский мета-ключ, тому meta_query та orderby дістають до вмісту рядка без жодного доповнення:
array( 'key' => nik_meta_key( 'specs', '0_name' ), 'value' => 'weight' )
Блоки Ґутенберґа з групи полів
Зареєструйте блок із групи полів — і його інтерфейс редагування і є власна розмітка полів плагіна: ті самі репітер, умовна логіка й вибір медіа, що й у метабоксі, без збірки React. Значення лежать в атрибутах блока, тому переїжджають разом із ним при копіюванні й не торкаються мета-полів запису.
Більше, ніж базовий набір
- Двобічні зв’язки з коробки: зв’яжіть товар з аксесуаром — і товар автоматично запишеться в поле самого аксесуара, а при розриві зв’язку так само видалиться.
- Умовна логіка — показувати поле, лише поки інше тримає задане значення. Правила перевіряються і в редакторі, і під час збереження, тому приховане обов’язкове поле ніколи не блокує збереження, яке блокувати не повинно.
- Групи полів у коді або JSON. Оголосіть групу у файлі теми або завантажте цілу теку JSON; імпорт і експорт зіставляються за ключем, тому id можуть різнитися між dev, staging і production.
- Перейменування безпечне. Змініть ключ поля — і збережені значення переїжджають разом із ним, включно з підполями репітера, а не лишаються сиротами.
- Опційна видача в REST для кожної групи, зі значеннями вже в заданому форматі повернення.
- Будь-яке розташування — прив’яжіть групу до будь-якого типу запису чи таксономії WordPress, до користувачів, коментарів або сторінки налаштувань.
Редагування поза адмінкою
Будь-яку групу полів можна вивести формою на фронтенді через nik_form() — особистий кабінет, форма подачі, картка, яку правлять просто на сайті. Ті самі рендерери, те саме очищення й та сама валідація, що й у метабоксі, а права перевіряються двічі: коли форма малюється і коли надходить відповідь.
Зроблено, щоб лишатися швидким
Групи полів та їхні визначення кешуються з інвалідацією за лічильником версії, а значення контейнерів індексуються. На архіві з 20 записів, де кожна читає три форматовані поля, кількість запитів падає зі 140 до 21; десять повторних читань одного поля коштують нуль додаткових запитів.
Безкоштовно, і нічого нікуди не надсилається
Плагін повністю безкоштовний і розповсюджується за ліцензією GPL: не треба вводити ключ, немає пробного періоду, немає урізаних можливостей, оновлення теж безкоштовні. І він узагалі не звертається до зовнішніх серверів — дані про ваш сайт нікуди не йдуть.
Шорткоди
— значення одного поля.— усі поля групи таблицею.— поле-галерея.
Усі три приймають post_id, який також розуміє option, user_5 або term_12.
Вимоги
- WordPress 6.1 або новіше, PHP 7.4 або новіше.
- MySQL 5.7+ або MariaDB 10.2+ — схема використовує JSON-колонки, і активація відхиляється на старішому сервері, замість створення таблиць, які не зможуть зберігати дані.
- WooCommerce не потрібен. Працює на будь-якому сайті WordPress.
Відгуки
Відгуків поки немає — поділіться досвідом першим.
Відгук можуть залишити лише ті, хто завантажив або придбав цей плагін, — тому тут усі відгуки справжні.
