Я объединил эту проверку с проверкой подарка из этого кода вопроса, который вы сделали ранее, поэтому вы удалите его из своего действительного кода, поскольку эта функция обрабатывает их обоих:
add_action('woocommerce_after_checkout_validation', 'gift_custom_field_validation', 20, 2 );
function gift_custom_field_validation( $data, $errors ) {
// Validating that "Gift" is not empty when selected
if( isset($_POST['gift_msg']) && isset($_POST['gift']) && empty($_POST['gift']) )
$errors->add( 'gift', __( "You've chosen to send this as a gift, but did not submit a recipient email address.", "woocommerce" ) );
// Validating that "Gift" imputed email is different from billing email
if ( isset($_POST['gift']) && $data['billing_email'] === $_POST['gift'] ) {
$errors->add( 'gift', __( "To send as gift, you cannot send it to yourself. That's the point of a gift, isn't it?", "woocommerce" ) );
}
}
Код входит вФайл function.php вашей активной дочерней темы (active theme).Проверено и работает.