发送自定义推荐代码到WordPress中注册

时间:2014-09-09 18:44:12

标签: wordpress

我传递了一个推荐代码,我将其保存到wp_usertmeta,并在functions.php中添加了自定义字段 到目前为止,非常好!

链接到wp寄存器:wp-login.php?action = register& ref = 2 我用以下方式保存推荐代码:

 <?php $ref = $_GET['ref']?>

它工作但是,如果我输入已经使用的用户名,我会从WordPress获取标准错误消息。

当发生这种情况时,URL会重新加载到:wp-login.php?action = register我无法使用$ _GET [&#39; ref&#39;]

有没有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

解决此问题的最简单方法是将$_GET['ref']值保存到cookie或PHP会话中。用户注册后,您可以使用user_register操作挂钩参考cookie /会话以保存到数据库。保存后,如果它是cookie,则应清除此值,除非需要其它内容以减少每个请求的大小。

//set the cookie
if ( isset( $_GET['ref'] ) ){
    setcookie( "ref", $_GET['ref'] );
}

然后使用动作挂钩

保存值
add_action( 'user_register', 'my_user_register' );
function my_user_register( $user_id ){
    if ( isset( $_COOKIE['ref'] ) ){
        // save the ref to the user meta
        update_user_meta( $user_id, 'ref', $_COOKIE['ref'] );
        // delete the cookie
        setcookie( "ref", null, -1 );
    }
}