この記事は最後に更新してから1年以上経過しています。

Login rebuilderで第2ログインページのURLを取得する

説明

先週のこと、「Login rebuilder」のユーザから「 wp_login_url関数のように第2ログインページのURLを取得できないか」という問い合わせがありました。その時点ではそのような関数やメソッドを用意していなかったのですが、まあニーズがあるなら作ってみようと思い、対応するメソッドを追加したLogin rebuilderバージョン1.4.3をリリースしました。

まずは簡単だがメソッドの書式を紹介する。

string wp_secondary_login_url( [ string $redirect = '' [ , int $blog_id = 0 ] ) )

パラメータ$redirectにはログイン成功時にリダイレクトするURLを、$blog_idにはマルチサイト時のブログIDを指定。どちらのパラメータも省略可能である。標準的な使い方は次の通り。

if ( method_exists( $GLOBALS['plugin_login_rebuilder'], 'wp_secondary_login_url' ) ) {
	$url = $GLOBALS['plugin_login_rebuilder']->wp_secondary_login_url();
}

念のため、メソッドを呼び出す前にmethod_exists関数で存在を確認している。返り値は、第2ログインページのURLで、プラグインが有効(ステータスが「稼働中」)でないか、第2ログインページが指定されいない場合には''が返る。返り値が''の場合の処理については適宜行ってほしい。

次はログイン後にリダイレクトするページを指定してみる。このダイレクトするページのURLは、wp_secondary_login_urlメソッドの第1パラメータに指定する。次の例は、ログイン後のページとしてサイトトップを指定している。 サイトトップを設定してみる。

if ( method_exists( $GLOBALS['plugin_login_rebuilder'], 'wp_secondary_login_url' ) ) {
	$url = $GLOBALS['plugin_login_rebuilder']->wp_secondary_login_url( get_option( 'siteurl' ) );
}

第1パラメータで指定したURLは、返り値の第2ログインページのURLにredirect_toパラメータ(URLクエリ)の値としてURLエンコードされた内容が追加される。

最後にマルチサイトにおいて現在のサイトと異なるサイトの第2ログインページのURLを取得する例を紹介しておく。

マルチサイトでLogin rebuilderを使用すると、各サイト(ブログ)ごとに異なるログインページを設定できる。それらのサイトはブログIDで区別され、そのブログIDを使用することで任意のサイトの第2ログインページのURLを取得できるようにしている。具体的には、ブログIDが2のサイトの第2ログインページのURLを取得する場合は次のように記述する。

if ( method_exists( $GLOBALS['plugin_login_rebuilder'], 'wp_secondary_login_url' ) ) {
	$url = $GLOBALS['plugin_login_rebuilder']->wp_secondary_login_url( '', 2 );
}

なお現在のサイトの第2ログインページのURLを取得する場合は、ブログIDを指定する必要はなく、第2パラメータを省略すればよい。


p.s.お問い合わせいただいた方へ。メールを返信しようとしたところエラーになってしまいましたので、こちらの投稿にて返信とさせてください。今後ともLogin rebuilderをよろしくお願いいたします。


最終更新 : 2018年05月27日 10:45


お勧め

strip_shortcodes(2016年12月15日 更新)

string strip_shortcodes( string $content )
投稿記事からショートコードを取り除く。

selected(2018年5月27日 更新)

string selected( mixed $selected [ , mixed $current = true [ , bool $echo = true ] ] )
HTMLのselected属性を表示する。パラメータ$echoにfalseを指定した場合は表示しない。

user_can(2018年5月27日 更新)

bool user_can( mixed $user, string $capability )
ユーザの権限を調べる。

wp_get_nocache_headers(2019年9月3日 更新)

array wp_get_nocache_headers( )
ブラウザのキャッシュを無効にするHTTPヘッダー情報(配列)を取得する。

send_origin_headers(2018年5月27日 更新)

mixed send_origin_headers()
リクエスト元に応じてAccess-Control-Allow-Originヘッダーを送信する。