Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在wordpress/woocommerce中更新帖子自定义值_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 如何在wordpress/woocommerce中更新帖子自定义值

Php 如何在wordpress/woocommerce中更新帖子自定义值,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,当用户完成订单时,我必须在woocommerce购物车中更新一个自定义字段 以下功能: $moreinfo_values = get_post_meta($_product->id,'more_info_data'); update_post_meta( $_product->id, 'more_info_data', 'f', '100' ); 获取数组: Array ( [0] => Array (

当用户完成订单时,我必须在woocommerce购物车中更新一个自定义字段

以下功能:

$moreinfo_values = get_post_meta($_product->id,'more_info_data');
update_post_meta( $_product->id, 'more_info_data', 'f', '100'  );
获取数组:

    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

$moreinfo_values = get_post_meta($_product->id,'more_info_data');
update_post_meta( $_product->id, 'more_info_data', 'f', '100'  );
但我似乎不明白这个函数是如何工作的


我非常感谢您在advance上的帮助

基于您的更新,我创建了
简单函数
,正在执行
更新发布元数据
,据我所知,我没有看到任何选项可以使用您的函数更新值,如
更新发布元数据($\u product->id,'more\u info\u data',f',100')

您可以根据自己的意愿在函数update\u custom\u post\u meta\u data中创建条件,但我不确定是否确切知道将哪些数据拆分为常见条件,因此这取决于您

所以我创建了另一个函数,比如

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'  );
它能满足你的要求


谢谢。

是否要更新所有[f]数组键的[f]值?只更新第二个。我今晚要测试它。。。thaaanks!臀部