ACF: при создании пользовательского типа поля сохраняются два значения - PullRequest
0 голосов
/ 15 декабря 2018

Я создал пользовательский тип поля, который может хранить мое значение в массиве.

Все работает нормально, однако я создал другой вход и передал значение в виде $ field ['Additional_text'], однако это обновляет ['value'], а не ['Additional_text'].

Массив ([значение] => X [дополнительный_текст] => Y)

Как выбрать правильный ключ для передачи значенийк

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Решение заключается в том, что когда вы создаете свои поля формы ввода, имя поля должно быть следующим: -

name="<?php echo esc_attr($field['name']) ?>[value_x]"

value="<?php echo esc_attr($field['value']['value_x']) ?>"

name="<?php echo esc_attr($field['name']) ?>[value_y]"

value="<?php echo esc_attr($field['value']['value_y']) ?>"

Это позволит вам сохранить несколько значений в типе пользовательского поля.

0 голосов
/ 16 декабря 2018

Вы можете использовать функции ACF get_field () и update_field () для получения и установки значения.Вы также можете манипулировать полем с помощью функций get_post_meta () и update_post_meta ().

На самом деле ACF хранит два значения для каждого метаполя.Например, если я добавил пользовательское поле «цена» с ACF, то в базе данных будут созданы 2 мета-поля «цена» и «_price».Как вы знаете, meta_key с префиксом подчеркивания не указан на странице редактирования сообщения. Здесь реальное значение сохраняется в поле 'price'.

...