Completar pedidos automáticamente en WooCommerce

Código y plugins para completar los pedidos de WooCommerce automáticamente.

Como casi todo en WordPress y Woocommerce podemos forzar que WooCommerce complete los pedidos automáticamente bien añadiendo código en el archivo functios.php o bien por medio de un plugin si os asusta tocar el código interno de la web.

Banner-Diseno WEB javier callejo-2022

Si eliges la primera opción te recomiendo fehacientemente que trabajes siempre con un tema hijo, ya que así los cambios no se borraran al actualizar el sistema y si cometemos cualquier fallo qué estropee nuestra web podemos solucionarlo cambiando de plantilla si el fallo viene de ahí.

Completar pedidos automáticamente en WooCommerce con código.

Para añadir esta función deberemos entrar a los ficheros internos de nuestra web bien desde el panel de nuestro servidor de hosting o bien desde algún programa como Filezilla si tenemos acceso FTP.

El archivo que tenemos que modificar está en la ruta wp-content/themes/tuplantilla/functios.php.

TU WEB EN LAS PRIMERAS POSICIONES DE BÚSQUEDA

Sitúo tu web en la primera posiciones de búsqueda con creación de contenido y Copywriting, enlaces en medios digitales, publicidad en Google y otras técnicas de posicionamiento SEO Profesional.

🔥¡Descubre el verdadero potencial de tu sitio Web!🔥

Debajo de todo el código que ya ya vamos a añadir esta nueva función.

// Completar pedidos automáticamente
add_action( 'woocommerce_order_status_processing', 'actualiza_estado_pedidos_a_completado' );
add_action( 'woocommerce_order_status_on-hold', 'actualiza_estado_pedidos_a_completado' );
function actualiza_estado_pedidos_a_completado( $order_id ) {
    global $woocommerce;
    
    //ID's de las pasarelas de pago a las que afecta
    $paymentMethods = array( 'bacs', 'cheque', 'cod', 'paypal' );
    
    if ( !$order_id ) return;
    $order = new WC_Order( $order_id );

    if ( !in_array( $order->payment_method, $paymentMethods ) ) return;
    $order->update_status( 'completed' );
}

En este código el estamos indicando a WooCommerce que cuando un pedido tenga el estado procesado o en espera, se cambie automáticamente con la función cambiar estado de pedido, siempre y cuando esté se haya pagado con alguno de los métodos aceptados, que podremos quitar añadir en la línea.

La relación de métodos de pago WooCommerce son:

  • Transferencia bancaria: ‘bacs’
  • Contrareembolso: ‘cod’
  • Pago con cheque: ‘cheque’
  • Pago por PayPal: ‘paypal’
  • PayPal Express: ‘ppec_paypal’
  • Pasarela Stripe: ‘stripe’
  • Pasarela RedSys: ‘redsys’

Cambiar ajustes de correo electrónico

completar pedidos automáticamente en WooCommerce correo

Con esto el sistema ya podría completar pedidos automáticamente en WooCommerce, sin embargo no queremos que al cliente le lleguen dos correos cuando esto suceda el nuevo pedido y seguidamente el de pedido completado.

Publicaciones Similares

5 comentarios

    1. Buenos días Pedro. Sin ver un poco más no te puedo decir con exactitud, pero con el código prueba a ver si es posible que falte la opción Redsys en:

      //ID’s de las pasarelas de pago a las que afecta
      $paymentMethods = array( ‘bacs’, ‘cheque’, ‘cod’, ‘paypal’ );

  1. Hola, me sucede que mis pedidos se autocompletan automáticamente, pero necesito que pasen al estado procesando ya que al estar en completado automáticamente no me llega la notificación de pedido nuevo. Por favor ncesito ayuda.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *