WordPress как на ладони
wordpress jino

Не работает функция проверки пользователей при авторизации

Здравствуйте! Я переписал функцию входа на сайт так, чтобы при неправильном логине или пароле мне переходило не на wp-login а на страницу моего сайта

код с function.php

add_action( 'wp_login_failed', 'pu_login_failed' ); // hook failed login

function pu_login_failed( $user ) {
	 // check what page the login attempt is coming from
	 $referrer = $_SERVER['HTTP_REFERER'];
	 // check that were not on the default login page
	 if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') && $user!=null ) {
		  // make sure we don't already have a failed login attempt
		  if ( !strstr($referrer, '/auth/' )) {
			   // Redirect to the login page and append a querystring of login failed
		  wp_redirect( $referrer . '/auth/');
		 } else 
			   wwp_redirect( $referrer );
		 exit;
	 }
}

add_action( 'authenticate', 'pu_blank_login');

function pu_blank_login( $user ){
	// check what page the login attempt is coming from
	$referrer = $_SERVER['HTTP_REFERER'];

	$error = false;

	if($_POST['log'] == '' || $_POST['pwd'] == '')
	{
		$error = true;
	}

	// check that were not on the default login page
	if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') && $error ) {

		// make sure we don't already have a failed login attempt
		if ( !strstr($referrer, '/auth/' )) {
			// Redirect to the login page and append a querystring of login failed
			wp_redirect( $referrer . '/auth/' );
		} else { 

			wp_redirect( $referrer );
		}

	exit;

	}
}   }
}

Это все работает, но теперь мне нужно добавить проверку

global $wpdb;
$access = $wpdb->get_var("SELECT `access` FROM `wp_users` WHERE `user_email` = '$user'");
...
if ( $access != '1') {
wp_redirect( $referrer . '/auth/' );
}

как я только не пробовал вставить эту проверку в функции, ничего не получается. Функции просто игнорируют условие.

Подскажите пожалуйста, что я делаю не так?

Kama 28 дней назад

НЕ понятно по коду, что есть что надо доказать...

0
MHugo месяц назад

Нет ответов на этот вопрос.

На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.