我一直在寻找一种方法来更新我的网站的所有用户帐户元数据,内置WP功能update_user_meta
和add_user_meta
。我已尝试列出here和here列出的建议解决方案,但都无效。我相信我读到这些函数不允许一次更新多个用户元数据,这可能就是我之前尝试过的方法失败的原因。不幸的是,这正是我需要做的。任何修复建议或替代方法?以下是我之前尝试的代码片段。
尝试1:
$args = array (
'fields' => 'all_with_meta',
'role' => 'Participant',
//'number' => 50
);
// The User Query
$user_query = new WP_User_Query( $args );
$profile_zipcode = $registers[$x]["18"];
$profile_state = $registers[$x]["23"];
$users = $user_query->get_results();
if (!empty($users)) {
foreach ($users as $user)
{
add_user_meta($user->id, 'profile_zipcode', $profile_zipcode);
add_user_meta($user->id, 'profile_state', $profile_statue);
}
}
尝试2:
$total_registers = 0;
$registers = GFAPI::get_entries(
$form_id3,
$register_search_criteria = array('status' => 'active'),
$register_sorting = null,
$register_paging = array( 'offset' => 0, 'page_size' => 100 ),
$total_registers );
ini_set('max_execution_time', 900);
for ($x = 0; $x <= $total_registers; $x++) {
$profile_zipcode = $registers[$x]["18"];
$profile_state = $registers[$x]["23"];
$metas = array(
'profile_zipcode' => $profile_zipcode,
'profile_state' => $profile_state
);
foreach($metas as $key => $value) {
add_user_meta( $main_id, $key, $value);
}
}
提前致谢!
编辑:
我仍然没有找到解决方案。我只想为多个用户运行标准的update_user_meta()函数。
例如
foreach ( $gotten_users as $user ) {
$user_id = $user->ID;
$user_update = update_user_meta($user_id, 'key', $key_value);
}
我搜索并尝试过许多不同的事情但无济于事。任何帮助将不胜感激。
答案 0 :(得分:3)
您应该可以使用get_users()。
看起来像这样:
$users = get_users( ['fields' => ['ID'] ] );
foreach ( $users as $user ) {
$user_update = update_user_meta($user->ID, 'key', $key_value);
}