• 19-04-2021, 12:04:07
    #1
    Merhaba ödeme alan bir sitemde sepet adımından sonra ad, soyad, mail, ülke gibi bilgilerin girildiği alanda mail kısmında gmail, hotmail, yandex ile biten maillerin kabul edilmemesini nasıl sağlayabilirim. Bu konuda bir bilgisi olan arkadaşlar yardımcı olabilir mi?
  • 19-04-2021, 12:17:40
    #2
    Üyeliği durduruldu
    Temanızın functions.php dosyasına bu kodu eklerseniz istediğiniz gibi olacaktır:
    add_action( 'woocommerce_after_checkout_validation', 'custom_validation_email', 10, 2);
     
    function custom_validation_email( $fields, $errors ){
        $domain_names = ['gmail.com', 'yandex.com', 'yahoo.com'];
        
        $valid = true;
        
        $email_domain = count(explode('@', $fields['billing_email'])) > 1 ? explode('@', $fields['billing_email'])[1] : '';
        $email_domain = strtolower($email_domain);
        
        foreach($domain_names as $domain_name) {
            if($email_domain == $domain_name) {
                $valid = false;
            }
        }
        
        if(!$valid) {
             $errors->add('validation', 'Gmail, Yandex ve Yahoo mail adreslerini kullanamazsınız.');
        }
    }
  • 19-04-2021, 13:27:05
    #3
    awoken adlı üyeden alıntı: mesajı görüntüle
    Temanızın functions.php dosyasına bu kodu eklerseniz istediğiniz gibi olacaktır:
    add_action( 'woocommerce_after_checkout_validation', 'custom_validation_email', 10, 2);
     
    function custom_validation_email( $fields, $errors ){
        $domain_names = ['gmail.com', 'yandex.com', 'yahoo.com'];
        
        $valid = true;
        
        $email_domain = count(explode('@', $fields['billing_email'])) > 1 ? explode('@', $fields['billing_email'])[1] : '';
        $email_domain = strtolower($email_domain);
        
        foreach($domain_names as $domain_name) {
            if($email_domain == $domain_name) {
                $valid = false;
            }
        }
        
        if(!$valid) {
             $errors->add('validation', 'Gmail, Yandex ve Yahoo mail adreslerini kullanamazsınız.');
        }
    }

    Çok teşekkür ederim hocam tam istediğim gibi çalışıyor.