从前端更新用户元

时间:2015-09-21 23:12:18

标签: php wordpress

所以,我的wordpress网站有以下表格:

<?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>

因此,有两个用户元素:rh_phonerh_ask

如何更新这两个元的元数据?

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要在表单处理函数中添加与此类似的内容。同时拨打&#34;当前用户&#34;在该函数内部,或通过表单中的隐藏字段传递ID。

$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);
}

您可以在此处找到有关update_post_meta()的更多信息:https://codex.wordpress.org/Function_Reference/update_post_meta。我希望有所帮助。