Wordpressのインストールにカスタムページがあります。これにより、ユーザーはフロントエンドから自分の電子メールアドレスを表示および変更できます。
ただし、そうすると、電子メールはDBで正しく変更されますが、別の更新(の有無にかかわらず$_POST
)が行われるまでページ上で更新されません。この振る舞いは本当に奇妙で、原因を見つけることができません。
コードの問題のある部分は次のとおりです。
if ( !empty( $_POST['user_email'] ) )
wp_update_user( array ('ID' => $queried_user->id, 'user_email' => esc_attr( $_POST['user_email'] ) ) ) ;
を実行するvar_dump($_POST)
とvar_dump($queried_user)
、それが変数にuser_email
正しく表示され$_POST
ますが、したがって、変数には古いものが残り$queried_user
ます。ただし、PHPMyAdminを介してDBを見ると、データがすでに更新されていることがわかります。ブラウザページをもう一度更新すると、すべてが正しく表示されます。
ポインタはありますか?