2015-11-25 133 views
1

我有一个自定义WP注册脚本,很好地工作,虽然我不能让它自动登录用户。我可以确认它会创建用户配置文件。我也尝试过触发wp_signon()而没有运气。有什么建议么?自定义注册后WordPress自动登录

<?php 
function complete_registration() { 
    global $reg_errors, $username, $password, $email; 
    if (1 > count($reg_errors->get_error_messages())) { 
     $data = array(
      'user_login' => $username, 
      'user_email' => $email, 
      'user_pass'  => $password 
     ); 
     $user = wp_insert_user($data); 

     if(!is_wp_error($user)) 
      wp_set_current_user($user); 
      wp_set_auth_cookie($user); 
    } 
} 
?> 
+0

这你有什么功能,你用什么动作连接到它? – Ohgodwhy

+0

它是一些功能的一部分,但最终它被称为短代码: add_shortcode('user_registration','user_registration_function'); function user_registration_function(){ ob_start(); custom_registration_function(); return ob_get_clean(); } –

+0

对不起,在custom_registration_function()中,它会清理表单信息并将其传递给complete_registration()函数。 –

回答

1

函数在执行链中触发得太晚。

0

有自定义登记表同样的功能从this tutorial并希望使用相同的选项自动登录其不也是工作,因为页面头部已经发送..所以只需添加此代码,它会运行

add_action('init', 'custom_registration_shortcode');