Learning site for website creation

パスワード保護ページカスタマイズ-WordPress

公開日:2017年11月16日

functions.phpに下記を記述してカスタマイズ

/*********************************
  パスワード保護ページ:タイトル前「保護中: 」削除
**********************************/
function remove_protected($title) {
    return '%s';
}
add_filter('protected_title_format', 'remove_protected');

/*********************************
  パスワード保護ページ:ログイン画面メッセージ修正
**********************************/
function my_password_form() {
  return
    '<p class="pw-txt">ご利用いただくためにはパスワードの入力が必要です。<p>
    <form class="post-password-form" action="' . home_url() . '/wp-login.php?action=postpass" method="post"><p><label for="pw-box">パスワード <input id="pw-box" name="post_password" type="password" size="20"></label><input type="submit" name="Submit" value="' . esc_attr__("送信") . '"></p></form>';
}
add_filter('the_password_form', 'my_password_form');

/*********************************
  パスワード保護ページ:ログイン後クッキー有効時間設定 現在設定:DAY_IN_SECONDS(1日有効)
**********************************/
function custom_postpass_time() {
    require_once ABSPATH . 'wp-includes/class-phpass.php';
    $hasher = new PasswordHash( 8, true );
    setcookie( 'wp-postpass_' . COOKIEHASH, $hasher->HashPassword( wp_unslash( $_POST['post_password'] ) ), time() + DAY_IN_SECONDS, COOKIEPATH );
    wp_safe_redirect( wp_get_referer() );
    exit();
}
add_action( 'login_form_postpass', 'custom_postpass_time' );

1分間:MINUTE_IN_SECONDS

30分間:30 * MINUTE_IN_SECONDS

1時間:HOUR_IN_SECONDS

12時間:12 * HOUR_IN_SECONDS

1日:DAY_IN_SECONDS

3日:3 * DAY_IN_SECONDS