我使用创建用户
$user_id = wp_create_user($username, $password, $email);
创建用户后,我希望他们自动登录,因此根据
ravi patel, 我在函数中添加了以下代码。php。
function auto_login_new_user( $user_id ) {
wp_set_current_user($user_id);
wp_set_auth_cookie($user_id);
$user = get_user_by( \'id\', $user_id );
do_action( \'wp_login\', $user->user_login );//`[Codex Ref.][1]
wp_redirect( home_url() ); // You can change home_url() to the specific URL,such as "wp_redirect( \'http://www.wpcoke.com\' )";
exit;
}
add_action( \'user_register\', \'auto_login_new_user\' );
但正如所料,出现了以下警告。
Warning: Cannot modify header information - headers already sent by (output started at /opt/lampp/htdocs/vuewordpress/wp-includes/link-template.php:3840) in /opt/lampp/htdocs/vuewordpress/wp-includes/pluggable.php on line 928
我如何摆脱这种情况,并重定向同一页面上的用户,使其不再尝试注册?
我明白一件事,我需要在写头之前运行代码。也许我需要把这件事牵扯进去init. 但我不知道怎么做。
任何帮助都是值得赞赏的!!