如何在 wordpress/woocommerce 中更新 post 自定义值
How to update a post custom value in wordpress/woocommerce
当用户完成订单时,我必须在 woocommerce 购物车中更新自定义字段
以下函数:
$moreinfo_values = get_post_meta($_product->id,'more_info_data');
获取数组:
Array
(
[0] => Array
(
[0] => Array
(
[m] => NSW
[o] => Sydney
[d] => Something
[p] => Array
(
[0] => 13/08/2015
[1] => 14/08/2015
)
[n] => 9am - 4pm
[f] => 20
)
[1] => Array
(
[m] => SA
[o] => Adelaide
[d] => Hotel SA 5000
[p] => Array
(
[0] => 02/04/2015
)
[n] => 9am - 4pm
[f] => 12
)
)
)
我需要使用以下函数更新 [f] => 12:
update_post_meta( $_product->id, 'more_info_data', 'f', '100' );
但是我好像不太明白这个函数是怎么工作的。
非常感谢您提前提供的帮助
根据你的更新,我创建了 simple function
,它正在做 update_post_meta
,据我所知,我没有看到任何选项可以使用你的函数更新值,比如 update_post_meta( $_product->id, 'more_info_data', 'f', '100' );
您可以根据自己的意愿在函数 update_custom_post_meta_data 中创建条件,我不确定不知道将条件拆分为 common 的确切数据,因此这取决于您。
所以我创建了替代函数
function update_custom_post_meta_data($id, $meta_name, $array_key, $array_value) {
// Get the data from meta name
$get_meta_data = get_post_meta($id, $meta_name, true);
$new_array = array();
foreach ($get_meta_data as $key => $values) {
if (isset($values[$array_key])) {
$values[$array_key] = $array_value;
}
$new_array[$key] = $values;
}
update_post_meta($id, $meta_name, $new_array);
}
您可以通过将现有函数名称替换为这个函数名称来使用此函数
update_custom_post_meta_data( $_product->id, 'more_info_data', 'f', '100' );
它将满足您的要求。
谢谢。
当用户完成订单时,我必须在 woocommerce 购物车中更新自定义字段
以下函数:
$moreinfo_values = get_post_meta($_product->id,'more_info_data');
获取数组:
Array
(
[0] => Array
(
[0] => Array
(
[m] => NSW
[o] => Sydney
[d] => Something
[p] => Array
(
[0] => 13/08/2015
[1] => 14/08/2015
)
[n] => 9am - 4pm
[f] => 20
)
[1] => Array
(
[m] => SA
[o] => Adelaide
[d] => Hotel SA 5000
[p] => Array
(
[0] => 02/04/2015
)
[n] => 9am - 4pm
[f] => 12
)
)
)
我需要使用以下函数更新 [f] => 12:
update_post_meta( $_product->id, 'more_info_data', 'f', '100' );
但是我好像不太明白这个函数是怎么工作的。
非常感谢您提前提供的帮助
根据你的更新,我创建了 simple function
,它正在做 update_post_meta
,据我所知,我没有看到任何选项可以使用你的函数更新值,比如 update_post_meta( $_product->id, 'more_info_data', 'f', '100' );
您可以根据自己的意愿在函数 update_custom_post_meta_data 中创建条件,我不确定不知道将条件拆分为 common 的确切数据,因此这取决于您。
所以我创建了替代函数
function update_custom_post_meta_data($id, $meta_name, $array_key, $array_value) {
// Get the data from meta name
$get_meta_data = get_post_meta($id, $meta_name, true);
$new_array = array();
foreach ($get_meta_data as $key => $values) {
if (isset($values[$array_key])) {
$values[$array_key] = $array_value;
}
$new_array[$key] = $values;
}
update_post_meta($id, $meta_name, $new_array);
}
您可以通过将现有函数名称替换为这个函数名称来使用此函数
update_custom_post_meta_data( $_product->id, 'more_info_data', 'f', '100' );
它将满足您的要求。
谢谢。