5件の返信を表示中 - 1 - 5件目 (全5件中)
  • higasanさん、こんにちは。

    単純に is_page で判定してしまってはいかがでしょうか。

    WordPressページだったらリダイレクトしないでよさそうな気がします。

    ご参考になれば。

    こんにちは

    パスワード保護は wp-login.php で処理されているので、その処理と同じこと(case 'postpass': から case 'logout': の間のコード)をすればいいかと思います。

    例:

    if( 'wp-login.php' == $pagenow ) {
    wp_redirect( home_url() );
    exit();
    }

    if ( 'wp-login.php' === $pagenow ) {
    	if ( isset( $_REQUEST['action'] ) && 'postpass' === $_REQUEST['action'] ) {
    		if ( array_key_exists( 'post_password', $_POST ) ) {
    			require_once ABSPATH . WPINC . '/class-phpass.php';
    			$hasher = new PasswordHash( 8, true );
    
    			$expire  = apply_filters( 'post_password_expires', time() + 10 * DAY_IN_SECONDS );
    			$referer = wp_get_referer();
    
    			if ( $referer ) {
    				$secure = ( 'https' === parse_url( $referer, PHP_URL_SCHEME ) );
    			} else {
    				$secure = false;
    			}
    
    			setcookie( 'wp-postpass_' . COOKIEHASH, $hasher->HashPassword( wp_unslash( $_POST['post_password'] ) ), $expire, COOKIEPATH, COOKIE_DOMAIN, $secure );
    
    			wp_safe_redirect( wp_get_referer() );
    			exit();
    		}
    	}
    	wp_safe_redirect( home_url() );
    	exit();
    }
    トピック投稿者 higasan

    (@higasan)

    shokun0803様、こんばんは。

    ご教授ありがとうございます。

    記事ページやカスタム投稿タイプでも、パスワード保護を使う可能性があるので、
    やはりaction=postpassをリダイレクトの対象から外せるようにしたいと思っております。

    また、コードの書き方が分からなく、困っております。
    コードの書き方を教えて頂けると幸いです。

    よろしくお願いいたします。

    トピック投稿者 higasan

    (@higasan)

    ishitaka様
    教えて頂いた内容で、希望の動作になりました。
    ありがとうございます。

    これでこちらのご質問は解決いたしました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「wp-login.phpへのアクセス制御」には新たに返信することはできません。