Comment ajouter la vérification des e-mails d'inscription à WooCommerce
Publié: 2021-05-24Voulez-vous ajouter une vérification personnalisée de l'e-mail d'inscription à WooCommerce ? Lisez la suite, car cet article vous fournira une solution simple.
Ce n'est pas un processus compliqué d'ajouter la vérification des e-mails d'inscription à WooCommerce. Cependant, vous aurez peut-être besoin de quelques compétences de base en codage pour y parvenir. Oui, vous pouvez utiliser un plugin, mais ils peuvent finir par gonfler votre site. C'est aussi un moyen sûr de faire de la personnalisation.
Nous vous recommandons également de créer un thème enfant. Cela garantira que vos modifications ne seront pas perdues lors d'une mise à jour.
Ajouter la vérification de l'e-mail d'inscription à WooCommerce
À la fin de cet article, vous pourrez ajouter la vérification des e-mails d'inscription à WooCommerce. Nous avons créé un extrait de code personnalisé pour y parvenir. Nous vous guiderons à travers toutes les étapes à suivre pour faciliter la mise en œuvre de cette solution par les débutants.
Allons droit au but.
Étapes pour ajouter la vérification des e-mails d'inscription à WooCommerce
Avant de continuer, n'oubliez pas de sauvegarder votre site. Cela vous aidera à revenir à la version précédente en cas de problème.
Voici les étapes simples que vous devez suivre :
- Connectez-vous à votre site WordPress et accédez au tableau de bord en tant qu'utilisateur administrateur.
- Dans le menu Dashboard, cliquez sur Appearance Menu > Theme Editor Menu . Lorsque la page de l'éditeur de thème est ouverte, recherchez le fichier de fonctions de thème où nous ajouterons la fonction qui ajoutera la fonctionnalité de numéro GTIN sur les produits dans WooCommerce.
- Ajoutez le code suivant au fichier 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);
Conclusion
À présent, les clients de votre magasin doivent vérifier leurs e-mails après leur inscription pour pouvoir acheter des produits dans votre magasin. Ce code a été testé et fonctionne bien.
Si vous rencontrez un problème pour mettre en œuvre cette solution, vous devez laisser un professionnel insérer le code pour vous ou utiliser un plugin.
Nous espérons que cette solution vous a aidé à ajouter la vérification des e-mails d'inscription à WooCommerce.
Articles similaires
- Top 30+ des meilleurs plugins de réservation WordPress pour la réservation en ligne
- Comment ajouter une liste de souhaits dans WooCommerce
- Comment créer une pagination numérique dans WordPress sans utiliser de plugin
- Comment changer le slogan du thème de vitrine WooCommerce
- Comment ajouter une connexion sociale dans la connexion sociale WooCommerce
- Comment ajouter un bouton Afficher le panier dans WooCommerce
- Comment sélectionner tout sauf le dernier enfant dans CSS » CSS Not Last Child Example
- Comment installer Facebook Pixel sur WooCommerce
- Comment envoyer un e-mail lors d'un changement de statut dans WooCommerce
- Comment changer le modèle d'e-mail dans WooCommerce
- Comment vérifier si l'utilisateur est connecté WordPress
- Comment supprimer une catégorie non catégorisée dans WordPress WooCommerce
- Comment configurer WooCommerce Achetez-en un, obtenez-en un
- Comment ajouter un SKU de produit dans WooCommerce
- Comment supprimer le titre de la catégorie de produit WooCommerce
- 30+ meilleurs plugins de recherche WordPress pour améliorer la recherche et le référencement de votre site
- Comment créer des pages de connexion et d'inscription séparées dans WooCommerce