0

wordpress では、ユーザーが登録した後、以下の関数を使用して 2 つの異なるカスタム投稿タイプの 2 つのページを作成しています。その後、後でリダイレクトを支援するために、ユーザー データにカスタム メタ値を保存する必要があります。登録時に (登録フォームで) カスタム メタ値を指定すると、後でこれらの値を取得できることがわかりました。

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

ただし、次の functions.php スニペットでは、後で取得するためにメタ値を保存できません。

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');

助けていただければ幸いです。

4

1 に答える 1

0

ラインで

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

$the_userIDではありません。$the_user->IDまたは$user_id代わりに試してください

于 2013-05-06T22:00:13.630 に答える