【WordPress】保護中記事のパスワード再入力期間設定

IT(Information Technology:情報技術)WordPress(WP)

WordPressでは、記事の公開設定を、特定閲覧者に限定するためパスワード保護による制限をかけることができます。そのパスワード再入力期間を設定する方法です。


 

WordPress公開記事で、[公開範囲]を[パスワード保護]にすることできます。

 

しかし、デフォルト(初期設定)でのWordPressでのパスワード保存期間は10日間と長きに渡ります。

 

本記事では、この10日間を短縮する方法をお伝えします。

 

 

【解決策】以下のコードfunction.phpに貼る。

 

WordPress管理画面[外観]→[テーマファイルエディター]→[functon.php]の最後の行に、以下のコードを貼り付けてください。

 

// コメントアウト用
add_action('init', function() {
    if (is_admin()) return;

    $cookie_name = 'wp-postpass_' . COOKIEHASH;
    $timestamp_cookie = 'wp_postpass_time_' . COOKIEHASH;

    if (isset($_COOKIE[$cookie_name])) {
        $issued_at = isset($_COOKIE[$timestamp_cookie])
            ? (int)$_COOKIE[$timestamp_cookie]
            : 0;

        if (time() - $issued_at > 60) {
            setcookie($cookie_name, '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN, is_ssl(), true);
            setcookie($timestamp_cookie, '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN, is_ssl(), false);
            unset($_COOKIE[$cookie_name]);
        }
    }

    if (isset($_COOKIE[$cookie_name]) && !isset($_COOKIE[$timestamp_cookie])) {
        setcookie($timestamp_cookie, time(), 0, COOKIEPATH, COOKIE_DOMAIN, is_ssl(), false);
    }
});


 

「コメントアウト用」とは、そこに好きに説明文を付け加えてください、という意味です。ここになにを打ち込もうが、コードには影響を与えません。

 

注意:上掲コードはパスワード再設定60秒になっています

 

上掲コードを貼り付けると、パスワード再入力を、60秒という非常に短期間に狭めることができます。

 

本記事はここまでになります。

なにかありましたら、コメント欄にお願いします。

コメント(ディスカッション)