Avisos
Vaciar todo

Estatus de los pedidos creados  

 
marc
 marc
Estimable Member

Hola,

En mi web tengo dos tipos de productos: eventos y suscripciones.

- Cuando uno compra una suscripción, necesitamos asignarle manualmente sus contenidos y le mandamos un email de confirmación manual para explicarle todo (ejemplo: https://animaescueladevida.com/producto/suscripcion-completa/). Este pedido se crea entonces con estatus "Procesando", el cliente recibe un email automatico de Woocommerce "Procesando tu pedido" y cuando hemos hecho lo anterior, la pasamos a "Completada" y enviamos ese otro email manual. Hemos desactivado el email automatico de Woocommerce para "Pedido Completado".

- Cuando uno compra un evento, recibe un Ticket con su acceso y así finaliza la compra (ejemplo: https://animaescueladevida.com/evento/meditacion/2020-11-02/). Aqúi el problema es que esos clientes también reciben el email "Procesando tu pedido" que no les corresponde. Idealmente tendría que crearse el pedido ya "Completado" porque no necesitamos hacer nada más. Así que imagino que no recibirán ese email automatico. Se puede configurar estom que los pedidos de productos que son eventos se creen ya completados?

 

Muchas gracias

Citar
Respondido : 01/11/2020 12:45 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Marc

En este caso puedes probar utilizar un functions, para ello puedes instalar el complemento Code Snippets, para que resulte mas fácil. De igual forma puedes añadir este código en el archivo function.php de tu tema preferiblemente un childtheme

function custom_woocommerce_auto_complete_virtual_orders( $order_id ) {

// if there is no order id, exit
if ( ! $order_id ) {
return;
}

// get the order and its exit
$order = wc_get_order( $order_id );
$items = $order->get_items();

// if there are no items, exit
if ( 0 >= count( $items ) ) {
return;
}

// go through each item
foreach ( $items as $item ) {

// if it is a variation
if ( '0' != $item['variation_id'] ) {

// make a product based upon variation
$product = new WC_Product( $item['variation_id'] );

} else {

// else make a product off of the product id
$product = new WC_Product( $item['product_id'] );

}

// if the product isn't virtual, exit
if ( ! $product->is_virtual() ) {
return;
}
}

/*
* If we made it this far, then all of our items are virual
* We set the order to completed.
*/
$order->update_status( 'completed' );
}
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_virtual_orders' );

Con este código debes hacer unos cambios en tu tienda, y los productos que no quieres que se autocompleten debes eliminarles la opción de virtual de esta forma solo se completarán aquellos que tu elijas como virtuales.

Un saludo 

ResponderCitar
Respondido : 01/11/2020 2:36 pm

marc
 marc
Estimable Member

Ok Karen gracias, eso mismo haré. Mi suscripciones no pasa nada si ya no las pongo como virtuales? Quiero decir, si un producto no es virtual, pero que no pongo dirección de envio, el cliente no se dará cuenta, verdad? Porque todos mis productos son virtuales, las suscripciones también.

ResponderCitar
Respondido : 01/11/2020 4:35 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Marc,

Ya que son productos virtuales y están en la descripción no creo que el cliente deba objetar sobre la dirección de envió.  Sin embargo para que realices las pruebas de forma y verifiques todo funciona como deseas te recomiendo realices un clon de tu sitio web y sea en este donde realices los cambios y compruebes todo funciona de forma correcta.

Si es así, puede entonces aplicar los cambios en tu sitio web de producción y estar seguro todo funciona de forma correcta.

Te comparto este articulo donde mencionan como puedes realizar un clon de tu sitio web de forma rápida -> https://www.webempresa.com/blog/clonar-wordpress-en-3-clics-sin-perder-tiempo.html

Nos comentas como  ha ido todo

Un Saludo

 

ResponderCitar
Respondido : 01/11/2020 4:52 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación