Фильтр аутентификации Wordpress - PullRequest
3 голосов
/ 20 января 2010

В настоящее время я пытаюсь переопределить функцию WordPress wp_authenticate (без изменения основных файлов, в основном pluggable.php), однако я не уверен, правильно ли я поступлю. Есть две отличные ссылки (см. Ниже), но они явно не указывают, что делать, чтобы предотвратить вход в систему при условии соблюдения определенных критериев.

Короче, я пытаюсь запретить зарегистрированным пользователям, которые не активировали свою учетную запись. Я уже реализовал создание пользователя с уникальным идентификатором md5 в таблице usermeta (прикрепленной к его идентификатору пользователя). Я в основном пытаюсь проверить это значение «activ_key» в таблице usermeta при входе в систему, если значение существует, я хочу предотвратить вход в систему.

Кажется, что фильтр аутентификации - это именно то, что мне нужно, но после его изменения и помещения в файл functions.php он не работает! Вход в систему происходит в обычном режиме.

Ссылки:

Как подключиться к системе входа в Wordpress, чтобы программно остановить некоторых пользователей?

http://willnorris.com/2009/03/authentication-in-wordpress-28

1 Ответ

2 голосов
/ 21 января 2010

Я действительно нашел работу вокруг.

Используя пользовательскую форму, вы можете войти в Wordpress с помощью функции wp_signon.

var $creds = array();
$creds['user_login'] = 'example';
$creds['user_password'] = 'plaintextpw';
$creds['remember'] = true;
//check if user has an activation key in the usermeta table
$user = get_userdatabylogin($creds['user_login']); 
if(get_usermeta($user->ID,'activation_key')) { 
} else {
$procLogin = wp_signon( $creds, false );
if ( is_wp_error($procLogin) ) {
echo $user->get_error_message();
} 
echo 'success!';
}

надеюсь, что это поможет кому-то там

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...