Nik Custom Fields — живое демо
Каждый тип поля, который регистрирует плагин, и каждый описанный вызов — выполнены прямо на этой странице. Слева: с чем работает редактор и какой вызов делает шаблон. Справа: что этот вызов вернул.
A Типы полей
По блоку на тип: что видит редактор, вызов, результат.
textТекст
В админке
Однострочное поле. Подсказка, лимит символов, значение по умолчанию, префикс и суффикс.
В шаблоне
nik_the_field( 'd_text' );Результат
textareaТекстовая Область
В админке
Многострочный текст без разметки. Число строк — настройка.
В шаблоне
nik_the_field( 'd_textarea' );Результат
Plain text, kept verbatim.
Ampersands & quotes "survive" — no double escaping.
numberЧисло
В админке
Числовое поле с минимумом, максимумом, шагом и префиксом. Дробная часть сохраняется.
В шаблоне
nik_get_field( 'd_number' ); // float
nik_the_field( 'd_number' ); // localisedРезультат
19,99
rangeПолзунок
В админке
Ползунок с живым показом значения.
В шаблоне
nik_get_field( 'd_range' );Результат
emailEmail
В админке
Поле для e-mail. Некорректный адрес отклоняется при сохранении.
В шаблоне
nik_the_field( 'd_email' );Результат
urlURL
В админке
Поле для ссылки.
В шаблоне
nik_the_field( 'd_url' );Результат
passwordПароль
В админке
Скрытый ввод. Хранится как есть, выводится точками.
В шаблоне
nik_the_field( 'd_password' );Результат
wysiwygФорматированный текст
The gallery below is a [gallery] shortcode typed into the editor.
В админке
Настоящий редактор WordPress: TinyMCE, Quicktags, кнопка медиа. Шорткоды выполняются при выводе.
В шаблоне
nik_the_field( 'd_wysiwyg' );Результат
Rich text from the real WordPress editor — lists, links and shortcodes all work:
- TinyMCE and Quicktags
- Media button
selectВыбор
В админке
Выпадающий список. Значение вне заданного списка не принимается.
В шаблоне
nik_get_field( 'd_select' );Результат
radioПереключатель
В админке
Переключатели.
В шаблоне
nik_get_field( 'd_radio' );Результат
button_groupГруппа кнопок
В админке
Один выбор в виде ряда кнопок.
В шаблоне
nik_get_field( 'd_buttons' );Результат
checkboxФлажок
В админке
Одиночная галочка.
В шаблоне
nik_get_field( 'd_checkbox' ); // boolРезультат
truetrue_falseДа / Нет
В админке
Переключатель «да/нет» со своей подписью.
В шаблоне
nik_get_field( 'd_truefalse' ); // boolРезультат
trueimageИзображение
В админке
Выбор из медиабиблиотеки. Формат возврата: id, URL или полный массив.
В шаблоне
$img = nik_get_field( 'd_image' );
echo $img['sizes']['medium'];Результат
{
"id": 933,
"alt": "",
"width": 800,
"height": 800
}galleryГалерея
В админке
Несколько изображений, порядок меняется перетаскиванием.
В шаблоне
foreach ( nik_get_field( 'd_gallery' ) as $img ) {
echo $img['sizes']['thumbnail'];
}Результат




