Soporte » WordPress Avanzado » Ejecutar el contenido de un .php después de finalizar la compra en Woocommerce

  • Resuelto trancedbrain

    (@trancedbrain)


    Hola a todos!.

    Agregué este hook en el archivo functions.php de la plantilla de mi web:

    add_action( 'woocommerce_thankyou', 'wc_custom_redirect_after_purchase' ); 
    function wc_custom_redirect_after_purchase() {
            global $wp;
    
            if ( is_checkout() && ! empty( $wp->query_vars['order-received'] ) ) {
                    wp_redirect( 'https://timegoldsservices.com/prueba.php/' );
                    exit;
            }
    }

    El cual redirecciona a otra página, cuando la compra se finaliza.
    El problema es que al redireccionar, se pierde o deja de visualizarse la página de agradecimiento de Woocomerce.
    No deseo que desaparezca. Solamente necesito que se ejecute el archivo prueba.php

    Gracias de antemano por la ayuda.. un saludo!.`

    • Este debate fue modificado hace 5 meses, 2 semanas por trancedbrain.
    • Este debate fue modificado hace 5 meses, 2 semanas por trancedbrain.
    • Este debate fue modificado hace 5 meses, 2 semanas por trancedbrain.

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)
  • Moderador almendron

    (@almendron)

    Una pregunta: ¿Qué objeto tiene la página a la que redireccionas? ¿Ejecutar código, mostrar algo…?

    Iniciador del debate trancedbrain

    (@trancedbrain)

    Hola.
    Lo que necesito es que al llegar a la página de agradecimiento de Woocommerce (woocommerce-thank-you), se ejecute un código que está en un archivo .php externo al wordpress.
    No es necesario que se redirija a otro sitio; lo único que necesito es lo que menciono.
    Gracias por responder!.
    🙂

    Moderador almendron

    (@almendron)

    Si solo tienes que ejecutar código, basta con que lo pongas en «add_action». En lugar de redireccionar, incluye allí el código que tiene que ejecutarse.

    Iniciador del debate trancedbrain

    (@trancedbrain)

    Cómo debo colocarlo?.
    Disculpa.. soy nuevo con los comandos de WP.
    De momento lo tengo así, pero me gustaría que no salga de la página de woocommerce-thank-you

    
    function wc_custom_redirect_after_purchase() {
            global $wp;
    
            if ( is_checkout() && ! empty( $wp->query_vars['order-received'] ) ) {
                    wp_redirect( 'https://timegoldsservices.com/obtenerid.php/' );
                    exit;
            }
    }
    
    • Esta respuesta fue modificada hace 5 meses, 1 semana por trancedbrain.
    Moderador almendron

    (@almendron)

    Corrijo: dentro de «function», es decir, en lugar de «wp_redirect» metes ahí el código que debe ejecutarse.

    Iniciador del debate trancedbrain

    (@trancedbrain)

    El código a ejecutarse lo tengo en un archivo en .php

    Necesitaría que solamente se ejecute.
    Podría ser algo así?

    
    addAction('archivo.php');
    
    Moderador almendron

    (@almendron)

    add_action( 'woocommerce_thankyou', 'wc_custom_redirect_after_purchase' ); 
    function wc_custom_redirect_after_purchase() {
            global $wp;
    
            if ( is_checkout() && ! empty( $wp->query_vars['order-received'] ) ) {
                    AQUÍ EL CÓDIGO
                    exit;
            }
    }
    Iniciador del debate trancedbrain

    (@trancedbrain)

    Gracias por tu respuesta.
    Una pregunta… el código puede ser php?.

    Disculpa que insista con lo mismo.. habría alguna manera de hacer que se ejecute el código estando en un archivo externo php?.

    hola trancedbrain
    siguiendo lo ultimo que mencionas, solo agrega esto:
    include «RUTA-DE-TU-ARCHIVO-EXTERNO-PHP»)
    saludos

    Moderador almendron

    (@almendron)

Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)
  • Debes estar registrado para responder a este debate.