So, I have a following form for my wordpress site:
<?php
$current_user = wp_get_current_user();
?>
<div class="rh_contact_form">
<div class="mdl-textfield rhc_phone_number_class">
<?php if ( is_user_logged_in() ) { ?>
<?php echo '<input type="text" id="rhc_phone" name="rhc_phone" placeholder="Phone number" value="' .$current_user -> rh_phone. '"/>' ;?>
<?php }else{ ?>
<input class="mdl-textfield__input" type="text" id="rhc_phone" name="rhc_phone" placeholder="Phone number" value=""/>
<?php } ?>
</div>
<div class="rhc_ask">
<textarea class="mdl-textfield__input" type="text" rows= "3" id="rhc_ask" name="rhc_ask" placeholder="Ask seller"></textarea>
</div>
<input type="submit">Submit</input>
</div>
So, there are two user metakeys: rh_phone
, and rh_ask
How do I update the metavalue for these two?
Thanks!
You'll need to add something similar to this inside your forms processing function. Also call the "current user" inside of that function, or pass the ID through a hidden field in your form.
$current_user = wp_get_current_user();
$rh_phone = sanitize_text_field($_POST['rh_phone']);
$rh_ask= sanitize_text_field($_POST['rh_ask']);
if( isset($rh_phone) ){
update_post_meta($current_user, 'rh_phone', $rh_phone);
}
if( isset($rh_ask) ){
update_post_meta($current_user, 'rh_ask', $rh_ask);
}
You could find more info on update_post_meta() here: https://codex.wordpress.org/Function_Reference/update_post_meta. I hope that helps.