こんにちは。
Wordpressでアカウント毎に最大同時ログイン数を制限したく、調べていたところ下記のような参考コードがあったのですが、
そのままfunciton.phpに貼り付けると「技術的なエラー」と表示されてしまいます。
どうしたらよろしいでしょうか?
よろしくお願いします。
PHP
1function check_current_account_login_session( $user_login ){ 2 3 $user = get_user_by( 'login', $user_login ); 4 $userID = $user->data->ID; 5 $manager = ''; 6 $manager = WP_Session_Tokens::get_instance( $userID ); 7 $allSession = ''; 8 $allSession = $manager->get_all(); 9 10 // 最大同時ログイン数 11 $iAcceptableMaxSession = 3; 12 13 // ログインしようとしているアカウントの現在のログイン数 14 $iCurrentUserAllSession = count( $allSession ); 15 16 if( $iAcceptableMaxSession < $iCurrentUserAllSession ){ 17 18 add_filter( 'authenticate', 'set_authentication_error', 40, 1 ); 19 } 20} 21 22add_action( 'wp_authenticate', 'check_current_account_login_session', 5, 1 ); 23 24function set_authentication_error(){ 25 return new WP_Error( 'over_login_session_limit', '有効同時ログイン数が上限に達しています。' ); 26}
回答2件
あなたの回答
tips
プレビュー