我添加了一个额外的注册字段:
function wooc_extra_register_fields() {
?><p class="form-row form-row-first">
<label for="billing_cpf"><?php _e( \'CPF\', \'woocommerce\' ); ?> <span class="required">*</span></label>
<input type="text" class="input-text" name="billing_cpf" id="billing_cpf" value="<?php
if ( ! empty( $_POST[\'billing_cpf\'] ) ) esc_attr_e( $_POST[\'billing_cpf\'] ); ?>" />
</p><?php
}
add_action( \'woocommerce_register_form_start\', \'wooc_extra_register_fields\' );
function wooc_save_extra_register_fields( $customer_id ) {
if ( isset( $_POST[\'billing_cpf\'] ) ) {
update_user_meta( $customer_id, \'billing_cpf\', sanitize_text_field( $_POST[\'billing_cpf\'] ) );
}
}
add_action( \'woocommerce_created_customer\', \'wooc_save_extra_register_fields\' );
我添加了一个掩码和一些函数来验证信息。此信息以以下代码保存并显示在WordPress仪表板上:
function theme_add_user_cpf_column( $columns ) {
$columns[\'billing_cpf\'] = __( \'CPF\', \'theme\' );
return $columns;
}
add_filter( \'manage_users_columns\', \'theme_add_user_cpf_column\' );
function theme_show_user_cpf_data( $value, $column_name, $user_id ) {
if( \'billing_cpf\' == $column_name ) {
return get_user_meta( $user_id, \'billing_cpf\', true );
}
}
add_action( \'manage_users_custom_column\', \'theme_show_user_cpf_data\', 10, 3 );
一切正常,但我需要检查meta
billing_cpf
保存前已存在(每个用户的唯一信息)。我该怎么做?