web-dev-qa-db-ja.com

ユーザーメタデータのシリアル化されたデータを更新する方法

私のwp_usermetaテーブルには、 "wp_s2member_custom_fields"というフィールドがあります。

この値が格納されています:

a:2:{s:6: "卒業生"; s:3: "はい"; s:19: "donations_collected"; s:2: "10";}

使用しようとしています:

update_user_meta($ team_member_id、wp_s2member_custom_fields、$ meta_value)

"donations_collected"を10から11に更新します。

$ meta_valueには何を入れるべきですか?

2
user608329

それはPHP シリアライズされた 配列表記だけです。このコードでも同じ結果が得られます。

$meta_value = array(
    'alumni' => 'Yes',
    'donations_collected' => '10'
    );

update_user_meta( $team_member_id, 'wp_s2member_custom_fields', $meta_value);

そのため、donations_collectedの値を11に変更したい場合は、

$meta_value = get_user_meta( $team_member_id, 'wp_s2member_custom_fields', true );    
$meta_value['donations_collected']++;
update_user_meta( $team_member_id, 'wp_s2member_custom_fields', $meta_value);
6
goldenapples