wp_update_user 使ってて

 今、取りかっかている案件でパスワード再発行のページを作っている。作っててなんで?と思った事があったのでメモ!!

ユーザー名またはメールアドレスで登録されているユーザーかどうか確認後、登録されていれば、乱数のパスワードを自動生成させてメールでユーザーに送った後にwp_update_userでデータベースのパスワードを発行した乱数に書き換える。
ここまで、問題なく作ったけど、テストすると「Warning: Cannot modify header information – headers already sent by 〜」のエラー

えっ???
ヘッダーに何もスペースとかないけど???
と思ったのでグッグッてみたら海外のWordPressフォーラムに書いてあった!
「wp_update_userは、パスワードを更新した際に、クッキーをリセットしようとします。
PHPの関数setcookie()クッキークリアとクッキー・リセットは、ページのヘッダーに追加されます。したがって、get_header()の前にwp_update_user()を呼び出す必要があります。 」
みたいなことが書いてあった。

なるほど・・・・
wp_update_userの後にget_headerやらなきゃいけないのね!
ということで、無事に完成!!

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中