フロントエンドから 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";}
2つのフィールドを除いてほぼ同じように保存されています。(目的の出力)
"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:
どんな助けでも大歓迎です。