Avisos
Vaciar todo

Crear cuenta woocommerce usuarios

32 Respuestas
3 Usuarios
0 Reactions
57 Visitas
Respuestas: 16
Active Member
Topic starter
 

Hola, me gustaría que una vez una persona realiza una compra, le llegara un correo de confirmación de que se ha creado su cuenta, con su nombre de usuario y contraseña.

He configurado todo en woocomerce, cuentas y privacidad para que esto sea así, pero no le llega el correo.

He visto en esta página:  https://www.webempresa.com/blog/solo-usuarios-registrados-puedan-finalizar-la-compra-en-woocommerce.html  otra forma de hacerlo para que tengan que registrarse al pagar.

Me gustaría más la primera opción pero si no es posible, la segunda.

¿Cómo puedo hacerlo?
Muchas gracias.

Contenido solo visible a usuarios registrados


 
Respondido : 21/04/2023 4:59 pm
Tags del tema
Pepe
 Pepe
Respuestas: 41129
Illustrious Member Admin
 

Hola Rebeca

Con las opciones que te indique antes cuando haga el pago se creara una cuenta

También puedes forzar a que el usuario tenga que añadir un usuario y una contraseña a la hora de hacer el pedido y esos serán los datos de acceso del usuario

.- Desmarca la Opción Al crear una cuenta, generar automáticamente un nombre de usuario para el cliente basado en su nombre, apellido o correo electrónico

screenshot mary52.webempresa.eu 2023.04.24 15 38 08

 

Un Saludo


 
Respondido : 24/04/2023 1:40 pm
Respuestas: 16
Active Member
Topic starter
 

Pero no les llega el correo cuando les crea esa cuenta, cómo puedo hacer para que les llegue? es lo que me faltaría 🙂


 
Respondido : 28/04/2023 6:53 am
Pepe
 Pepe
Respuestas: 41129
Illustrious Member Admin
 

Hola Rebeca.

Si que llega el Correo, lo estoy comprobando y recibo el correo de nueva cuenta con un enlace para restablecer la contraseña:

screenshot outlook.live.com 2023.04.28 10 22 21

 

Un saludo


 
Respondido : 28/04/2023 8:23 am
Respuestas: 16
Active Member
Topic starter
 

@pepesoler no sé cómo haces para que te llegue ese correo, yo hago un pedido de prueba y sólo llega "¡Hemos recibido tu pedido" pero no esa captura que me dices, que es lo que me gustaría que recibieran además del otro email.


 
Respondido : 28/04/2023 12:53 pm
Pepe
 Pepe
Respuestas: 41129
Illustrious Member Admin
 

Hola Rebeca.

El usuario se registra desde Mi cuenta.

screenshot gadietista.com 2023.04.28 15 05 06

Si quieres que se cree un usuario cuando hagan el pedido tienes que seleccionar Permitir a los clientes crear una cuenta al finalizar compra y Permitir a los clientes crear una cuenta en la página «Mi cuenta».

screenshot masquecms.es 2023.04.28 15 08 55

 

Un Saludo

 


 
Respondido : 28/04/2023 1:41 pm
Respuestas: 16
Active Member
Topic starter
 

esa opción la tengo marcada, las dos, pero no les llega el email al hacceer la compra 🙁


 
Respondido : 28/04/2023 2:16 pm
Karen Rios
Respuestas: 18684
Illustrious Member Moderator
 

Hola Rebeca, 

Envíanos un producto que podamos comprar en 0 para revisar los correos que llegan cuando el cliente procesa su compra, de esta forma podemos revisar que información se muestra. 

Un Saludo 


 
Respondido : 28/04/2023 3:33 pm
Respuestas: 16
Active Member
Topic starter
 

@karen. https://gadietista.com/producto/prueba/


 
Respondido : 28/04/2023 4:01 pm
Karen Rios
Respuestas: 18684
Illustrious Member Moderator
 

Hola Rebeca, 

Veo que si se están creando las cuentas, ten en cuenta que el email tarda un poco en llegar, pero si llega de forma correcta al usuario

image

En este caso veo que todo funciona de forma correcta. 

Un Saludo 


 
Respondido : 28/04/2023 4:14 pm
Respuestas: 16
Active Member
Topic starter
 

¡Muchísimas gracias! podéis comprobarlo aquí en un producto de suscripción?

  https://gadietista.com/producto/prueba/

Si aquí funciona genial, no sé por qué no consigo que me lleguen.

¡Gracias!


 
Respondido : 28/04/2023 4:21 pm
Karen Rios
Respuestas: 18684
Illustrious Member Moderator
 

Hola Rebeca, 

Es posible que sea el correo o algo adicional, revisa si no lo tienes en spam. En este caso no vemos nada adicional ya que en el sitio web todo funciona de forma correcta. 

Un Saludo 


 
Respondido : 28/04/2023 4:28 pm
Respuestas: 16
Active Member
Topic starter
 

¿os ha llegado de nuevo entonces el correo de "reestablecer contraseña de la cuenta" al hacer un pedido de suscripción?

 

No me ha llegado en spam a mi

Gracias!!


 
Respondido : 28/04/2023 4:29 pm
Karen Rios
Respuestas: 18684
Illustrious Member Moderator
 

Hola Rebeca, 

Es correcto llego el correo de forma correcta, por lo que veo todo bien.

Un Saludo 


 
Respondido : 28/04/2023 4:39 pm
Respuestas: 16
Active Member
Topic starter
 
Captura de pantalla 2023 05 03 a las 8.52.22

 

No entiendo el motivo pero lo acabo de intentar de nuevo y sigue (después de media hora) sin llegarme el email de crear una cuenta.

Además, en el producto de suscripción variable no me llega el correo ni para crear una cuenta, ni el de "pago de suscripción realizado"


 
Respondido : 03/05/2023 7:09 am
Pepe
 Pepe
Respuestas: 41129
Illustrious Member Admin
 

Hola Rebeca.

Ok, prueba lo siguiente:

.- Accede a WooCommerce -> Ajustes -> Cuentas y privacidad

.- Desactiva la opción Permitir a los clientes crear una cuenta al finalizar compra.

.- Activa Al crear una cuenta, generar automáticamente una contraseña de cuenta

.- Añade lo siguiente en el archivo functions.php que encontrarás en wp-content -> themes -> tu_plantilla o si utilizas algún plugin para añadir código como puede ser Code Snippets

function action_woocommerce_thankyou( $order_id ) {
    // Determines whether the current visitor is a logged in user.

    if ( is_user_logged_in() ) return;

   
    // Get $order object

    $order = wc_get_order( $order_id );

    // Get the user email from the order

    $order_email = $order->get_billing_email();

    // Check if there are any users with the billing email as user or email

    $email = email_exists( $order_email ); 

    $user = username_exists( $order_email );

    // If the UID is null, then it's a guest checkout (new user)

    if ( $user == false && $email == false ) {

        // Random password with 12 chars

        $random_password = wp_generate_password();
       

        // Firstname

        $first_name = $order->get_billing_first_name();
       

        // Lastname

        $last_name = $order->get_billing_last_name();


        // Role

        $role = 'customer';


        // Create new user with email as username, newly created password and userrole          

        $user_id = wp_insert_user(

            array(

                'user_email' => $order_email,

                'user_login' => $order_email,

                'user_pass'  => $random_password,

                'first_name' => $first_name,

                'last_name'  => $last_name,

                'role'       => $role,

            )

        );
   

        // Get all WooCommerce emails Objects from WC_Emails Object instance

        $emails = WC()->mailer()->get_emails();


        // Send WooCommerce "Customer New Account" email notification with the password

        $emails['WC_Email_Customer_New_Account']->trigger( $user_id, $random_password, true );



        // (Optional) WC guest customer identification

        //update_user_meta( $user_id, 'guest', 'yes' );



        // User's billing data

        update_user_meta( $user_id, 'billing_address_1', $order->get_billing_address_1() );

        update_user_meta( $user_id, 'billing_address_2', $order->get_billing_address_2() );

        update_user_meta( $user_id, 'billing_city', $order->get_billing_city() );

        update_user_meta( $user_id, 'billing_company', $order->get_billing_company() );

        update_user_meta( $user_id, 'billing_country', $order->get_billing_country() );

        update_user_meta( $user_id, 'billing_email', $order_email );

        update_user_meta( $user_id, 'billing_first_name', $order->get_billing_first_name() );

        update_user_meta( $user_id, 'billing_last_name',  $order->get_billing_last_name() );

        update_user_meta( $user_id, 'billing_phone', $order->get_billing_phone() );

        update_user_meta( $user_id, 'billing_postcode', $order->get_billing_postcode() );

        update_user_meta( $user_id, 'billing_state', $order->get_billing_state() );



        // User's shipping data

        update_user_meta( $user_id, 'shipping_address_1', $order->get_shipping_address_1() );

        update_user_meta( $user_id, 'shipping_address_2', $order->get_shipping_address_2() );

        update_user_meta( $user_id, 'shipping_city', $order->get_shipping_city() );

        update_user_meta( $user_id, 'shipping_company', $order->get_shipping_company() );

        update_user_meta( $user_id, 'shipping_country', $order->get_shipping_country() );

        update_user_meta( $user_id, 'shipping_first_name', $order->get_shipping_first_name() );

        update_user_meta( $user_id, 'shipping_last_name', $order->get_shipping_last_name() );

        update_user_meta( $user_id, 'shipping_method', $order->get_shipping_method() );

        update_user_meta( $user_id, 'shipping_postcode', $order->get_shipping_postcode() );

        update_user_meta( $user_id, 'shipping_state', $order->get_shipping_state() );


        // Link past orders to this newly created customer

        wc_update_new_customer_past_orders( $user_id );
 

        // Auto login

        wp_set_current_user( $user_id );

        wp_set_auth_cookie( $user_id );

   

}

add_action( 'woocommerce_thankyou', 'action_woocommerce_thankyou', 10, 1 );


function filter_woocommerce_thankyou_order_received_text( $str, $order ) {

    // Determines whether the current visitor is a logged in user.

    if ( is_user_logged_in() ) return $str;    

    // Get the user email from the order

    $order_email = $order->get_billing_email();

    // Check if there are any users with the billing email as user or email

    $email = email_exists( $order_email ); 

    $user = username_exists( $order_email );


    // If the UID is null, then it's a guest checkout (new user)

    if ( $user == false && $email == false ) {

        // Link

        $link = get_permalink( get_option( 'woocommerce_myaccount_page_id' ) );


        // Format

        $format_link = '<a href="' . $link . '">logged in</a>';


        // Append to orginal string

        $str .= sprintf( __( ' An account has been automatically created for you and you are now %s. You will receive an email about this.', 'woocommerce' ), $format_link );

    }       


    return $str;
}

add_filter( 'woocommerce_thankyou_order_received_text', 'filter_woocommerce_thankyou_order_received_text', 10, 2 );

 

Revisa si con eso se soluciona y nos comentas

Un saludo


 
Respondido : 03/05/2023 9:39 am
Página 2 / 3