0

我正在尝试从前端修改/更新 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:实现相同的输出。非常感谢任何帮助。

4

0 回答 0