这应该放在页面上PHP脚本的顶部附近,以侦听提交的数据。
<?php
if (isset($_POST[\'user_adresse\'])) {
$userID = get_current_user_id();
$userADRESSE = $_POST[\'user_adresse\'];
update_user_meta($userID , \'user_adresse\' , $userADRESSE ); #\'user_adresse\' should be the name of the meta key
} ?>
表格应该是这样的
<?php $user_adresse = get_user_meta(get_current_user_id(), \'user_adresse\', true ); ?>
<form id="form_livraison" action="#formulaire" method=\'post\'>
<input type=\'text\' name=\'user_adresse\' value="<?php echo $user_adresse;?>" />
<input type=\'submit\' value=\'mettre à jour\' name=\'submit_form\' />
</form>
我还建议为任何前端用户交互在表单中添加nonce。
详细信息可以是found here 第节下Adding a nonce to a form
我没有测试过这段代码,所以请检查是否有拼写错误等!!
编辑
<?php
if ( is_user_logged_in() )
{
$user_id = get_current_user_id();
$user_login = get_user_meta( $user_id, \'user_login\', true );
$user_email = get_user_meta( $user_id, \'user_email\', true );
$first_name = get_user_meta( $user_id, \'first_name\', true );
$last_name = get_user_meta( $user_id, \'last_name\', true );
$user_societe = get_user_meta( $user_id, \'user_societe\', true );
$user_adresse = get_user_meta( $user_id, \'user_adresse\', true );
$user_code_postal = get_user_meta( $user_id, \'user_code_postal\', true );
$user_ville = get_user_meta( $user_id, \'user_ville\', true );
$user_url = get_user_meta( $user_id, \'user_url\', true );
echo $_POST[\'user_adresse\']; // This will only show what is posted previously on the page - if you want to dsiplay the saved address use echo $user_adresse
if (isset($_POST[\'user_adresse\'])) {
$userADRESSE = $_POST[\'user_adresse\'];
update_user_meta($user_id , \'user_adresse\' , $userADRESSE ); #\'user_adresse\' should be the name of the meta key
}
?>
<form id="form_livraison" action="#formulaire" method=\'post\'>
<h2>Récapitulatif de vos coordonnées</h2>
<br />
<table style="width:320px">
<tr>
<td>Nom</td>
<td><?php echo $last_name; ?></td>
</tr>
<tr>
<td>Prénom</td>
<td><?php echo $first_name; ?></td>
</tr>
<tr>
<td>Adresse</td>
<td>
<?php if (isset($_POST[\'user_adresse\'])) { ##This means that if you have just updated the post it will show what the post is updated to - otherwise the original meta is displayed.
echo $_POST[\'user_adresse\']; } else { echo $user_adresse; }?></br><input type=\'text\' name=\'user_adresse\' placeholder="Ajouter/Changez votre adresse" /></td>
</tr>
<tr>
<td>Code postal</td>
<td><?php echo $user_code_postal; ?></td>
</tr>
<tr>
<td>Ville</td>
<td><?php echo $user_ville; ?></td>
</tr>
<tr>
<td>Web Adresse</td>
<td><input type=\'text\' name=\'url\' value="<?php echo $user_url;?>" /></td>
</tr>
</table>
<br />
<input type=\'submit\' value=\'mettre à jour\' name=\'submit_form\' />
</form>
