WooCommerce登録のEメール検証を追加する方法
公開: 2021-05-24カスタムのWooCommerce登録メール確認を追加しますか? この投稿はあなたに簡単な解決策を提供するので、読んでください。
WooCommerce登録メールの確認を追加するのは複雑なプロセスではありません。 ただし、これを実現するには、基本的なコーディングスキルが必要になる場合があります。 はい、プラグインを使用できますが、プラグインによってサイトが肥大化する可能性があります。 これは、カスタマイズを行うための安全な方法でもあります。
また、子テーマを作成することをお勧めします。 これにより、更新中に変更が失われないようになります。
WooCommerce登録の電子メール検証を追加する
この投稿の終わりまでに、WooCommerce登録メールの確認を追加できるようになります。 これを実現するために、カスタムコードスニペットを作成しました。 初心者がこのソリューションを簡単に実装できるようにするために必要なすべての手順を説明します。
さっそく始めましょう。
WooCommerce登録のEメール検証を追加する手順
続行する前に、サイトをバックアップすることを忘れないでください。 これは、問題が発生した場合に以前のバージョンに戻すのに役立ちます。
従う必要のある簡単な手順は次のとおりです。
- WordPressサイトにログインし、管理者ユーザーとしてダッシュボードにアクセスします。
- [ダッシュボード]メニューから、[外観メニュー]> [テーマエディターメニュー]をクリックします。 テーマエディタページが開いたら、WooCommerceの製品にGTIN番号機能を追加する関数を追加するテーマ関数ファイルを探します。
- 次のコードを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);
結論
これまでに、ストアの顧客は、ストアで製品を購入するために、登録後に電子メールを確認する必要があります。 このコードはテスト済みで、正常に機能します。
このソリューションの実装に問題がある場合は、専門家にコードを挿入させるか、プラグインを使用する必要があります。
このソリューションが、WooCommerce登録メールの確認を追加するのに役立つことを願っています。
同様の記事
- オンライン予約のためのトップ30以上の最高のWordPress予約プラグイン
- WooCommerceにウィッシュリストを追加する方法
- プラグインを使用せずにWordPressで番号のページネーションを作成する方法
- ストアフロントのテーマタグラインWooCommerceを変更する方法
- WooCommerceソーシャルログインでソーシャルログインを追加する方法
- WooCommerceでビューカートボタンを追加する方法
- CSSで最後の子を除くすべてを選択する方法»CSSは最後の子ではない例
- WooCommerceにFacebookPixelをインストールする方法
- WooCommerceでステータス変更時にメールを送信する方法
- WooCommerceでメールテンプレートを変更する方法
- ユーザーがWordPressにログインしているかどうかを確認する方法
- WordPressWooCommerceで未分類のカテゴリを削除する方法
- WooCommerceの設定方法BuyOne Get One
- WooCommerceで製品SKUを追加する方法
- 製品カテゴリのタイトルを削除する方法WooCommerce
- あなたのサイト検索とSEOを改善するための30以上の最高のWordPress検索プラグイン
- WooCommerceで個別のログインページと登録ページを作成する方法