ピーターのログインリダイレクト | Peter Keung
ピーターのログインリダイレクト

ピーターのログインリダイレクト | Peter Keung

説明

特定のユーザー、特定の役割を持つユーザー、特定の機能を持つユーザー、および他のすべてのユーザーに対する包括的なルールのセットを定義します。また、事後登録用のリダイレクトURLを設定します。これはすべて、[設定]> [ログイン/ログアウトリダイレクト]で管理されます。
URLで構文[variable] username [/ variable]を使用すると、システムはログインのたびに動的URLを作成し、そのテキストをユーザーのユーザー名に置き換えます。ユーザー名に加えて、「userslug」、「homeurl」、「siteurl」、「postid-23」、「http_referer」があり、独自のカスタムURL「変数」を追加することもできます。ドキュメントについては、その他の注意事項/拡張方法を参照してください。
必要に応じて、プラグインの通常のリダイレクトチェックの前後に独自のコードロジックを追加できます。ドキュメントについては、その他の注意事項/拡張方法を参照してください。いくつかの例が含まれます:IPアドレスに基づいてユーザーをリダイレクトします。初回ログイン時にユーザーを特別なページにリダイレクトします。
このプラグインには、カスタム定義の管理者アドレスを返すことを除いて、テンプレートに表示されるwp_register関数と同じように機能する関数rul_registerも含まれています(通常、サイドバーに[登録]または[サイト管理]リンクを生成します)。 rul_registerは、「before」コード(デフォルトでは「

  • 」)、「after」コード(デフォルトでは「」)、および結果をエコーするか返すか(デフォルトはtrueであるため、デフォルトはtrue)の3つのパラメーターを取ります。エコー)。
    拡張する方法
    カスタムリダイレクトルール
    このプラグインがユーザー固有、役割固有、および機能固有のリダイレクトをチェックする前、およびフォールバックリダイレクトURLの前に、独自のコードロジックを記述できます。
    最初のログイン時にユーザーをリダイレクトするプラグインコードの例。スタンドアロン機能については、http://www.theblog.ca/wordpress-redirect-first-loginを参照してください。
    //新しいユーザーを特別なページに送ります
    関数redirectOnFirstLogin($ custom_redirect_to、$ redirect_to、$ requested_redirect_to、$ user)
    {{
    //リダイレクト先のURL
    $ redirect_url = ‘http://yoursite.com/firstloginpage’;
    //ユーザーをリダイレクトする回数
    $ num_redirects = 1;
    //これを既存のサイトに実装する場合、これは、既存のユーザーが突然「最初のログイン」処理を受けないようにするためにここにあります
    //新しいサイトでは、この設定と関連するチェックを削除できます
    //代替アプローチ:スクリプトを実行して、「リダイレクト済み」プロパティを既存のすべてのユーザーに割り当てます
    //代替アプローチ:日付ベースのチェックを使用して、特定の日付より前のすべての登録ユーザーが無視されるようにします
    // 172800秒= 48時間
    $ message_period = 172800;

    / *
    Cookieベースのソリューション:過去n時間以内に登録したユーザーをキャプチャします
    「過去n時間」に設定する理由は、ユーザーがCookieをクリアしたり、別のブラウザでログインしたりした場合に、
    彼らはすでに登録ユーザーになってから長い間、これと同じリダイレクト処理を受けません
    * /
    / *

    $ key_name = ‘redirect_on_first_login_’。 $ user-> ID;

    if(strtotime($ user-> user_registered)>(time()-$ message_period)
    &&(!isset($ _COOKIE [$ key_name])|| intval($ _COOKIE [$ key_name])<$ num_redirects)

    {{
    if(isset($ _COOKIE [$ key_name]))
    {{
    $ num_redirects = intval($ _COOKIE [$ key_name])+ 1;
    }
    setcookie($ key_name、$ num_redirects、time()+ $ message_period、COOKIEPATH、COOKIE_DOMAIN);
    $ redirect_urlを返します;
    }
    * /
    / *
    データベースに保存されているユーザーメタ値ベースのソリューション
    * /
    $ key_name = ‘redirect_on_first_login’;
    // 3番目のパラメータは、結果が文字列であることを保証します
    $ current_redirect_value = get_user_meta($ user-> ID、$ key_name、true);
    if(strtotime($ user-> user_registered)>(time()-$ message_period)
    &&( ” == $ current_redirect_value || intval($ current_redirect_value)<$ num_redirects)

    {{
    if( ”!= $ current_redirect_value)
    {{
    $ num_redirects = intval($ current_redirect_value)+ 1;
    }
    update_user_meta($ user-> ID、$ key_name、$ num_redirects);
    $ redirect_urlを返します;
    }
    そうしないと
    {{
    $ custom_redirect_toを返します。
    }
    }

    add_filter( ‘rul_before_user’、 ‘redirectOnFirstLogin’、10、4);

    最初のリダイレクトチェックとして、特定のIP範囲のみの特定のURLにリダイレクトするプラグインコードの例:
    関数redirectByIP($ custom_redirect_to、$ redirect_to、$ requested_redirect_to、$ user)
    {{
    $ ip_check = ‘192.168.0’;
    if(0 === strpos($ _SERVER [‘REMOTE_ADDR’]、$ ip_check))
    {{
    ‘/ secret_area’;を返します。
    }
    そうしないと
    {{
    $ custom_redirect_toを返します。
    }
    }

    add_filter( ‘rul_before_user’、 ‘redirectByIP’、10、4);

    それは3つのパラメータを取ります:

    $ custom_redirect_to:設定するリダイレクトURLがない場合、これはfalseに設定されます。複数のフィルターを実行している場合は、falseではなくこれを返します。
    $ requested_redirect_to:POSTまたはGETを介して設定されたリダイレクトパラメータ。
    $ user:現在のユーザーを表すPHPオブジェクト。

    カスタム変数パラメーター
    独自のカスタム変数名を追加するための利用可能なフィルター「rul_replace_variable」があります。たとえば、リダイレクトURLの[variable] month [/ variable]を現在の月の数値表現(先行ゼロ付き)に置き換えるには、次のようにします。
    関数customRULVariableMonth($ custom_redirect_to、$ variable、$ user)
    {{
    if( ‘月’ == $ variable)
    {{
    戻り日( ‘m’);
    }
    そうしないと
    {{
    $ custom_redirect_toを返します。
    }
    }

    add_filter( ‘rul_replace_variable’、 ‘customRULVariableMonth’、10、3);

    必要に応じて、返された変数をrawurlencodeしてください。

  • インストール

    このプラグインの

    インストール

    は、他のWordPressプラグインと同じです。
    WordPressダッシュボード内のWordPress「プラグイン」ページに移動し、次の手順に従います。

    検索フィールドにPeter’s LoginRedirectと入力します。 「プラグインの検索」をクリックするか、Enterキーを押します。
    Peterのログインリダイレクトを選択し、「詳細」または「今すぐ

    インストール

    」をクリックします。

    インストール

    したら、「アクティブ化」をクリックします。

    プラグインの作者

    Peter Keung

    プラグインの公式ウェブサイトアドレス

    https://wordpress.org/plugins/peters-login-redirect/
    ピーターのログインリダイレクトプラグインの使用で問題が発生した場合は、以下にコメントしてください。問題の解決に最善を尽くします

    コメントを残す