programing

우커머스 주문키 받기

yellowcard 2023. 10. 7. 09:46
반응형

우커머스 주문키 받기

주문서가 양식에 들어있습니다.[domain]/checkout/order-received/[order_number]/key=[wc-order-key]- 어떻게 하면 될까요?[wc-order-key]?

지금까지 해봤습니다.

add_action('woocommerce_payment_complete', 'custom_process_order', 10, 1);

function custom_process_order($order_id)
{
  $order = new WC_Order( $order_id );
  $myuser_id = (int)$order->user_id;
  $user_info = get_userdata($myuser_id);
  $items = $order->get_items();
  foreach ($items as $item)
  {
    $product_name = $item['name'];
    $product_id = $item['product_id'];
    $product_variation_id = $item['variation_id'];
    $product_description = get_post_meta($item['product_id'])->post_content
  }
  return $order_id;
}

제가 제대로 이해했다면 order_id로 order_key를 받아야 하는데 맞나요?그렇다면 WC_Order 속성을 사용하면 됩니다.

$test_order = new WC_Order($order_id);
$test_order_key = $test_order->order_key;

편집됨

다음 번째에 언급된 바와 같이, Woo 3.0 이후 새로운 구문이 있습니다.

$test_order = wc_get_product($order_id);
$test_order_key = $test_order->get_order_key();

2018년 업데이트된 답변

WooCommerce 3이 부동산 통화 방법을 변경함에 따라 동일한 정보를 얻는 적절한 방법은 다음과 같습니다.

$order = wc_get_order($order_id);

// Added a check to make sure it's a real order

if ($order && !is_wp_error($order)) {
    $order_key = $order->get_order_key();
}

동일한 작업을 쉽게 역으로 수행할 수 있습니다. 주문 키에서 주문 ID를 가져옵니다.

$order_id = wc_get_order_id_by_order_key($order_key);

언급URL : https://stackoverflow.com/questions/37669956/woocommerce-get-order-key

반응형