首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WooCommerce如何使用woo 3更新订单元数据键值

WooCommerce如何使用woo 3更新订单元数据键值
EN

Stack Overflow用户
提问于 2022-01-26 05:22:30
回答 1查看 897关注 0票数 2

我一直在四处寻找,但没能让它开始工作。

使用api v3,我能够获得所有订单,一切正常,但现在我需要能够更新元数据,当我使用失眠时,我设法更新元数据,但现在我需要从php script中进行更新,但它不能工作。

使用put治疗失眠症。

{ "meta_data":{“meta_data”:"_mensajero","value":"juan“}

它工作并更新订单元,但无论我如何尝试php,我都无法使它更新。

代码语言:javascript
复制
<?php
 if (isset($_POST['btn-update'])) {
 $oid = $_POST['cId']; /////the order id
 $data =  [
  'meta_data' => [
    '_mensajero' => '_mensajero'
    
    ]
   ];

   $woocommerce->put('orders/' . $oid,  $data);
  header('Location: #');
   }

?>  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-26 15:30:48

有多种方法来更新元数据。一种常见的方法是使用order object及其方法之一update_meta_data。如下所示:

代码语言:javascript
复制
if (isset($_POST['btn-update'])) 
{

    $oid = absint($_POST['cId']); // the order id

    if($oid)
    {
        $order = wc_get_order($oid);

        if($order)
        {

            $order->update_meta_data('_mensajero', '_mensajero');

            $order->save();

            // Do what ever you want here

        }else{

            die('NO ORDER WITH THE PROVIDED ID FOUND!');
            
           // OR send back a custom error message using 'wp_send_json_error' function
            
        }

    }else{

        die('NO ORDER ID RECIEVED!');

        // OR send back a custom error message using 'wp_send_json_error' function

    }
    
}

另一种使用update_post_meta函数更新元数据的方法:

代码语言:javascript
复制
if (isset($_POST['btn-update'])) 
{

    $oid = absint($_POST['cId']); // the order id

    if($oid)
    {
        $order = wc_get_order($oid);

        if ($order) {

            update_post_meta($oid, '_mensajero', '_mensajero');

            // Do what ever you want here

        } else {

            die('NO ORDER WITH THE PROVIDED ID FOUND!');

            // OR send back a custom error message using 'wp_send_json_error' function
        }

    }else{

        die('NO ORDER ID RECIEVED!');

        // OR send back a custom error message using 'wp_send_json_error' function
    }
    
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70858955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档