Como adicionar verificação de e-mail de registro WooCommerce
Publicados: 2021-05-24Deseja adicionar uma verificação personalizada de e-mail de registro do WooCommerce? Continue lendo, pois este post fornecerá uma solução simples para você.
Não é um processo complicado adicionar a verificação de e-mail de registro do WooCommerce. No entanto, você pode precisar de algumas habilidades básicas de codificação para conseguir isso. Sim, você pode usar um plugin, mas eles podem acabar inchando seu site. Essa também é uma maneira segura de fazer a personalização.
Também recomendamos a criação de um tema filho. Isso garantirá que suas alterações não sejam perdidas durante uma atualização.
Adicionar verificação de e-mail de registro do WooCommerce
Ao final desta postagem, você poderá adicionar a verificação de e-mail de registro do WooCommerce. Criamos um snippet de código personalizado para conseguir isso. Vamos orientá-lo em todas as etapas que você precisa seguir para facilitar a implementação desta solução para iniciantes.
Vamos direto ao assunto.
Etapas para adicionar a verificação de e-mail de registro do WooCommerce
Antes de continuar, lembre-se de fazer backup do seu site. Isso ajudará você a reverter para a versão anterior se ocorrer um problema.
Aqui estão os passos simples que você precisa seguir:
- Faça login no seu site WordPress e acesse o Dashboard como usuário administrador.
- No menu Dashboard, clique em Appearance Menu > Theme Editor Menu . Quando a página Theme Editor for aberta, procure o arquivo de funções do tema onde adicionaremos a função que adicionará a funcionalidade GTIN Number em Produtos no WooCommerce.
- Adicione o seguinte código ao arquivo php :
// this is just to prevent the user log in automatically after register function wc_registration_redirect( $redirect_to ) { wp_logout(); wp_redirect( '/sign-in/?q='); exit; } // when user login, we will check whether this guy email is verify function wp_authenticate_user( $userdata ) { $isActivated = get_user_meta($userdata->ID, 'is_activated', true); if ( !$isActivated ) { $userdata = new WP_Error( 'inkfool_confirmation_error', __( '<strong>ERROR:</strong> Your account has to be activated before you can login. You can resend by clicking <a href="/sign-in/?u='.$userdata->ID.'">here</a>', 'inkfool' ) ); } &return $userdata; } // when a user register we need to send them an email to verify their account function my_user_register($user_id) { // get user data $user_info = get_userdata($user_id); // create md5 code to verify later $code = md5(time()); // make it into a code to send it to user via email $string = array('id'=>$user_id, 'code'=>$code); // create the activation code and activation status update_user_meta($user_id, 'is_activated', 0); update_user_meta($user_id, 'activationcode', $code); ; // create the url $url = get_site_url(). '/sign-in/?p=' .base64_encode( serialize($string)); // basically we will edit here to make this nicer $html = 'Please click the following links <br/><br/> <a href="'.$url.'">'.$url.'</a>'; // send an email out to user wc_mail($user_info->user_email, __('Please activate your account'), $html); } // we need this to handle all the getty hacks i made function my_init(){ // check whether we get the activation message if(isset($_GET['p'])){ $data = unserialize(base64_decode($_GET['p'])); $code = get_user_meta($data['id'], 'activationcode', true); // check whether the code given is the same as ours if($code == $data['code']){ // update the db on the activation process update_user_meta($data['id'], 'is_activated', 1); wc_add_notice( __( '<strong>Success:</strong> Your account has been activated! ', 'inkfool' )  ); }else{ wc_add_notice( __( '<strong>Error:</strong> Activation fails, please contact our administrator. ', 'inkfool' )  ); } } if(isset($_GET['q'])){ wc_add_notice( __( '<strong>Error:</strong> Your account has to be activated before you can login. Please check your email.', 'inkfool' ) ); } if(isset($_GET['u'])){ my_user_register($_GET['u']); wc_add_notice( __( '<strong>Succes:</strong> Your activation email has been resend. Please check your email.', 'inkfool' ) ); } } // hooks handler add_action( 'init', 'my_init' ); add_filter('woocommerce_registration_redirect', 'wc_registration_redirect'); add_filter('wp_authenticate_user', 'wp_authenticate_user',10,2); add_action('user_register', 'my_user_register',10,2);
Conclusão
Até agora, os clientes em sua loja devem verificar seus e-mails após o registro para que possam comprar produtos em sua loja. Este código foi testado e funciona bem.
Se você tiver problemas para implementar esta solução, você deve deixar um profissional inserir o código para você ou usar um plugin.
Esperamos que esta solução tenha ajudado você a adicionar a verificação de e-mail de registro do WooCommerce.
Artigos semelhantes
- Os 30 melhores plug-ins de reserva do WordPress para reservas on-line
- Como adicionar lista de desejos no WooCommerce
- Como criar paginação numérica no WordPress sem usar plugin
- Como alterar o slogan do tema da loja WooCommerce
- Como adicionar login social no WooCommerce Login social
- Como adicionar o botão Visualizar carrinho no WooCommerce
- Como selecionar todos, exceto o último filho em CSS » CSS Not Last Child Example
- Como instalar o Pixel do Facebook no WooCommerce
- Como enviar e-mail na mudança de status no WooCommerce
- Como alterar o modelo de e-mail no WooCommerce
- Como verificar se o usuário está logado no WordPress
- Como remover categoria sem categoria no WordPress WooCommerce
- Como configurar o WooCommerce Compre um e ganhe um
- Como adicionar SKU de produto no WooCommerce
- Como remover o título da categoria do produto WooCommerce
- Mais de 30 melhores plugins de pesquisa do WordPress para melhorar a pesquisa e o SEO do seu site
- Como criar páginas separadas de login e registro no WooCommerce