サポート » プラグイン » User Access Manager で[LOGIN_FORM] を使用し、ログインエラーになった場合の処理を変更したい

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    下記コードではどうでしょうか?ただし、セキュリティ系のプラグインをインストールしていると機能しないかもしれませんので、ご注意ください。

    テーマの functions.php に、

    function my_login_failed() {
    	$referrer = $_SERVER['HTTP_REFERER'];
    	if ( ! empty( $referrer ) && ! strstr( $referrer, 'wp-login' ) && ! strstr( $referrer, 'wp-admin' ) ) {
    		if ( ! empty( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] != 'loggedout=true' ) {
    			$referrer = add_query_arg( 'login', 'failed', $referrer );
    		} else {
    			$referrer = remove_query_arg( 'login', $referrer );
    		}
    		wp_redirect( $referrer );
    		exit;
    	}
    }
    add_action( 'wp_login_failed', 'my_login_failed' );
    
    function my_authenticate( $user, $username, $password ) {
    	if ( empty( $username ) || empty( $password ) ) {
    		do_action( 'wp_login_failed', $user );
    	}
    	return $user;
    }
    add_action( 'authenticate', 'my_authenticate', 10, 3 );

    LoginForm.php の適当な位置に、

    <?php if ( isset( $_GET['login'] ) && $_GET['login'] == 'failed' ) { echo "<strong>エラー</strong>: ユーザー名またはパスワードが違います。"; } ?>

    スレッド開始 erimerci

    (@erimerci)

    ishitaka様

    お世話になります。
    早速、仰る通りに試させていただき、みごと、奇跡のように実現出来ました!!
    イチからphp初心者本でやってみるところでしたので、ほんとうに感謝します。
    ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「User Access Manager で[LOGIN_FORM] を使用し、ログインエラーになった場合の処理を変更したい」には新たに返信することはできません。