我正在尝试构建自己的简单的wordpress密码更改脚本(嗯,实际上是基于插件)-密码已成功更改-但更改完成后却注销了我!下面是使用的代码。谁能看到我被注销的地方以及如何防止它退出?谢谢!
$update = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->users} SET `user_pass` = %s WHERE `ID` = %d",array(wp_hash_password($_POST['admin_pass1']),$user_ID)));
if(!is_wp_error($update))
{
wp_cache_delete($user_ID,'users');
wp_cache_delete($user->user_login,'userlogins');
wp_logout();
if (wp_signon(array('user_login'=>$user->user_login,'user_password'=>$_POST['admin_pass1']),false)):
wp_redirect(admin_url());
endif;
ob_start();
}
Run Code Online (Sandbox Code Playgroud)
其实是这样的:
if(!is_wp_error($update))
{
wp_cache_delete($user_ID,'users');
wp_cache_delete($user->user_login,'userlogins');
wp_logout();
if (wp_signon(array('user_login'=>$user->user_login,'user_password'=>$_POST['admin_pass1']),false)):
wp_redirect(admin_url());
endif;
ob_start();
}
Run Code Online (Sandbox Code Playgroud)
意味着如果没有错误,将执行以下函数。wp_logout()如果执行条件块,则始终会调用此函数之一。
如果这不是你想要的,那么你要考虑更换:
if(!is_wp_error($update))
Run Code Online (Sandbox Code Playgroud)
和:
if(is_wp_error($update))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5391 次 |
| 最近记录: |