如何在注册后发送用户详细信息到外部数据库


Wordpress: how to send user details to external db after registering

当用户在Wordpress网站上注册时,我试图使用'user_register'挂钩,以便我可以抓取用户的详细信息并将其插入单独的外部数据库。我有类似的代码在woocommerce工作时创建订单,但我不知道为什么它不会插入用户数据。为了便于说明,我也保留了原始的查询/连接尝试。代码在functions.php

function save_user_to_externaldb( $user_id ) { 
 global $wpdb;
 $user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE ID='$user_id'", ARRAY_A); 
 // external db connection attempt
 $db = new wpdb('db', 'pass', 'user', 'localhost');
 if ($db) 
 {
  // original query  
  //$status = $db->query("INSERT INTO users (username,password,email,status,firstname,lastname) VALUES (".$user['user_login'].",".$user['user_pass'].",".$user['user_email'].",'5', ".$lastname.",".$firstname."')");   
  // current query
  $status = $db->query('INSERT INTO users (username,password,email) VALUES ("$user[''user_login''],"$user[''user_pass'']","$user[''user_email''])"');       
  }
  else
  {
   $db->show_errors();
  }
}
add_action( 'user_register', 'save_user_to_externaldb', 10, 1);

我不是很确定,但我有一个类似的问题。我认为你不能在user_register钩子中使用$wpdb->get_row。当我将代码从: wpdb -> get_row("选择: wpdb ->查询($ wpdb ->准备("选择

都工作正常。也许你可以试一下。