Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Не сохраняется значение чекбокса в произвольном поле
8ответ(ов) в теме
daniablag
не в сети 1 месяц
На сайте с 12.02.2015
Участник
Тем 37
Сообщения 109
1
16:54
Версия WP-Recall: 16.18.1

Здравствуйте. Проблема такая. Создал новую вкладу меню ЛК с произвольными полями точно как в инструкции

Вы не можете просматривать опубликованные ссылки

Все поля сохраняются и соответственно нормально выводятся. Но вот когда создал поле чек бокс, ничего не сохраняется, после перезагрузки страницы чекбоксы снова пустые. Вот код массива

$fields = array(
		array(
		'type' => 'checkbox',
		'slug' => 'field_ones',
		'title' => __('Выберите цвет'),
		'values' => array(
			__('Белый'),
			__('Черный'),
			__('Синий')
		),
		'default' => array(1)
	)
    );
	
    return $fields;

Вот скрин полей в ЛК с выбраным полем,

Вы не можете просматривать опубликованные ссылки

, а дальше жму Сохранить данные, страница перегружается и снова поля пустые вот так

Вы не можете просматривать опубликованные ссылки

Повторюсь, когда создаю поля другого типа, не чекбоксы, то всё сохраняется. Какое может быть тут решение?)

0
Вова (Otshelnik-Fm)
не в сети 2 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
17:05

Здравствуйте.

Под эксперименты с кодом есть отдельная ветка по кастомизации. Перенесено.

field_ones в БД записано? Посмотрите в метаполе того юзера под которым сохраняли

0
daniablag
не в сети 1 месяц
На сайте с 12.02.2015
Участник
Тем 37
Сообщения 109
3
17:24

У инпута name="field_ones[]" есть
Может я не туда не то посмотрел, подскажите если что

Редакции сообщения
22.01.2020 17:24daniablagПричина: не указано
0
Вова (Otshelnik-Fm)
не в сети 2 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
4
17:26

в wp_usermeta смотрели?

0
Андрей CS
не в сети 7 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
5
17:28

а вы в БД смотрели? метаданные с ключом "field_ones" пишутся?
может они пишутся в БД, просто не выводятся в форме

0
daniablag
не в сети 1 месяц
На сайте с 12.02.2015
Участник
Тем 37
Сообщения 109
6
17:34

В таблице не нашлось field_ones, да и если бы сохранялись в таблице то наверное через {RCL-UM:field_ones} выводилось бы, а не выводится

Редакции сообщения
22.01.2020 17:37daniablagПричина: ошибка {RCL-UM:
0
Андрей CS
не в сети 7 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
7
17:58

для полей, в которых значения сохраняются в массив, таких как checkbox, radio, multiselect и др, необходим дописывать параметр 'value_in_key' в значении true или 1. Например

array(
'type' => 'checkbox',
'slug' => 'field_ones',
'title' => __('Выберите цвет'),
'value_in_key' => true,
'values' => array(
	__('Белый'),
	__('Черный'),
	__('Синий')
)

или другой вариант - формировать массив значений таким образом:
array(
'type' => 'checkbox',
'slug' => 'field_ones',
'title' => __('Выберите цвет'),
'values' => array(
	__('Белый') => __('Белый'),
	__('Белый') => __('Черный'),
	__('Белый') => __('Синий')
)

Это особенность работы с полями профиля

0
daniablag
не в сети 1 месяц
На сайте с 12.02.2015
Участник
Тем 37
Сообщения 109
8
18:22

О да, то что нужно. Спасибо мужики, как всегда приятно и продуктивно иметь дело на кодеселлере

0
Тема закрыта. Публикация новых сообщений запрещена.