Saltar al contenido

woocommerce_order_status_completed no activado

Contamos con la mejor información que encontramos por todo internet. Esperamos que te resulte de ayuda y si deseas comentarnos algo que nos pueda ayudar a mejorar hazlo con total libertad.

Solución:

Verifique los siguientes pasos antes de llamar a su gancho.

  1. Compruebe si se envía el correo electrónico de finalización del pedido.

  2. Hook está registrado correctamente en el archivo de complemento o funciones de tema.php

add_action( 'woocommerce_order_status_completed','callback_function_name' );
global $wp_filter;
print_r($wp_filter);
exit;

Compruebe si el nombre de su función de devolución de llamada está en el gancho array:

[woocommerce_order_status_completed] => Array
    (
        [10] => Array
            (
                [wc_paying_customer] => Array
                    (
                        [function] => wc_paying_customer
                        [accepted_args] => 1
                    )

                [wc_downloadable_product_permissions] => Array
                    (
                        [function] => wc_downloadable_product_permissions
                        [accepted_args] => 1
                    )

                [callback_function_name] => Array
                    (
                        [function] => callback_function_name
                        [accepted_args] => 3
                    )

            )

    )

Si lo encuentra, entonces todo está bien, significa que probablemente haya un problema con su tema o archivo functions.php. Verifique la función de enlace o devolución de llamada en sus archivos y luego busque remove_action o remove_all_actions eso es probablemente lo que impide que se llame a su gancho.

También puedes consultar de esta manera

add_action( 'woocommerce_order_status_completed', 'callback_function_name', 1);

Cambie la prioridad de su gancho de 10 a 1 para que se llame primero que cualquier otra acción o gancho.

Puedes usar este gancho

add_action( 'woocommerce_order_status_changed', 'your_function', 99, 4 );

Y la función se verá como

function your_function( $order_id, $old_status, $new_status, $order )
    if( $new_status == "completed" ) 
        //your code here
    

Esperamos que esto sea útil.

Puntuaciones y reseñas

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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