首页 > 解决方案 > 将数据添加到 wp_users 表中的自定义字段中

问题描述

我创建了供用户插入的框,并将其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');

标签: phpwordpressmysqli

解决方案


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

推荐阅读