web-dev-qa-db-fra.com

Comment mettre à jour des données sérialisées dans les métadonnées de l'utilisateur

Dans ma table wp_usermeta, j'ai un champ appelé "wp_s2member_custom_fields"

En il est stocké cette valeur:

a: 2: {s: 6: "anciens"; s: 3: "Oui"; s: 19: "dons recueillis"; s: 2: "10";}

J'essaie d'utiliser:

update_user_meta ($ team_member_id, wp_s2member_custom_fields, $ meta_value)

Pour mettre à jour "donations_collected" de 10 à 11.

Que devrais-je mettre dans $ meta_value?

2
user608329

C’est juste PHP sérialisé tableau. Vous obtiendrez le même résultat avec ce code:

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

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

Donc, si vous voulez changer la valeur de donations_collected en 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