✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як динамічно заповнювати розширені настроювані поля

6

З деяким кодом PHP дуже легко динамічно заповнювати значення або варіанти розширених настроюваних полів (ACF). Ви можете зробити це для будь-яких типів вводу, включаючи вибір радіо, прапорців тощо. У цій публікації ми розглянемо, як.

Фільтр

Advanced Custom Fields пропонує фільтр під назвою [acf/load_field](https://www.advancedcustomfields.com/resources/acf-load_field/). Цей фільтр можна використовувати різними способами. Або відфільтруйте acf/load_fieldйого, щоб застосувати його до всіх типів полів, або додайте код у свою підключену функцію, щоб визначити, який тип або назву поля вам потрібні. Або ви можете вказати тип поля (acf/load_field/type=<type>), назву (acf/load_field/name=<name>) або ключ (acf/load_field/key=<key>).

Припустімо, ми створюємо текстове поле так:

Як динамічно заповнювати розширені настроювані поля

Ми могли б націлити це на acf/load_field/name=dyn_pop_example(націлювання лише на це конкретне поле), acf/load_field/type=text(застосовується до всіх полів типу text) або acf/load_field(застосовується до всіх полів будь-якого типу чи імені). Використовуючи останні два фільтри, ви, звичайно, можете вказати цільову функцію за допомогою певної інформації поля, наприклад імені. Кожне поле в ACF також отримує унікальний ключ, але вони приховані та здебільшого призначені для внутрішнього використання ACF.

Фільтр забезпечує одну змінну; масив поля. Цей масив надає всю інформацію про поточне поле. Ви просто змінюєте інформацію в масиві та повертаєте змінений масив полів. Залежно від типу поля елементи в масиві відрізняються. Наприклад, типи полів із множинним вибором, такі як select і radioboxes, матимуть елемент масиву «choices», якого не матимуть поля типу text. Я рекомендую вам виконати var_dump()наданий масив, щоб побачити, до якої інформації ви маєте доступ.

Давайте почнемо розглядати справжній код!

Населення: прості приклади

Встановлення значення за умовчанням для введення тексту виглядатиме приблизно так:

add_filter('acf/load_field/name=dyn_pop_example', function($field) { $field['default_value'] = __('This is default value', 'txtdomain'); return $field; });

Ми націлюємо наше текстове введення за назвою dyn_pop_exampleта встановлюємо його значення за замовчуванням (ключ ‘ default_value‘) на рядок за власним вибором. Тоді поле буде відображено так:

Як динамічно заповнювати розширені настроювані поля

Ви можете змінити будь-які налаштування поля. У наведеному нижче прикладі ми встановлюємо заповнювач тексту та інструкції:

add_filter('acf/load_field/name=dyn_pop_example', function($field) { $field['placeholder'] = __('Type in here', 'txtdomain'); $field['instructions'] = __('Some instructions coming from code', 'txtdomain'); return $field; });

Що зробить поле візуалізації так:

Як динамічно заповнювати розширені настроювані поля

Заповнити варіанти

Якщо ви бажаєте динамічно заповнювати вибір поля вибору, перемикача або поля прапорця, це можна зробити в ключовому елементі масиву ‘ choices‘. Цей choicesелемент «» застосовується до всіх полів типу select, radio і checkbox.

Елемент " choices" має бути масивом пар ключ + значення. Ключі — це значення (які будуть збережені), а значення — це мітка, яка з’являється як вибір.

Припустімо, ми змінимо наше поле на вибране. Ви можете залишити варіанти порожніми, оскільки вони будуть встановлені через наш код.

Як динамічно заповнювати розширені настроювані поля

Для заповнення параметрів вибору ми робимо це так:

У рядку #2 - #6ми просто визначаємо масив варіантів. Змініть це відповідно до ваших потреб. У рядку #7ми призначаємо вибір поля нашому масиву. Для гарної міри ми також встановили значення поля за замовчуванням. Це не обов’язково – без рядка #8вибір просто автоматично вибере перший вибір у масиві («червоний»).

Наведений вище код відобразить поле так:

Як динамічно заповнювати розширені настроювані поля

Вибір залежить від вас, все, про що вам потрібно подбати, це надати правильний масив ключ + значення для choicesелемента поля «». Як базовий приклад цей приклад коду показує, як ви можете перетворити звичайне поле вибору на вибір дописів.

У наведеному вище прикладі коду створюється запит на публікацію, який отримує всі сторінки та заповнює масив вибору ідентифікаторами публікацій як ключами та заголовками публікацій як значеннями. Це лише як приклад; якщо ви збираєтеся зробити вибір публікацій ACF пропонує інші типи полів спеціально для цього.

Джерело запису: awhitepixel.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі