update_user_meta/add_user_meta 对于所有具有循环的用户帐户

update_user_meta/add_user_meta for all user accounts with loop

我一直在寻找一种方法来使用内置的 WP 函数 update_user_metaadd_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);
}