2017-05-06 73 views
0

所以我已經變得如此接近,但這裏必定會有一個錯誤。 我在做什麼是我已經將3個自定義字段添加到WP wooCommerce安裝。我已經通過hook和woo模板添加到註冊和我的帳戶頁面。我可以成功地從他們的個人資料區域/前端罰款更新爲用戶。 我被困在的是編輯用戶管理表單更新這些字段。我可以讓字段顯示,但他們只是沒有更新。WP編輯用戶自定義字段更新

尋找想法和幫助。我錯過了什麼?提前致謝。

這是我在我的子主題的functions.php代碼 - ADMIN編輯用戶

function sbb_custom_user_profile_fields($user) { 
?> 
<legend><h4>Reseller Info</h4></legend> 
<table class="form-table"> 
<tr> 
<th> 
    <label for="ssb_reseller_tax_id"><?php _e('Resseller Tax ID'); ?></label> 
</th> 
<td> 
    <input type="text" name="sbb_reseller_tax_id" id="sbb_reseller_tax_id" 
value="<?php echo esc_attr(get_the_author_meta('reseller_tax_id', $user->ID 
)); ?>" class="regular-text" /> 
</td> 
</tr> 
<tr> 
<th> 
    <label for="sbb_title"><?php _e('Title'); ?></label> 
</th> 
<td> 
<input type="text" name="sbb_title" id="sbb_title" value="<?php echo esc_attr(get_the_author_meta('title', $user->ID)); ?>" class="regular-text" /> 
</td> 
</tr> 
<tr> 
<th> 
    <label for="sbb_fax"><?php _e('Fax'); ?></label> 
</th> 
<td> 
    <input type="text" name="sbb_fax" id="sbb_fax" value="<?php echo esc_attr(get_the_author_meta('fax', $user->ID)); ?>" class="regular-text" /> 
</td> 
</tr> 
</table> 
<?php 
update_user_meta(get_the_author_meta($user->ID), 'reseller_tax_id', htmlentities($_POST[ 'reseller_tax_id' ])); 
update_user_meta(get_the_author_meta($user->ID), 'fax', htmlentities($_POST[ 'fax' ])); 
update_user_meta(get_the_author_meta($user->ID), 'title', htmlentities($_POST[ 'title' ])); 
} 

add_action('show_user_profile', 'sbb_custom_user_profile_fields'); 
add_action('edit_user_profile', 'sbb_custom_user_profile_fields'); 
add_action('edit_user_profile_update', 'sbb_custom_user_profile_fields'); 

回答

0

眼前的問題,我與你發佈的代碼看到的是你的前綴的輸入名字。您可以使用元鍵reseller_tax_id保存一個值,但輸入名稱爲sbb_reseller_tax_id。這是您需要在$_POST中使用的輸入名稱。

$_POST[ 'reseller_tax_id' ])將成爲$_POST['sbb_reseller_tax_id'])

我建議檢查的形式已經提出,並且您有試圖保存之前的輸入值。僅查看頁面不應具有執行更新的效果。

+0

謝謝Nathan - 我會放手讓你知道 – SIouxsie

相關問題