我正在尝试从前端修改/更新 woocommerce 自定义字段。为此,我正在更新 post_meta。这是所需的序列化形式:
a:6:{s:13:"default_price";s:2:"10";s:4:"type";s:19:"mwb_wgm_range_price";s:8:"template";i:4751;s:14:"by_default_tem";b:1;s:4:"from";s:2:"11";s:2:"to";s:2:"12";}
当我更新我的帖子元时,结果将显示如下:
a:6:{s:13:"default_price";s:2:"10";s:4:"type";s:19:"mwb_wgm_range_price";s:8:"template";s:4:"4751";s:14:"by_default_tem";s:4:"4751";s:4:"from";s:2:"12";s:2:"to";s:2:"13";}
除了两个字段外,它的保存几乎相同。(期望的输出)
"template";i:4751;s:14:"by_default_tem";b:1;
但是我的代码保存了这些值,这对我来说是个问题:
"template";s:4:"4751";s:14:"by_default_tem";s:1:"1"
这是我保存 post_meta 的数组
$myArray = Array(
'default_price' => $postdata['new_field2'],
'type' => 'mwb_wgm_range_price',
'template' => '4751',
'by_default_tem' => '1',
'from' => $postdata['new_field_3'],
'to' =>$postdata['new_field_32'],
);
我不明白如何替换s:
以i:
实现相同的输出。非常感谢任何帮助。