wp_signon

説明

mixed wp_signon( [ array $credentials = array() [ , mixed $secure_cookie = '' ] ] )
認証処理を行う。

パラメータ

  • $credentials
    認証情報を連想配列で指定(省略時はarray())。連想配列の内容は次の通り。
    キーデータ型意味
    'user_login'stringログイン名
    'user_password'stringパスワード
    'remember'boolログイン情報を保持する場合はtrue
  • $secure_cookie
    セキュアクッキーを使用する場合はtrueを指定(省略時は'')。

返り値

認証できた場合はユーザー情報オブジェクトを返す。認証に失敗した場合は WP_Errorオブジェクトを返す。

注意

パラメータ$credentialsの省略時は$_POSTを参照するが、キー名が異なるので注意が必要である。

$credentialsのキー$_POSTのキー
'user_login''log'
'user_password''pwd'
'remember''rememberme'

パラメータ$secure_cookie省略時は、 is_ssl関数の結果が適用される。


使用例

  • $_POSTパラメータで認証処理を行う。
    <?php wp_signon(); ?>
  • 連想配列を指定した$paramで認証処理を行う。
    <?php wp_signon( $param ); ?>

フィルター

[3.1.0]認証処理を行う(認証時のクッキーを出力する)前、'secure_signon_cookie'フィルターを実行する。パラメータ$secure_cookie$credentialsは省略時処理済みの値が格納されている。
$secure_cookie = apply_filters( 'secure_signon_cookie', $secure_cookie, $credentials );

アクション

[1.5.1]$credentialsの初期処理後、'wp_authenticate'アクションを実行する。パラメータは配列で、索引0の要素がログイン名のポインタ、索引1の要素がパスワードのポインタが格納されている。
do_action_ref_array( 'wp_authenticate', array( &$credentials['user_login'], &$credentials['user_password'] ) );
[1.5.0]認証したユーザー情報を返す前に'wp_login'を実行する。パラメータ$user_loginにはログイン名、$userにはユーザー情報オブジェクトが格納されている。
do_action( 'wp_login', $user_login, $user );

ソースファイル

/wp-includes/user.php

最終更新 : 2014年07月24日 13:43



お勧め

初期状態で「抜粋」ウィジェットを表示する(2014年1月7日 更新)

投稿編集ページのウィジェットは標準で表示されるものとされないものがある。フォーラムに『投稿の編集画面にデフォルトで抜粋を表示させたい』という投稿があったので、ちょっと調べてみた。

LevelとCapability(2018年5月27日 更新)

プラグインやテーマの管理ページを作成する際など、ユーザのレベルと権限を確認することがある。ここでは、権限グループ別のレベルと権限の有無を整理してみた。

管理画面の'アイキャッチ画像'を'写真'に変える(2013年1月23日 更新)

クライアント向けに専用のテーマを提供する際、稀に管理画面内の用語の変更を依頼されることがある。今回は、'アイキャッチ画像'だとわかりにくいので'写真'に変えてほしいということだった。

購読者は管理者ページのアクセス禁止(2013年11月12日 更新)

購読者(subscriber)は、通常「ダッシュボード」「プロフィール」にアクセスできるが、今回はプロフィールを独自に管理する準備を兼ねて、これらのページにアクセスできないようにブロックしてみた。

WordPressのコーディングスタンダードとPSR-2がかみ合わない(2018年5月27日 更新)

先日パソコンのストレージを換装して開発環境を再構築。エディタのEclipseは「Neon(4.6)」から「Oxygen(4.7)」へ切り替わった。コードを書き始めるとそこはかとなく違和感があり、調べていくとPHPの「Code Style(Formatter)」が「PSR-2」に設定されていることが原因だった。