Вход в Woocommerce: если учетная запись пользователя не существует, отображается ошибка - PullRequest
2 голосов
/ 16 апреля 2019

В настоящее время, когда пользователь пытается войти с электронной почтой / именем пользователя, которое не существует, эта ошибка woocommerce по умолчанию отображается:

enter image description here

Япробная проверка: Если электронная почта / имя пользователя НЕ существует, отобразите другое сообщение .

например "У этой учетной записи нет учетной записи, создайте ее."

Хук woocommerce_registration_error_email_exists проверяет, пытался ли пользователь зарегистрироваться по электронной почте, которая уже существует, поэтому я пытаюсь отменить это с помощью !email_exists - Может ли это быть применено к полю входа?

Мой код ниже не запускается и по-прежнему отображает сообщение по умолчанию:

add_filter( 'woocommerce_registration_error_email_exists', 'no_account_found' );

function no_account_found($email, $username = '', $password = '' ){

  if ( !email_exists( $email ) ) {
            return new WP_Error( 'registration-error-email-exists', apply_filters( 'woocommerce_registration_error_email_exists', __( 'No account found with this email. Please create one.', 'woocommerce' ), $email ) );
        }
}

1 Ответ

1 голос
/ 16 апреля 2019

email_exists( string $email ) возвращает идентификатор пользователя в случае успеха и false при ошибке.

Так что попробуйте изменить ваше состояние следующим образом:

<?php

add_filter( 'woocommerce_registration_error_email_exists', 'no_account_found' );

function no_account_found($email, $username = '', $password = '' ){

  if (email_exists($email) ) {

            //the email exists do something
        }else{
            //email does not exist
            return new WP_Error( 'registration-error-email-exists', apply_filters( 'woocommerce_registration_error_email_exists', __( 'No account found with this email. Please create one.', 'woocommerce' ), $email ) );          
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...