2016-11-27 4 views
0

私のサイトのユーザーアカウントのすべてのメタデータをWP機能のupdate_user_metaadd_user_metaの両方で更新する方法を探してきました。私は提案されたソリューションをherehereと記載してみましたが、いずれも動作しませんでした。私は、関数が複数のユーザーのメタデータを一度に更新する方法を許可していないので、以前に試した方法が失敗した原因になる可能性があることを私は信じています。残念ながら、これは私がする必要がある正確です。修正提案や代替方法はありますか?以下は私の以前の試みのコードスニペットです。ループを持つすべてのユーザーアカウントの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); 
    } 

のために私は検索しましたし、無駄に多くの異なるものを試してみました。どんな助けでも大歓迎です。

答えて

1

get_users()を使用することができます。ちょっと@kunruh私はこれをしようとします

$users = get_users(['fields' => ['ID'] ]); 
foreach ($users as $user) { 
    $user_update = update_user_meta($user->ID, 'key', $key_value); 
} 
+0

は、次のようになります – gabed123

関連する問題