在 WooCommerce 的帐户页面上显示高级自定义字段数据,可以通过以下步骤实现:
woocommerce_edit_account_form
钩子来添加自定义字段。例如,你可以添加一个文本字段来存储用户的生日信息。woocommerce_save_account_details
钩子来保存用户在帐户页面上输入的自定义字段数据。然后,使用 woocommerce_edit_account_form_start
钩子来在帐户页面上显示自定义字段。你可以使用 get_user_meta
函数来获取用户的自定义字段值,并将其显示在相应的输入字段中。woocommerce_save_account_details
钩子来更新用户的自定义字段数据。在保存用户帐户详情时,你可以使用 update_user_meta
函数来更新用户的自定义字段值。以下是一个示例代码,演示如何在 WooCommerce 帐户页面上显示和更新自定义字段数据:
// 添加自定义字段
function add_custom_fields() {
// 添加生日字段
woocommerce_form_field( 'birthday', array(
'type' => 'text',
'class' => array('form-row-wide'),
'label' => __('Birthday', 'woocommerce'),
'placeholder' => __('YYYY-MM-DD', 'woocommerce'),
'required' => false,
), get_user_meta( get_current_user_id(), 'birthday', true ) ); // 获取并显示用户的生日信息
}
add_action( 'woocommerce_edit_account_form', 'add_custom_fields' );
// 保存自定义字段数据
function save_custom_fields( $user_id ) {
// 更新生日字段值
if ( isset( $_POST['birthday'] ) ) {
update_user_meta( $user_id, 'birthday', sanitize_text_field( $_POST['birthday'] ) );
}
}
add_action( 'woocommerce_save_account_details', 'save_custom_fields' );
// 显示自定义字段值
function display_custom_fields() {
$user_id = get_current_user_id();
$birthday = get_user_meta( $user_id, 'birthday', true ); // 获取用户的生日信息
?>
<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
<label for="birthday"><?php _e( 'Birthday', 'woocommerce' ); ?></label>
<input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="birthday" id="birthday" value="<?php echo esc_attr( $birthday ); ?>" placeholder="<?php esc_attr_e( 'YYYY-MM-DD', 'woocommerce' ); ?>" />
</p>
<?php
}
add_action( 'woocommerce_edit_account_form_start', 'display_custom_fields' );
这样,用户在 WooCommerce 帐户页面上就可以看到一个名为 "Birthday" 的自定义字段,并且可以输入和保存生日信息。
对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,建议你参考腾讯云的官方文档或咨询腾讯云的技术支持,以获取与云计算相关的产品和服务信息。
领取专属 10元无门槛券
手把手带您无忧上云