特定のカスタム投稿にだけベーシック認証

2021年10月28日作成者:webmaster

WPのカスタム投稿にベーシック認証ができる。
さらに、カスタムフィールドでID・パスの設定ができるので
特定のカスタム投稿だけかけたい場合に便利。
ただし、PHPの設定によっては出来ない場合もあるので要確認。

if (get_post_type() === 'カスタム投稿タイプ') {
        ini_set('display_errors', 0); //エラーが表示されてしまう場合は記述
        $auth_user = get_field('auth_user', post_IDを入れる);
        $auth_pass = get_field('auth_pass', post_IDを入れる);
        switch (true) {
            case !isset($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']):
            case $_SERVER['PHP_AUTH_USER'] !== $auth_user:
            case $_SERVER['PHP_AUTH_PW'] !== $auth_pass:
                header('WWW-Authenticate: Basic realm="Enter username and password."');
                header('Content-Type: text/plain; charset=utf-8');
                die('このページを見るにはログインが必要です');
        }
        header('Content-Type: text/html; charset=utf-8');
    }

コメントを残す

一覧へ