Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

200
Visualizações
WooCommerce cómo actualizar el valor de la clave de metadatos del pedido con woo rest api 3

He estado buscando pero no puedo hacer que funcione.

Usando la api v3 puedo obtener todos los pedidos y todo está bien, pero ahora necesito poder actualizar los metadatos, cuando uso insomnio logro actualizar los metadatos, pero ahora necesito hacerlo desde un php script pero simplemente no funcionará.

con insomnio usando put .

{ "meta_datos": [ { "clave": "_mensajero", "valor": "juan carlos" } ]}

y funciona y actualiza el orden meta, pero con php no importa lo que intente, no puedo actualizarlo

 <?php if (isset($_POST['btn-update'])) { $oid = $_POST['cId']; /////the order id $data = [ 'meta_data' => [ '_mensajero' => '_mensajero' ] ]; $woocommerce->put('orders/' . $oid, $data); header('Location: #'); } ?>
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Hay varias formas de actualizar los metadatos. Una forma común sería usar el order object y uno de sus métodos llamado update_meta_data . Me gusta esto:

 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 } }

Otra forma de actualizar los metadatos usando la función update_post_meta :

 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 } }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda