WooCommerce agrega orden programáticamente para un usuario específico

1 minuto de lectura

Avatar de usuario de SAMES
MISMO

Estoy trabajando en un complemento personalizado de WooCommerce. Donde en una de mis funciones quiero agregar un pedido al sistema/base de datos con wc_create_order().

El código a continuación funciona bien, pero no puedo encontrar una manera de dedicar este pedido a un usuario específico (por lo que se muestra en el backend y en la página de la cuenta de ese usuario).

(El campo DB para esto es: ‘_customer_user’ ???)

Mi código:

// $productid, $userid, $price are passed in the function

$user = get_userdata($userid);

$address = array(
        'first_name' => get_user_meta( $userid, "billing_first_name", true),
        'last_name'  => get_user_meta( $userid, "billing_last_name", true),
        '......'
);

$order = wc_create_order();

$args['totals']['subtotal'] = $price;
$args['totals']['total'] = $price;

$order->add_product( get_product( $productid ), 1, $args );
$order->set_address( $address, 'billing' );
$order->set_address( $address, 'shipping' );
$order->calculate_totals();

Puedes hacerlo con update_post_meta

update_post_meta( $order->id, '_customer_user', $userid );

  • Iba a publicar exactamente lo mismo. Esto debería hacerlo.

    – helgathevikingo

    26 de junio de 2015 a las 12:36

¿Ha sido útil esta solución?