4 images
fileФайл
В админке
Любой файл, не только изображение. Допустимые расширения — настройка.
В шаблоне
nik_the_field( 'd_file' );Результат
{
"id": 938
}icon_pickerВыбор значка
В админке
Dashicon или ссылка на изображение.
В шаблоне
nik_the_field( 'd_icon' );Результат
oembedoEmbed
В админке
Ссылка на любой сервис с поддержкой oEmbed; вставка разворачивается при выводе.
В шаблоне
nik_the_field( 'd_oembed' );Результат
linkСсылка
В админке
Адрес, текст ссылки и переключатель «открывать в новой вкладке».
В шаблоне
nik_the_field( 'd_link' ); // <a> with rel=noopener
nik_get_field( 'd_link' ); // arrayРезультат
{
"url": "https://products.nikdimon.com/products/nik-custom-fields/",
"title": "Product page",
"target": "_blank"
}color_pickerЦвет
В админке
Нативная палитра плюс поле для hex.
В шаблоне
nik_the_field( 'd_color' );Результат
google_mapКарта Google
В админке
Широта, долгота и адрес.
В шаблоне
nik_the_field( 'd_map' );
nik_get_field( 'd_map' );Результат
{
"address": "Kyiv, Ukraine",
"lat": 50.4501,
"lng": 30.5234,
"zoom": 14
}date_pickerДата
В админке
Только дата. Хранится в сортируемом виде, выводится в формате сайта.
В шаблоне
nik_get_field( 'd_date', false, false ); // raw
nik_the_field( 'd_date' ); // formattedРезультат
д.м.г.
date_time_pickerДата и время
В админке
Дата вместе со временем.
В шаблоне
nik_the_field( 'd_datetime' );Результат
time_pickerВремя
В админке
Время суток.
В шаблоне
nik_get_field( 'd_time' );Результат
post_objectОбъект записи
В админке
Поиск с выбором одной записи. Ничего не грузится, пока не начнёшь печатать.
В шаблоне
$post = nik_get_field( 'd_postobject' );
echo $post->post_title;Результат
WP_Post #701 Images auto convert — 1page_linkСсылка на страницу
В админке
Тот же поиск, но значением становится постоянная ссылка.
В шаблоне
nik_the_field( 'd_pagelink' );Результат
relationshipСвязь (записи)
В админке
Поиск с выбором нескольких записей, порядок меняется.
В шаблоне
foreach ( nik_get_field( 'd_relationship' ) as $post ) {
echo get_permalink( $post );
}Результат
taxonomyСвязь (термины)
В админке
Поиск по элементам любой таксономии.
В шаблоне
nik_get_field( 'd_taxonomy' );Результат
{
"term_id": 1,
"name": "Без рубрики",
"slug": "%d0%b1%d0%b5%d0%b7-%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b8",
"term_group": 0,
"term_taxonomy_id": 1,
"taxonomy": "category",
"description": "",
"parent": 0,
"count": 0,
"filter": "raw"
}userСвязь (пользователи)
В админке
Поиск по пользователям сайта.
В шаблоне
nik_get_field( 'd_user' );Результат
{
"id": 1,
"login": "PaperAdmin1873",
"display_name": "PaperAdmin1873",
"email": "dmitrij.nikolaenko.91@gmail.com",
"roles": [
"administrator"
]
}groupГруппа
В админке
Несколько полей, собранных под одним именем.
В шаблоне
$d = nik_get_field( 'd_group' );
echo $d['w'] . '×' . $d['h'] . ' ' . $d['u'];Результат
{
"w": 120,
"h": 80,
"u": "cm"
}repeaterПовторитель
В админке
Строки из подполей: редактор добавляет их и меняет порядок.
В шаблоне
while ( nik_have_rows( 'd_specs' ) ) : nik_the_row();
echo nik_get_row_index();
echo nik_get_sub_field( 'name' );
echo nik_get_sub_field( 'value' );
endwhile;Результат
| # | name | value | icon |
|---|---|---|---|
| 1 | Weight | 1.2 | ![]() |
| 2 | Length | 48 | ![]() |
| 3 | Volume | 0.75 | — |
repeaterПовторитель
The same type again, nested — this is the case most alternatives get wrong.
В админке
Репитер внутри репитера. Глубина вложенности не ограничена.
В шаблоне
while ( nik_have_rows( 'd_sections' ) ) : nik_the_row();
echo nik_get_sub_field( 'title' );
while ( nik_have_rows( 'items' ) ) : nik_the_row();
echo nik_get_sub_field( 'label' );
endwhile;
endwhile;Результат
Before release
- ✅ Run the test suites
- ✅ Update the changelog
- ⬜ Tag the release
After release
- ⬜ Publish the product page
flexibleГибкий контент
В админке
Редактор выбирает из именованных макетов, в любом порядке и сколько нужно раз.
В шаблоне
while ( nik_have_rows( 'd_flex' ) ) : nik_the_row();
if ( 'hero' === nik_get_row_layout() ) { … }
endwhile;Результат

