update_user_meta/add_user_meta 对于所有具有循环的用户帐户
update_user_meta/add_user_meta for all user accounts with loop
我一直在寻找一种方法来使用内置的 WP 函数 update_user_meta
和 add_user_meta
来更新我网站的所有用户帐户元数据。我尝试了 and 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);
}
我搜索并尝试了很多不同的方法都无济于事。任何帮助将不胜感激。
您应该可以使用 get_users()。
看起来像这样:
$users = get_users( ['fields' => ['ID'] ] );
foreach ( $users as $user ) {
$user_update = update_user_meta($user->ID, 'key', $key_value);
}
我一直在寻找一种方法来使用内置的 WP 函数 update_user_meta
和 add_user_meta
来更新我网站的所有用户帐户元数据。我尝试了
尝试 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);
}
我搜索并尝试了很多不同的方法都无济于事。任何帮助将不胜感激。
您应该可以使用 get_users()。
看起来像这样:
$users = get_users( ['fields' => ['ID'] ] );
foreach ( $users as $user ) {
$user_update = update_user_meta($user->ID, 'key', $key_value);
}