gpt4 book ai didi

php - 如何在 wordpress 中为多个 meta_key 更新用户元数据

转载 作者:可可西里 更新时间:2023-11-01 13:13:08 25 4
gpt4 key购买 nike

我正在尝试为 WordPress 中的用户更新多个 meta_key

update_user_meta( $user_id, array( 'nickname' => $userFirstName, 'first_name' => $userFirstName, 'last_name' => $userLastName , 'city' => $userCityID , 'gender' => $userGenderID) );

但它不起作用。我们如何为用户更新多个 meta_key?

最佳答案

尝试:

<?php
$user_id = 1234;

$metas = array(
'nickname' => $userFirstName,
'first_name' => $userFirstName,
'last_name' => $userLastName ,
'city' => $userCityID ,
'gender' => $userGenderID
);

foreach($metas as $key => $value) {
update_user_meta( $user_id, $key, $value );
}

所以不要将数组传递给 update_user_meta它只接受 $meta_key 的字符串参数,遍历数组并为数组中的每个键/值对调用 update_user_meta

编辑:

WordPress 没有提供一次更新多个元数据的内置方法。使用其内置功能的部分原因是因为可以注册过滤器和 Hook 以对元信息进行操作。如果您直接更新它们,则不会调用它们。

也就是说,您可以尝试这样的操作(代码未经测试):

$columns  = implode(" = '%s', ", array_keys($metas)) . " = '%s'";
$values = array_values($metas);
$values[] = $user_id;
$table = _get_meta_table('user');
$sql = "UPDATE $table SET $columns WHERE user_id = %d";
$wpdb->query(
$wpdb->prepare($sql, $values)
);

关于php - 如何在 wordpress 中为多个 meta_key 更新用户元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30610780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com