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.
Отзывы
Отзывов пока нет — поделитесь опытом первым.
Отзыв могут оставить только те, кто скачал или купил этот плагин, — поэтому здесь все отзывы настоящие.
