将数据添加到wp_users表的自定义字段中

时间:2018-07-19 13:44:55

标签: php wordpress mysqli

我创建了供用户插入HRID的框,并将其保存在@_POST(user_hrid)中。我想将此数据放在我创建的名为wp_users的自定义字段中的user_hrid中。以下功能使我的网站一片空白...有什么想法吗?

/**
 * Updates the user data
 */
function update_my_custom_user_meta() {

$servername = "localhost";
$username = "databaseusername";
$password = "databasepassword";
$dbname = "databasename");

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$user = wp_get_current_user();

$sql = "UPDATE wp_users SET user_hrid =".$_POST['user_hrid']." WHERE id=".$user;

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();

}

add_filter('wc_create_new_customer', 'update_my_custom_user_meta');

1 个答案:

答案 0 :(得分:1)

使用update_user_meta将其添加到wp_usersmeta表中,而不是将其添加到wp_users中,这是针对这些情况

$user_id = 1;
$new_value = 'some new value';

// will return false if the previous value is the same as $new_value
update_user_meta( $user_id, 'some_meta_key', $new_value );

// so check and make sure the stored value matches $new_value
if ( get_user_meta($user_id,  'some_meta_key', true ) != $new_value )
    wp_die('An error occurred');