我正在使用WordPress中的用户数据,但我认为这个错误更像是我一般的PHP问题。
我使用函数wp_update_user()
,该函数获取与某些用户字段相对应的键和值数组,例如display_name
。
负责的代码如下所示(请注意我为了调试目的而硬编码display_name
的值):
$returnValue = wp_update_user(array( 'ID' => $user->ID, 'display_name' => 'Test 123' ));
if (is_wp_error($returnValue)) {
print_r($returnValue);
} else {
echo "User update was a success, ID returned is " . $returnValue;
}
如果出现错误,if语句将输出错误对象。但是,该值正在按预期在数据库中更新,并且WP不会返回任何错误。但是,服务器给了我一系列警告,以Warning: array_keys() expects parameter 1 to be array, null given in /srv/www/mysite.com/current/web/wp/wp-includes/user.php on line 1993
开头。我查找了函数array_keys()
但据我所知,我按需要传递了一个格式正确的数组。此警告源自wp_update_user()
函数。
如上所述,实际代码似乎可以正常工作并执行我想要的操作,因此此警告实际上并不妨碍任何功能。我想我可以隐藏这个警告输出,但为了最好的做法,我想深究它。我该如何解决这个问题?
答案 0 :(得分:0)
非常确定它不是您传递的参数是错误的,而是内部WP进程。尝试使用普通整数作为现有用户的id调用