Модератор
Yui
(@fierevere)
永子
не разрешать вход, если есть другая сессия:
add_filter( 'authenticate','one_session_per_user', 30, 3 );
function one_session_per_user( $user, $username, $password ) {
$sessions = WP_Session_Tokens::get_instance( $user->ID );
$all_sessions = $sessions->get_all();
if ( count($all_sessions) ) {
$user = new WP_Error(‘already_signed_in’, __(‘<strong>ERROR</strong>: User already logged in.’));
}
return $user;
}
разлогинить другие сессии и войти:
add_filter('authenticate', 'wpse_12282015_single_login_authenticate', 0, 3);
function wpse_12282015_single_login_authenticate($user, $username, $password) {
$user = get_user_by('login', $username);
if( isset($user->ID) ){
if(isset($user->roles) && is_array($user->roles)) {
//check for admins
if(in_array('administrator', $user->roles)) {
// admin can log in more than once
return $user;
}
}
// get all sessions for user
$sessions = WP_Session_Tokens::get_instance($user->ID);
// destroy everything since we'll be logging in shortly
$sessions->destroy_all();
}
return $user;
}
Anonymous User 17160716
(@anonymized-17160716)
adikambarov, приветствую.
Сразу вопрос: зачем это нужно?
Можете ограничить кол-во допустимых сессий (1) на пользователя (это умеет делать плагин «WP Bouncer»).
Помоги пожалуйста, можешь подсказать куда вставить эти коды? или в function.php
Anonymous User 17160716
(@anonymized-17160716)
adikambarov, да, можно в functions.php, можно в функциональный плагин.
@m0ze спасибо щас попробую
@fierevere хочу сделать платный контент.
Модератор
Yui
(@fierevere)
永子
не нужно пингать по имени пользователя, тем более я у вас это не спрашивала.
@fierevere Здравствуйте, у меня возникло проблема я установил тему Kava от компании crocoblock
и в function.php написал коды которые вы отправили но выводит ошибку: syntax error, unexpected ‘>’
-
Ответ изменён 4 года, 11 месяцев назад пользователем adikambarov.
anonymized-14765447
(@anonymized-14765447)
adikambarov, привет.
Во-первых (опять):
@ᶂierevere Здравствуйте…
не нужно пингать по имени пользователя, тем более я у вас это не спрашивала.
В сообщениях @name
— пинг.
Во-вторых:
в function.php написал коды
Куда именно? Как?
syntax error, unexpected ‘>’
Обычно указывается ещё и строчка в файле. В вашем случае это..?
Для профилактики проверьте кавычки, потом посмотрите на номер строчки в сообщении об ошибке.