2013-05-06 1 views
0

Dans wordpress, après l'enregistrement d'un utilisateur, j'utilise la fonction ci-dessous pour créer deux pages de deux types de publications personnalisées différentes, et je dois ensuite stocker une valeur méta personnalisée dans leurs données utilisateur pour aider redirige plus tard. J'ai trouvé que si je spécifie la coutume méta valeurs lors de l'inscription (le formulaire d'inscription), je peux récupérer ces valeurs plus tard avec:Mettre à jour l'utilisateur Meta après l'enregistrement

global $current_user; 
    get_currentuserinfo(); 
    $theirRedirectKey = $current_user->rpr_redirect_key; 

Cependant, dans l'extrait functions.php suivant, je ne peux pas la méta valeur à enregistrer pour récupération plus tard.

function after_registration($user_id){ 
    // Get the Newly Created User ID 
    $the_user = get_userdata($user_id); 

    // Get the Newly Created User Name 
    $new_user_name = $the_user->user_login; 

    // Create a unique Tour Code Prefix from User ID 
    $tourPrefix = $the_user->ID; 

    // Check for Tour Code Key if entered into registration form 
    $enteredKey = $the_user->rpr_redirect_key; 

    if($enteredKey == ''){ 
     //Create the first Tour Builder Page 
     $tourBuilder = array(); 
     $tourBuilder['post_title'] = $new_user_name . '| Custom Educational Tour'; 
     // Next line may not be important after hubpages are set up. 
     $tourBuilder['post_name'] = 'builder-' . $tourPrefix; 
     $tourBuilder['post_type'] = 'builder'; 
     $tourBuilder['post_content'] = 'This is the content!'; 
     $tourBuilder['post_author'] = $user_id; 
     $tourBuilder['post_status'] = 'publish'; 
     $tour_id = wp_insert_post($tourBuilder); 

     // Build hubpage 
     $hubpage = array(); 
     $hubpage['post_title'] = $new_user_name . '\'s Hubpage'; 
     // URL must be unique 
     $hubpage['post_name'] = $new_user_name; 
     $hubpage['post_type'] = 'hubpages'; 
     $hubpage['post_author'] = $user_id; 
     $hubpage['post_status'] = 'publish'; 
     $hub_id = wp_insert_post($hubpage); 

     //Update User with proper redirect keys for some reason this line doesn't work. 
     add_user_meta($the_user, 'rpr_redirect_key', '/hubpage/' . $new_user_name, true); 
    } 

} 
add_action('user_register', 'after_registration'); 

L'aide serait grandement appréciée.

Répondre

0

Dans la ligne

add_user_meta($the_user, 'rpr_redirect_key', '/hubpage/' . $new_user_name, true); 

$the_user est pas l'ID. Essayez $the_user->ID ou $user_id à la place

Questions connexes