後,我在WordPress的安裝,除其他事項外,允許用戶顯示和變化從前端他們的電子郵件地址有一個自定義頁面。WordPress的wp_update_user只更新刷新
儘管如此,電子郵件在數據庫中得到正確更改,但在頁面上未更新,直到另一個刷新(帶或不帶$_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查看數據庫,我可以看到數據已經更新。瀏覽器頁面再次刷新後,所有內容都能正確顯示。
任何指針?
附:忘了提及:我更新了同一頁面中的許多其他參數,並且它們都在第一頁上正確刷新。不過,我應該提到,我通過使用'update_user_meta'來更新它們。由於'user_email'存儲在wp_users表中,這是我真正需要使用上述函數進行更新的唯一事情。 – Sunyatasattva