cloneКлон (переиспользовать группу)
В админке
Поля другой группы, переиспользованные без копирования настроек.
В шаблоне
$a = nik_get_field( 'd_clone' );
echo $a['street'] . ', ' . $a['city'];Результат
Khreshchatyk 1, Kyiv 01001
{
"street": "Khreshchatyk 1",
"city": "Kyiv",
"zip": "01001"
}tabВкладка / разделитель
В админке
Разбивает длинную группу на вкладки в админке. Значения не хранит.
В шаблоне
// nothing to readРезультат
accordionАккордеон
В админке
Сворачиваемый блок в админке. Значения не хранит.
В шаблоне
// nothing to readРезультат
messageСообщение (без значения)
В админке
Пояснение для редактора. Значения не хранит.
В шаблоне
// nothing to readРезультат
B Условная логика
Правила работают в админке. Скрытое поле сохраняет своё значение.
nik_get_field( 'd_conditional' ) // shown only while Select = liveC Двусторонняя связь
Связали одну сторону — вторая записалась сама. На связанной странице ничего не вводили.
nik_get_field( 'd_linked' ) // hereD Field objects and bulk reads
nik_get_field_object( 'd_select' ){
"key": "d_select",
"uid": "nikf_69f0cbb6950774f9644d",
"label": "Select",
"name": "d_select",
"type": "select",
"instructions": "",
"required": false,
"width": 100,
"choices": [
"draft",
"review",
"live"
],
"settings": null,
"value": "live"
}nik_get_sub_field_object( 'value' ) // inside a row{
"key": "value",
"label": "Value",
"type": "number",
"width": 50,
"required": 0
}nik_get_fields()E Другие цели
Тот же API, адресация через option / user_N / term_N.
nik_get_field( 'o_company', 'option' )nik_get_field( 'o_logo', 'option' )
nik_get_field( 'u_job', 'user_1' )nik_get_field( 'c_tagline', 'term_15' )NULLF Группа полей, объявленная в коде
Регистрируется из PHP-файла, поэтому конфигурацию можно держать в git.
nik_add_local_field_group( array(
'key' => 'ncf-local',
'fields' => array( array( 'key' => 'l_badge', 'type' => 'text' ) ),
) );
nik_get_field( 'l_badge' )G Блок Гутенберга
Блок, атрибуты которого — это группа полей; его шаблон читает их тем же API.
H Шорткоды
Для тех, кто работает в редакторе контента, а не в шаблонах.
[nik_cf_field field="d_text"][nik_cf_field field="nope" default="fallback"][nik_cf_gallery field="d_gallery" size="thumbnail"]



[nik_cf_group group="ncf-address"]I Выборка по значению поля
Значения лежат под стабильным идентификатором, поэтому nik_meta_key() превращает знакомое имя поля в ключ, который нужен WP_Query.
nik_meta_key( 'd_specs', '0_name' )'meta_query' => array( array(
'key' => nik_meta_key( 'd_specs', '0_name' ),
'value' => 'Weight',
) )nik_meta_key( 'd_sections', '0_items_1_label' ) // any depth'meta_key' => nik_meta_key( 'd_number' ),
'orderby' => 'meta_value_num'J REST API
Включается отдельно для каждой группы. У этой группы включено.
| endpoint | what it does |
|---|---|
GET /wp-json/wp/v2/pages/943 | core response gains a nik_fields object |
GET /wp-json/nik-cf/v1/fields/page/943 | values in their return format |
POST /wp-json/nik-cf/v1/fields/page/943 | write values |
GET /wp-json/nik-cf/v1/field-groups | the configuration itself |
GET /wp-json/nik-cf/v1/options/ncf-demo-options | an options page |
K Форма на фронтенде
Те же рендереры и та же валидация, что и в метабоксе. Показывается только тому, кто может править эту страницу.
Hidden: a front-end form needs a logged-in user with edit_post on this page.
That check runs when rendering and again when accepting the submission.
Other plugins
Nik Wishlist & Ajax Mini Cart — избранное и мини-корзина для WooCommerce
Избранное для гостей и покупателей, выдвижная мини-корзина и добавление товаров без перезагрузки страницы. В…
Nik Analytics Pro — аналитика сайта и продаж
Аналитика, которая хранит всё в вашей базе: визиты, география, UTM-источники, воронки и конверсии. Pro…
Nik Images Auto Convert: автоконвертация фото в WebP и сжатие
Как настроить плагин Nik Images Auto Convert: выбор формата и качества, автоматическая конвертация новых…
Nik Shipping UA — Нова Пошта и Укрпочта для WooCommerce
Доставка Новой Почтой и Укрпочтой для WooCommerce: отделение, почтомат и курьер прямо на кассе,…
Nik Google Reviews
Выводите свежие отзывы Google легально — вживую через официальный Places API, со встроенным поиском…
Nik AI Search & Filters — умный поиск и фильтры для WooCommerce
Фильтры и поиск, который находит то, что покупатель имел в виду, а не только…
Мы используем файлы cookie и похожие технологии для аналитики сайта и рекламы (Google, Meta). Выберите, разрешить ли их. Политика конфиденциальности


