php - 用户在 wp 数据库中插入数据后尝试进行更新
问题描述
我想在用户注册后或插入后更新 WP 数据库中的列。
我现在正在尝试获取要在 where 子句中使用的最后插入的 ID,并更新其值来自 url 的列。
if ( empty( $userdata['user_login'] ) ) {
$part_of_email = explode( '@', $userdata['user_email'] );
$username = check_username( $part_of_email[0] );
$userdata['user_login'] = $username;
}
global $wpdb;
$user_id = wp_insert_user( $userdata ); // Insert user data in users table.
$lastid = $wpdb->insert_id;
//$table_name = $wpdb->prefix."users";
$where = array('ID' => $lastid );
$subs = array('refID'=> $_GET['ref']);
$wpdb->update('users', $subs, $where);
解决方案
您可以使用 update_user_meta 函数。
// Will return false if the previous value is the same as $new_value.
$updated = update_user_meta( $user_id, 'refID', $_GET['ref'] );