Cómo aprobar pedidos automáticamente en WooCommerce

Publicado: 2020-09-25

Aprobación automática de pedidos WooCommerce Si está ejecutando una tienda de comercio electrónico, entonces sabe que el sitio requiere el seguimiento y la gestión de pedidos. Sin embargo, este puede ser un trabajo extenuante para el administrador, especialmente si su tienda en línea acumula mucho tráfico, lo que resulta en una gran cantidad de pedidos en un día.

Además, sabe que se crea un pedido tan pronto como se completa el proceso de pago. A un pedido se le asigna un estado de acuerdo con el lugar en el que se encuentra en la cadena de pago a entrega.

Además, WooCommerce, la pasarela de pago y el administrador de la tienda establecen o cambian los estados, según el lugar donde se inicie el pedido.

Después de que se complete el pago de un pedido si el usuario no ha seleccionado la opción Contra reembolso. Cuando se completa un pedido, su estado se establece en "Procesando" hasta que el propietario de la tienda lo cambia manualmente a "Completado". Esta será una tarea abrumadora para el propietario de la tienda o el administrador.

Aprobación automática de pedidos WooCommerce

En este breve tutorial, compartiré con usted un código PHP personalizado que lo ayudará a establecer automáticamente el estado del pedido como Completado cada vez que se haya realizado un pago con éxito. Esto implica que incluso si el usuario selecciona la opción Contra reembolso, el estado del pedido cambiará automáticamente a Completado.

Además, también compartiré con ustedes una solución que establecerá automáticamente el estado del pedido de WooCommerce como Completado para productos virtuales. Estos productos no son tangibles ni descargables.

Esto se debe a que la suscripción de membresía puede no tener una forma tangible sino una fecha de vencimiento. Si se trata de productos descargables, no se debe incluir la opción Contra reembolso, sino que solo se debe agregar una condición para comprobar si todos los productos del pedido son virtuales.

Ahora que sabe cómo se configuran los estados de los pedidos, aquí hay una guía detallada sobre cómo:

  • Configure automáticamente el estado del pedido de WooCommerce como Completado según el método de pago.
  • Configure automáticamente el estado del pedido de WooCommerce como Completado para productos virtuales.

a) Pasos para establecer automáticamente el estado del pedido de WooCommerce como completado según el método de pago

Estos son los sencillos pasos que debe seguir:

  1. Inicie sesión en su sitio de WordPress y acceda al Panel como usuario administrador.
  2. En el menú del panel, haga clic en Menú de apariencia > Menú del editor de temas . Cuando se abra la página del Editor de temas , busque el archivo de funciones del tema donde agregaremos la función que establecerá automáticamente el estado del pedido de WooCommerce como completado según el método de pago.
  3. Agregue el siguiente código al archivo php :
 /**

Fragmento para configurar automáticamente el estado del pedido de WooCommerce como completado según el método de pago

*/

add_action('woocommerce_order_status_changed', 'njengah_auto_complete_by_payment_method');

función njengah_auto_complete_by_payment_method($order_id)

{

if ( ! $order_id ) {

regreso;

}

$producto global;

$pedido = wc_get_order( $order_id );

if ($pedido->datos['estado'] == 'procesando') {

$método_de_pago=$pedido->get_método_de_pago();

if ($método_pago!="bacs")

{

$pedido->update_status('completado');

}

}

}
  1. Para ver el resultado, dirígete al Panel de WordPress y haz clic en WooCommerce > Pedidos . Verá que el pedido se ha configurado como Completado , como se muestra a continuación: pedido aprobado

Cómo funciona el código

En el código anterior, he usado el gancho woocommerce_order_status_changed para llamar a una función cuando cambia el estado de un pedido. Comprueba si el pedido tiene el estado Procesando y lo cambia a Completado.

De forma predeterminada, WooCommerce tiene cuatro métodos de pago predeterminados, que son transferencia bancaria directa (bac), pago con cheque (cheque), pago contra reembolso (cod) y PayPal (PayPal). Sin embargo, debe especificar el método de pago para el que está configurando la condición.

b) Pasos para establecer automáticamente el estado del pedido de WooCommerce como completado para productos virtuales

producto descargable: Aprobación automática de pedidos WooCommerce Estos son los pasos que debe seguir:

  1. Inicie sesión en su sitio de WordPress y acceda al Panel como usuario administrador.
  2. En el menú del panel, haga clic en Menú de apariencia > Menú del editor de temas . Cuando se abra la página del Editor de temas , busque el archivo de funciones del tema donde agregaremos la función que establecerá automáticamente el estado del pedido de WooCommerce como completado para productos virtuales.
  3. Agregue el siguiente código al archivo php :
 /**

Fragmento para configurar automáticamente el estado del pedido de WooCommerce como completado para productos virtuales

*/

add_action('woocommerce_order_status_changed', 'njengah_auto_complete_virtual');

función njengah_auto_complete_virtual($order_id)

{

if ( ! $order_id ) {

regreso;

}

$producto global;

$pedido = wc_get_order( $order_id );

if ($pedido->datos['estado'] == 'procesando') {

$orden_virtual = nulo;

if (contar ($pedir->obtener_elementos()) > 0) {

foreach( $pedido->get_items() as $item ) {

if ( 'elemento_línea' == $elemento['tipo'] ) {

$_producto = $pedido->obtener_producto_de_artículo( $artículo );

if ( ! $_producto->es_virtual() ) {

// una vez que encontramos un producto no virtual, sal del ciclo

$orden_virtual = falso;

descanso;

}

demás {

$orden_virtual = verdadero;

}

}

}

}




// si todos son productos virtuales, marcar como completados

if ($orden_virtual) {

$pedido->update_status('completado');

}

}

}

  1. El resultado será el mismo que en el primer ejemplo, ya que el pedido se configurará automáticamente como Completado .

Cómo funciona el código

En el código anterior, he usado el mismo enlace para llamar a la función njengah_auto_complete_virtual. Después de haber verificado si está en estado Procesando, el código revisa cada artículo en el pedido para ver si hay un producto virtual.

line_item hace referencia al producto, y solo es necesario recuperar los productos uno por uno para comprobar si son virtuales. Si no hay ningún producto virtual, el estado del pedido no se marcará como Completado.

Conclusión

En este breve tutorial, he compartido cómo puede configurar automáticamente el estado del pedido de WooCommerce como Completado. Lo he hecho en base al método de pago y para productos virtuales.

Sin embargo, dependiendo de los requisitos que necesite para su tienda, utilizando el primer fragmento de código, puede agregar más condiciones para marcar el estado del pedido como Completado. Por ejemplo, si se realizó el pago, puede marcar el Estado del pedido como Completado incluso para productos no virtuales agregando una verificación en el método de pago después de que verifique si se trata de un producto virtual.

Sin embargo, a través de este fragmento de código, el estado del pedido se establecerá como Completado solo si todos los productos del pedido son productos virtuales. Espero que esta publicación haya proporcionado una solución para aprobar pedidos automáticamente en WooCommerce.

Artículos similares