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

Условия авторизации на измененный wp-login

Изменил страницу входа на auth.php

add_action( 'wp_login_failed', 'pu_login_failed' ); // hook failed login
function pu_login_failed( $user ) {
	  $users = get_user_by('login', $user);
	  $user_id = $users->ID;
	  $user_blacklist = get_user_meta($user_id, 'blacklist', true);
	 // 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 ( $user_blacklist == '1' ) {
				 wp_redirect( $referrer . '/auth/?errors=2');
		 } else
		  if ( !strstr($referrer, '/auth/' ) || !strstr($referrer, '/auth/?errors=1' )) {
			   // Redirect to the login page and append a querystring of login failed
		  wp_redirect( $referrer . '/auth/?errors=1');
		 } else {
			   wp_redirect( $referrer );
		 }
		 exit;
	 }
}

add_action( 'authenticate', 'pu_blank_login');

function pu_blank_login( $user ){
	$users = get_user_by('login', $user);
	  $user_id = $users->ID;
	  $user_blacklist = get_user_meta($user_id, 'blacklist', true);
	// 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 ) {

	  if($user_blacklist == '1') {
		  wp_redirect( $referrer . '/auth/?errors=2' );
		} else if ( !strstr($referrer, '/auth/') || !strstr($referrer, '/auth/?errors=1')) {
			// Redirect to the login page and append a querystring of login failed
			wp_redirect( $referrer . '/auth/?errors=1' );
		} else  {
		  wp_redirect( $referrer );
		}

	exit;

	}
}

Но обработчик пропускает проверку

if ( $user_blacklist == '1' ) {

Может я что не там написал?

0
MHugo 22 дня назад

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

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