Задать вопрос
Natasha000
@Natasha000

Как создать/обновить кастомное поле (игнорируя настройки плагина этого поля) wordpress?

Есть сайт WordPress . В нем установлен плагин market (он создает группы и цены для них)
В плагине market цены для товаров выставляются через кастомные поля для каждого товара.
Значение этого поля следующее:
a:1:{i:0;a:2:{s:11:"group_price";s:3:"3.6";s:16:"group_price_type";s:3:"fix";}}

Я создаю/обновляю кастомные поля к товарам при помощи плагина WP ALL Import.
Создаю это поле через функцию:
$price_for_post_meta = 'a:1:{i:0;a:2:{s:11:"group_price";s:' . iconv_strlen($price) . ':"' . $price . '";s:16:"group_price_type";s:3:"fix";}}';
update_post_meta($id, $grup , $price_for_post_meta);

в итоге в бд добавляется следующее:
s:79:"a:1:{i:0;a:2:{s:11:"group_price";s:3:"3.6";s:16:"group_price_type";s:3:"fix";}}";
а нужно
a:1:{i:0;a:2:{s:11:"group_price";s:3:"3.6";s:16:"group_price_type";s:3:"fix";}}
Как добавлять значение кастомного поля без этого префикса s:79:" и этого пос фикса ";
(я как поняла, это считает количество символов в строке)
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
Natasha000
@Natasha000 Автор вопроса
разобралась - нужно предавать значение в массиве...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Вы слишком все усложняете, достаточно создать массив и собрать сериализованную строку с помощью serialize()

$array = [
	'group_price' => '3.6',
	'group_price_type' => 'fix',
];
echo serialize( $array );


Для работы с подобными данными вам еще пригодятся функции json_decode() и json_encode()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы