后,我在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