繁体   English   中英

WordPress - 在“user_register”钩子中使用 if else 语句的用户元

[英]WordPress - Use user meta for if else statement in 'user_register' hook

我试图在用户注册后通过 $wpdb 查询访问用户元数据。 如果用户是自由职业者或雇主,我想做的是制作 2 种不同的自定义帖子类型。

这是代码:

add_action('user_register','registration_funtion', 999);
function registration_funtion($uid){
global $wpdb;
        $existsD = $wpdb->get_var( $wpdb->prepare(
                "SELECT meta_value FROM wp_usermeta WHERE user_id = '%s' AND meta_key = 'user_reg_type'" , $uid
            ));
 if($existsD == "userfreelancer"){
                
                $my_post_2 = array(
                    'post_title' => sanitize_text_field($user_info->user_login),
                    'post_status' => 'publish',
                    'post_author' => $uid,
                    'post_type' => 'freelancer',
                    'post_content' => $existsD.'-'.$uid 
                    
                );
$freelancer_id = wp_insert_post($my_post_2);
} elseif($existsD == "useremployer") { 
                
                $my_post = array(
                    'post_title' => sanitize_text_field($user_info->user_login),
                    'post_status' => 'publish',
                    'post_author' => $uid,
                    'post_type' => 'employer',
                    'post_content' => $existsD.'-'.$uid                  
                );
        
                $company_id = wp_insert_post($my_post);
}

问题是它只采用第一个 if 语句并完全忽略 else if 语句。

提前致谢。 问候,

尝试这个

add_action('user_register','registration_funtion', 999);
function registration_funtion($uid){

        global $wpdb;
        $existsD = get_user_meta($uid, 'user_reg_type');

        if($existsD == "userfreelancer"){
                
                $my_post_2 = array(
                    'post_title' => sanitize_text_field($user_info->user_login),
                    'post_status' => 'publish',
                    'post_author' => $uid,
                    'post_type' => 'freelancer',
                    'post_content' => $existsD.'-'.$uid 
                    
                );
                $freelancer_id = wp_insert_post($my_post_2);
        }elseif($existsD == "useremployer") { 
                
                $my_post = array(
                    'post_title' => sanitize_text_field($user_info->user_login),
                    'post_status' => 'publish',
                    'post_author' => $uid,
                    'post_type' => 'employer',
                    'post_content' => $existsD.'-'.$uid                  
                );
        
                $company_id = wp_insert_post($my_post);
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM