Вот решение. В виде плагина ставите и всё...
По мере необходимости наполнять вручную.
Да, решение так себе, но я автоматических умных альтернатив не вижу или не нашёл. И другие как я понял кроме теории и гугла ничё не знают как и что.
Поэтому кому надо юзайте такое:
<?php
/**
* Plugin Name: Off_fake_email
* Plugin URI: https://wpruse.ru/?p=2609
* Description: Плагин под WooCommerce. Off-fake-email
* Version: 1.0
* Author: Egor Grigoriev
* Author URI: https://wpruse.ru/
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
* Text Domain:
* Domain Path:
*
* WC requires at least: 3.3.0
* WC tested up to: 3.3.5
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
/**
* Запрещаем создание аккаунтов со временными адресами электронной почты
* @param Object $validation_errors
* @param string $username
* @param string $email
* @return WP_Error
*/
function do_not_allow_temp_email_addresses( $validation_errors, $username, $email ) {
$prohibitied_domains = array(
'sharklasers.com',
'grr.la',
'guerrillamail.biz',
'guerrillamail.com',
'guerrillamail.de',
'guerrillamail.net',
'guerrillamail.org',
'guerrillamailblock.com',
'spam4.me',
'rc3s.com',
'olips.ru',
);
$email_domain = explode( '@', $email )[1];
if ( in_array( $email_domain, $prohibitied_domains ) ) {
return new WP_Error( 'registration-error-bad-email', __( 'Пожалуйста, используйте корректный email адрес.' ) );
}
return $validation_errors;
} // Завершаем do_not_allow_temp_email_addresses()
add_filter( 'woocommerce_registration_errors', 'do_not_allow_temp_email_addresses', 10, 3 );