我最近写了一个附属插件,我必须做几乎相同的事情。以下是相关部分的截图:
要处理从注册表中获得的额外信息,请执行以下操作:
add_action(\'user_register\', \'my_handle_signup\', 10, 2);
function my_handle_signup($user_id, $data = null) {
$reg_ip = $_REQUEST[\'reg_ip\'];
$referrer = $_REQUEST[\'referrer\'];
if (isset($reg_ip) && isset($referrer)) {
add_user_meta($user_id, \'my_referrer\', $referrer);
add_user_meta($user_id, \'my_reg_ip\', $reg_ip);
}
}
并向注册表单中添加字段:
add_action(\'register_form\', \'my_add_signup_fields\');
function my_add_signup_fields() {
if (!empty($_GET[\'register_me\'])) {
?>
<input type="hidden" name="reg_ip" value="<?php echo esc_attr($_SERVER[\'REMOTE_ADDR\']); ?>" />
<input type="hidden" name="referrer" value="<?php echo esc_attr($_GET[\'register_me\']); ?>" />
<?php
}
}
对于我的解决方案,我实际上是设置一个cookie,然后在注册表上检索它。