我有自定义结帐字段favorite_color,用户可以在结账时填写(不需要),类似于其他默认结帐字段...
在"编辑帐户"的"我的帐户"部分中,我想添加favorite_color自定义字段以允许客户编辑此字段值.
为此,我myaccount/form-edit-account.php通过复制和编辑其中的原始代码行来编辑模板:
<p class="woocommerce-form-row woocommerce-form-row--first form-row form-row-first">
<label for="account_first_name"><?php _e( 'First name', 'woocommerce' ); ?> <span class="required">*</span></label>
<input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="account_first_name" id="account_first_name" value="<?php echo esc_attr( $user->first_name ); ?>" />
</p>
Run Code Online (Sandbox Code Playgroud)
我更换了account_first_name我favorite_color和场均显示在现场保存的值(感谢$user->favorite_color)
但不好的是,它没有得到保存.
我必须添加什么代码才能使其正常工作并获得保存?
原始模板代码是:
<?php
/**
* Edit account form
*
* This template can be overridden by copying it to yourtheme/woocommerce/myaccount/form-edit-account.php.
*
* HOWEVER, on occasion WooCommerce will need to update template …Run Code Online (Sandbox Code Playgroud) 在WooCommerce中,我已经能够在“编辑帐户”页面中添加自定义字段。我尝试添加第二个自定义字段“ Favorite Color 2”,但无法正常工作,这是我做错了。
如何在“编辑帐户”页面中添加/保存其他自定义字段?
// Add the custom field "favorite_color"
add_action( 'woocommerce_edit_account_form', 'add_favorite_color_to_edit_account_form' );
function add_favorite_color_to_edit_account_form() {
$user = wp_get_current_user();
?>
<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
<label for="favorite_color"><?php _e( 'Favorite color', 'woocommerce' ); ?>
<input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="favorite_color" id="favorite_color" value="<?php echo esc_attr( $user->favorite_color ); ?>" />
</p>
<?php
}
// Save the custom field 'favorite_color'
add_action( 'woocommerce_save_account_details', 'save_favorite_color_account_details', 12, 1 );
function save_favorite_color_account_details( $user_id ) {
// For Favorite color
if( isset( $_POST['favorite_color'] ) )
update_user_meta( $user_id, …Run Code Online (Sandbox Code Playgroud)