WordPress でログイン状態を保存する期間を長く設定するには

こんにちは、魚沼情報サービスの対馬です。

WordPress でログインの手間を減らしたいとお考えの方にこの記事は役立つかもしれません。

ログイン状態を保存する期間はデフォルトで14日間

WordPress でダッシュボードにログインするとき、[ログイン状態を保存する] にチェックをつけておくと、しばらくはログインした状態が維持されて、毎回ログインしなくても記事の投稿などのサイト管理作業を行うことができます。

ログイン状態を保存

デフォルトで、ログイン状態を保存する期間は 14日間 です。

この期間を延ばしたい理由があります

セキュリティ面を考えるとこの期間を長くすることは好ましくないとされていますが、自分だけが使う特定の端末からのみ管理作業を行っている場合は期間を延ばした方がログインの頻度が減って使い勝手がよくなります。

私が管理している WordPress サイトでは、自分自身のアクセスを Google Analytics の解析対象に含めないようにするために、ログインしている状態のアクセスを解析対象から除外するようにしています。なので、自分がアクセスするときにログインしている状態がずっと続いていてくれた方がありがたいです。

設定手順 functions.php にフィルターフックを追加

functions.php に以下のフィルターフックを記述すると、ログイン状態を保存する期間を 365日間 に延ばすことができます。

add_filter( 'auth_cookie_expiration', 'my_auth_cookie_expiration' );
function my_auth_cookie_expiration() {
  return 60*60*24*365;
}

期間は秒数で指定するようになっていて、上記の 365 の部分が日数の指定に該当します。

特定のユーザーだけ期間を延ばすには

複数ユーザーが登録されている会員制サイトなど、特定のユーザー(例えば管理側のユーザー)に対してだけログイン状態を保存する期間を延長したい場合があります。

逆に期間を短縮したいこともあるかと思います。

そのときのフィルターフックは以下のようになります。

add_filter( 'auth_cookie_expiration', 'my_auth_cookie_expiration', 10, 3 );
function my_auth_cookie_expiration( $length, $user_id, $remember ) {

  // 期間を延ばすユーザー名をカンマ区切りで指定する
  $array_members = array('xxxxxxx', 'yyyyy', 'zzzzzz');

  // 現在ログインしているユーザーを取得
  $user = get_userdata( $user_id );

  // 期間を延ばすユーザーに該当するかチェック
  $member_check = in_array($user->user_login, $array_members);

  if ( $member_check ){ 
    return 60*60*24*365; // ログイン状態を365日間維持する
  } else {
    return 60*60*24; // ログイン状態を1日だけ維持する
  }
}

備考 auth_cookie_expiration が適用されるタイミング

上記のプログラムを動作確認しながら、なんで動かないんだろう…? と少し悩んでいたのですが、auth_cookie_expiration というフックはユーザーがログインするタイミングで適用されるみたいで、すでにログインしているユーザーには反映されませんでした。

サイト運営者プロフィール

対馬 俊彦
対馬 俊彦魚沼情報サービス (新潟県南魚沼市)
【日本全国対応】WordPress のサイト制作、設定、カスタマイズ、トラブルでお悩み、お困りの方、お手伝いいたします。

Lightning / VK Blocks / VK Filter Search のサポート、カスタマイズを得意としています。

遠方からのご依頼の場合、打ち合わせ・サポートを Zoom や電子メール・電話などを併用して行わせていただきます。

オンラインレッスン形式でのホームページ制作サポートも行っています。お客様ご自身でホームページを制作・運用する上でうまくいかない部分をサポートいたします。設定やカスタマイズを手伝ってもらいたい、同時に便利な使い方や設定方法、カスタマイズのやり方も知ることができたら...という方にご好評いただいています。

デザイナー様、制作業者様のサイト制作のお手伝いも数多く行っています。難しい部分のコーディング ( PHP / CSS / jQuery ) をやってほしい、いま人手が足りない等、お仕事の依頼をお待ちしています。

ご要望をうかがった上で費用見積り(無料)を提示させていただきますので、お気軽にお問い合わせください。

メールでのお問い合わせはこちら

Lightning テーマ使用

中小企業様、個人事業主様向け

最適なホームページ

を制作いたします

制作費用クオリティを落とさずに
価格を抑えたサイトを制作します
必要十分お問い合わせフォーム、新着情報など
必要なものが最初から揃っています
サポート1年間のサポートがついて安心
初めてでもホームページを活用できます