wp_signon()


WordPress関数wp_signon()は、ユーザーをプログラムでログインさせるために使用されます。この関数は特定の認証情報を受け取り、ログイン処理を実行します。

シンタックス

wp_signon( array $credentials = array(), string $secure_cookie = '' );

引数の説明:

  • $credentials (array) — ユーザー認証情報を含む連想配列。
  • $secure_cookie (string) — セキュアなクッキーを使用するかを指定する値。デフォルトは空文字列。

例1: 基本的なログイン処理

以下のコードは、特定のユーザー情報を使ってログインを試みる例です。

<?php
$credentials = array(
    'user_login'    => 'username',
    'user_password' => 'password',
    'remember'      => true,
);
$user = wp_signon( $credentials, is_ssl() ? 'secure' : '' );
if ( is_wp_error( $user ) ) {
    echo $user->get_error_message();
}
?>

例2: クッキーを無効にしたログイン

セキュアクッキーを使用せずにログインを試みるコード例です。

<?php
$credentials = array(
    'user_login'    => 'admin',
    'user_password' => 'admin_password',
    'remember'      => false,
);
$user = wp_signon( $credentials, '' );
if ( ! is_wp_error( $user ) ) {
    echo 'ログイン成功';
}
?>

例3: フォームデータを使ったログイン

フォームから送信されたデータを使ってログインを試みる例です。

<?php
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) {
    $credentials = array(
        'user_login'    => $_POST['username'],
        'user_password' => $_POST['password'],
        'remember'      => ! empty( $_POST['remember'] ),
    );
    $user = wp_signon( $credentials, '' );
    if ( is_wp_error( $user ) ) {
        echo $user->get_error_message();
    } else {
        wp_redirect( home_url() );
        exit;
    }
}
?>

例4: 現在のSSL状態を確認する条件付きログイン

SSL接続の有無に応じてセキュアクッキーを設定する例です。

<?php
$credentials = array(
    'user_login'    => 'testuser',
    'user_password' => 'testpassword',
    'remember'      => true,
);
$user = wp_signon( $credentials, is_ssl() ? 'secure' : '' );
?>

注意事項

  • wp_signon()を使用する際は、ユーザー入力を適切にサニタイズしてください。
  • 認証に失敗した場合、エラーを適切に処理し、デバッグ情報をユーザーに表示しないように注意してください。
  • SSL接続を推奨します。

関連機能: