/**
* Additional fields for registration form
*/
function custom_form_registration_fields() {
$billing_gender = ! empty( $_POST['billing_gender'] ) ?
$_POST['billing_gender'] : ''; woocommerce_form_field(
'billing_gender',
'label' => __( 'Gender', 'kadence-child' ),
'type' => 'select',
'' => __( 'Select gender', 'kadence-child' ),
'male' => __( 'Male', 'kadence-child' ),
'female' => __( 'Female', 'kadence-child' )
),
'required' => true,
),
$billing_gender
);
$billing_title = ! empty( $_POST['billing_title'] ) ?
$_POST['billing_title'] : ''; woocommerce_form_field(
'billing_title',
'label' => __( 'Title', 'kadence-child' ),
'type' => 'text',
'placeholder' => __( 'Title', 'kadence-child' ),
'required' => false,
),
$billing_title
);
$billing_first_name = ! empty( $_POST['billing_first_name'] ) ?
$_POST['billing_first_name'] : ''; woocommerce_form_field(
'billing_first_name',
'label' => __( 'First name', 'kadence-child' ),
'type' => 'text',
'placeholder' => __( 'First name', 'kadence-child' ),
'class' => array( 'form-row-first' ), 'clear' => true,
'required' => true,
),
$billing_first_name
);
$billing_last_name = ! empty( $_POST['billing_last_name'] ) ?
$_POST['billing_last_name'] : ''; woocommerce_form_field(
'billing_last_name',
'label' => __( 'Last name', 'kadence-child' ),
'type' => 'text',
'placeholder' => __( 'Last name', 'kadence-child' ),
'class' => array( 'form-row-last' ), 'clear' => true,
'required' => true,
),
$billing_last_name
);
}
add_action( 'woocommerce_register_form_start', 'custom_form_registration_fields', 25 );
function custom_validate_registration( $errors ) {
if ( empty( $_POST['billing_gender'] ) ) { $errors->add( 'billing_gender_error', __( 'Choose a gender.', 'kadence-child' ) );
}
if ( empty( $_POST['billing_first_name'] ) ) { $errors->add( 'billing_first_name_error', __( 'Enter a first name, this is a required field.', 'kadence-child' ) );
}
if ( empty( $_POST['billing_last_name'] ) ) { $errors->add( 'billing_last_name_error', __( 'Enter last name, this is a required field.', 'kadence-child' ) );
}
return $errors;
}
add_filter( 'woocommerce_registration_errors', 'custom_validate_registration', 25 );
function custom_save_fields( $user_id ) {
if ( isset( $_POST['billing_gender'] ) && ! empty( $_POST['billing_gender'] ) ) { update_user_meta( $user_id, 'billing_gender', sanitize_text_field( $_POST['billing_gender'] ) );
}
if ( isset( $_POST['billing_title'] ) ) { update_user_meta( $user_id, 'billing_title', sanitize_text_field( $_POST['billing_title'] ) );
}
if ( isset( $_POST['billing_first_name'] ) ) { update_user_meta( $user_id, 'first_name', sanitize_text_field( $_POST['billing_first_name'] ) );
update_user_meta( $user_id, 'billing_first_name', sanitize_text_field( $_POST['billing_first_name'] ) );
}
if ( isset( $_POST['billing_last_name'] ) ) { update_user_meta( $user_id, 'last_name', sanitize_text_field( $_POST['billing_last_name'] ) );
update_user_meta( $user_id, 'billing_last_name', sanitize_text_field( $_POST['billing_last_name'] ) );
}
}
add_action( 'woocommerce_created_customer', 'custom_save_fields', 25 );
LyoqCiAqIEFkZGl0aW9uYWwgZmllbGRzIGZvciByZWdpc3RyYXRpb24gZm9ybQogKi8KZnVuY3Rpb24gY3VzdG9tX2Zvcm1fcmVnaXN0cmF0aW9uX2ZpZWxkcygpIHsKCSRiaWxsaW5nX2dlbmRlciA9ICEgZW1wdHkoICRfUE9TVFsnYmlsbGluZ19nZW5kZXInXSApID8gJF9QT1NUWydiaWxsaW5nX2dlbmRlciddIDogJyc7Cgl3b29jb21tZXJjZV9mb3JtX2ZpZWxkKCAKCQknYmlsbGluZ19nZW5kZXInLCAKCQlhcnJheSgKCQkJJ2xhYmVsJyA9PiBfXyggJ0dlbmRlcicsICdrYWRlbmNlLWNoaWxkJyApLAoJCQkndHlwZScgPT4gJ3NlbGVjdCcsCgkJCSdvcHRpb25zJyA9PiBhcnJheSgKCQkJCScnID0+IF9fKCAnU2VsZWN0IGdlbmRlcicsICdrYWRlbmNlLWNoaWxkJyApLAoJCQkJJ21hbGUnID0+IF9fKCAnTWFsZScsICdrYWRlbmNlLWNoaWxkJyApLAoJCQkJJ2ZlbWFsZScgPT4gX18oICdGZW1hbGUnLCAna2FkZW5jZS1jaGlsZCcgKQoJCQkpLAoJCQkncmVxdWlyZWQnID0+IHRydWUsCgkJKSwKCQkkYmlsbGluZ19nZW5kZXIKCSk7CgoJJGJpbGxpbmdfdGl0bGUgPSAhIGVtcHR5KCAkX1BPU1RbJ2JpbGxpbmdfdGl0bGUnXSApID8gJF9QT1NUWydiaWxsaW5nX3RpdGxlJ10gOiAnJzsKCXdvb2NvbW1lcmNlX2Zvcm1fZmllbGQoIAoJCSdiaWxsaW5nX3RpdGxlJywgCgkJYXJyYXkoCgkJCSdsYWJlbCcgPT4gX18oICdUaXRsZScsICdrYWRlbmNlLWNoaWxkJyApLAoJCQkndHlwZScgPT4gJ3RleHQnLAoJCQkncGxhY2Vob2xkZXInID0+IF9fKCAnVGl0bGUnLCAna2FkZW5jZS1jaGlsZCcgKSwKCQkJJ3JlcXVpcmVkJyA9PiBmYWxzZSwKCQkpLAoJCSRiaWxsaW5nX3RpdGxlCgkpOwoKCSRiaWxsaW5nX2ZpcnN0X25hbWUgPSAhIGVtcHR5KCAkX1BPU1RbJ2JpbGxpbmdfZmlyc3RfbmFtZSddICkgPyAkX1BPU1RbJ2JpbGxpbmdfZmlyc3RfbmFtZSddIDogJyc7Cgl3b29jb21tZXJjZV9mb3JtX2ZpZWxkKCAKCQknYmlsbGluZ19maXJzdF9uYW1lJywgCgkJYXJyYXkoCgkJCSdsYWJlbCcgPT4gX18oICdGaXJzdCBuYW1lJywgJ2thZGVuY2UtY2hpbGQnICksCgkJCSd0eXBlJyA9PiAndGV4dCcsCgkJCSdwbGFjZWhvbGRlcicgPT4gX18oICdGaXJzdCBuYW1lJywgJ2thZGVuY2UtY2hpbGQnICksCgkJCSdjbGFzcycgPT4gYXJyYXkoICdmb3JtLXJvdy1maXJzdCcgKSwKCQkJJ2NsZWFyJyA9PiB0cnVlLAoJCQkncmVxdWlyZWQnID0+IHRydWUsCgkJKSwKCQkkYmlsbGluZ19maXJzdF9uYW1lCgkpOwoKCSRiaWxsaW5nX2xhc3RfbmFtZSA9ICEgZW1wdHkoICRfUE9TVFsnYmlsbGluZ19sYXN0X25hbWUnXSApID8gJF9QT1NUWydiaWxsaW5nX2xhc3RfbmFtZSddIDogJyc7Cgl3b29jb21tZXJjZV9mb3JtX2ZpZWxkKCAKCQknYmlsbGluZ19sYXN0X25hbWUnLCAKCQlhcnJheSgKCQkJJ2xhYmVsJyA9PiBfXyggJ0xhc3QgbmFtZScsICdrYWRlbmNlLWNoaWxkJyApLAoJCQkndHlwZScgPT4gJ3RleHQnLAoJCQkncGxhY2Vob2xkZXInID0+IF9fKCAnTGFzdCBuYW1lJywgJ2thZGVuY2UtY2hpbGQnICksCgkJCSdjbGFzcycgPT4gYXJyYXkoICdmb3JtLXJvdy1sYXN0JyApLAoJCQknY2xlYXInID0+IHRydWUsCgkJCSdyZXF1aXJlZCcgPT4gdHJ1ZSwKCQkpLAoJCSRiaWxsaW5nX2xhc3RfbmFtZQoJKTsKfQoKYWRkX2FjdGlvbiggJ3dvb2NvbW1lcmNlX3JlZ2lzdGVyX2Zvcm1fc3RhcnQnLCAnY3VzdG9tX2Zvcm1fcmVnaXN0cmF0aW9uX2ZpZWxkcycsIDI1ICk7CgoKZnVuY3Rpb24gY3VzdG9tX3ZhbGlkYXRlX3JlZ2lzdHJhdGlvbiggJGVycm9ycyApIHsKCWlmICggZW1wdHkoICRfUE9TVFsnYmlsbGluZ19nZW5kZXInXSApICkgewoJCSRlcnJvcnMtPmFkZCggJ2JpbGxpbmdfZ2VuZGVyX2Vycm9yJywgX18oICdDaG9vc2UgYSBnZW5kZXIuJywgJ2thZGVuY2UtY2hpbGQnICkgKTsKCX0KCglpZiAoIGVtcHR5KCAkX1BPU1RbJ2JpbGxpbmdfZmlyc3RfbmFtZSddICkgKSB7CgkJJGVycm9ycy0+YWRkKCAnYmlsbGluZ19maXJzdF9uYW1lX2Vycm9yJywgX18oICdFbnRlciBhIGZpcnN0IG5hbWUsIHRoaXMgaXMgYSByZXF1aXJlZCBmaWVsZC4nLCAna2FkZW5jZS1jaGlsZCcgKSApOwoJfQoKCWlmICggZW1wdHkoICRfUE9TVFsnYmlsbGluZ19sYXN0X25hbWUnXSApICkgewoJCSRlcnJvcnMtPmFkZCggJ2JpbGxpbmdfbGFzdF9uYW1lX2Vycm9yJywgX18oICdFbnRlciBsYXN0IG5hbWUsIHRoaXMgaXMgYSByZXF1aXJlZCBmaWVsZC4nLCAna2FkZW5jZS1jaGlsZCcgKSApOwoJfQogCglyZXR1cm4gJGVycm9yczsKfQoKYWRkX2ZpbHRlciggJ3dvb2NvbW1lcmNlX3JlZ2lzdHJhdGlvbl9lcnJvcnMnLCAnY3VzdG9tX3ZhbGlkYXRlX3JlZ2lzdHJhdGlvbicsIDI1ICk7CgoKZnVuY3Rpb24gY3VzdG9tX3NhdmVfZmllbGRzKCAkdXNlcl9pZCApIHsKCWlmICggaXNzZXQoICRfUE9TVFsnYmlsbGluZ19nZW5kZXInXSApICYmICEgZW1wdHkoICRfUE9TVFsnYmlsbGluZ19nZW5kZXInXSApICkgewoJCXVwZGF0ZV91c2VyX21ldGEoICR1c2VyX2lkLCAnYmlsbGluZ19nZW5kZXInLCBzYW5pdGl6ZV90ZXh0X2ZpZWxkKCAkX1BPU1RbJ2JpbGxpbmdfZ2VuZGVyJ10gKSApOwoJfQoKCWlmICggaXNzZXQoICRfUE9TVFsnYmlsbGluZ190aXRsZSddICkgKSB7CgkJdXBkYXRlX3VzZXJfbWV0YSggJHVzZXJfaWQsICdiaWxsaW5nX3RpdGxlJywgc2FuaXRpemVfdGV4dF9maWVsZCggJF9QT1NUWydiaWxsaW5nX3RpdGxlJ10gKSApOwoJfQoKCWlmICggaXNzZXQoICRfUE9TVFsnYmlsbGluZ19maXJzdF9uYW1lJ10gKSApIHsKCQl1cGRhdGVfdXNlcl9tZXRhKCAkdXNlcl9pZCwgJ2ZpcnN0X25hbWUnLCBzYW5pdGl6ZV90ZXh0X2ZpZWxkKCAkX1BPU1RbJ2JpbGxpbmdfZmlyc3RfbmFtZSddICkgKTsKCQl1cGRhdGVfdXNlcl9tZXRhKCAkdXNlcl9pZCwgJ2JpbGxpbmdfZmlyc3RfbmFtZScsIHNhbml0aXplX3RleHRfZmllbGQoICRfUE9TVFsnYmlsbGluZ19maXJzdF9uYW1lJ10gKSApOwoJfQoKCWlmICggaXNzZXQoICRfUE9TVFsnYmlsbGluZ19sYXN0X25hbWUnXSApICkgewoJCXVwZGF0ZV91c2VyX21ldGEoICR1c2VyX2lkLCAnbGFzdF9uYW1lJywgc2FuaXRpemVfdGV4dF9maWVsZCggJF9QT1NUWydiaWxsaW5nX2xhc3RfbmFtZSddICkgKTsKCQl1cGRhdGVfdXNlcl9tZXRhKCAkdXNlcl9pZCwgJ2JpbGxpbmdfbGFzdF9uYW1lJywgc2FuaXRpemVfdGV4dF9maWVsZCggJF9QT1NUWydiaWxsaW5nX2xhc3RfbmFtZSddICkgKTsKCX0KIAp9CgphZGRfYWN0aW9uKCAnd29vY29tbWVyY2VfY3JlYXRlZF9jdXN0b21lcicsICdjdXN0b21fc2F2ZV9maWVsZHMnLCAyNSApOw==
/**
* Additional fields for registration form
*/
function custom_form_registration_fields() {
$billing_gender = ! empty( $_POST['billing_gender'] ) ? $_POST['billing_gender'] : '';
woocommerce_form_field(
'billing_gender',
array(
'label' => __( 'Gender', 'kadence-child' ),
'type' => 'select',
'options' => array(
'' => __( 'Select gender', 'kadence-child' ),
'male' => __( 'Male', 'kadence-child' ),
'female' => __( 'Female', 'kadence-child' )
),
'required' => true,
),
$billing_gender
);
$billing_title = ! empty( $_POST['billing_title'] ) ? $_POST['billing_title'] : '';
woocommerce_form_field(
'billing_title',
array(
'label' => __( 'Title', 'kadence-child' ),
'type' => 'text',
'placeholder' => __( 'Title', 'kadence-child' ),
'required' => false,
),
$billing_title
);
$billing_first_name = ! empty( $_POST['billing_first_name'] ) ? $_POST['billing_first_name'] : '';
woocommerce_form_field(
'billing_first_name',
array(
'label' => __( 'First name', 'kadence-child' ),
'type' => 'text',
'placeholder' => __( 'First name', 'kadence-child' ),
'class' => array( 'form-row-first' ),
'clear' => true,
'required' => true,
),
$billing_first_name
);
$billing_last_name = ! empty( $_POST['billing_last_name'] ) ? $_POST['billing_last_name'] : '';
woocommerce_form_field(
'billing_last_name',
array(
'label' => __( 'Last name', 'kadence-child' ),
'type' => 'text',
'placeholder' => __( 'Last name', 'kadence-child' ),
'class' => array( 'form-row-last' ),
'clear' => true,
'required' => true,
),
$billing_last_name
);
}
add_action( 'woocommerce_register_form_start', 'custom_form_registration_fields', 25 );
function custom_validate_registration( $errors ) {
if ( empty( $_POST['billing_gender'] ) ) {
$errors->add( 'billing_gender_error', __( 'Choose a gender.', 'kadence-child' ) );
}
if ( empty( $_POST['billing_first_name'] ) ) {
$errors->add( 'billing_first_name_error', __( 'Enter a first name, this is a required field.', 'kadence-child' ) );
}
if ( empty( $_POST['billing_last_name'] ) ) {
$errors->add( 'billing_last_name_error', __( 'Enter last name, this is a required field.', 'kadence-child' ) );
}
return $errors;
}
add_filter( 'woocommerce_registration_errors', 'custom_validate_registration', 25 );
function custom_save_fields( $user_id ) {
if ( isset( $_POST['billing_gender'] ) && ! empty( $_POST['billing_gender'] ) ) {
update_user_meta( $user_id, 'billing_gender', sanitize_text_field( $_POST['billing_gender'] ) );
}
if ( isset( $_POST['billing_title'] ) ) {
update_user_meta( $user_id, 'billing_title', sanitize_text_field( $_POST['billing_title'] ) );
}
if ( isset( $_POST['billing_first_name'] ) ) {
update_user_meta( $user_id, 'first_name', sanitize_text_field( $_POST['billing_first_name'] ) );
update_user_meta( $user_id, 'billing_first_name', sanitize_text_field( $_POST['billing_first_name'] ) );
}
if ( isset( $_POST['billing_last_name'] ) ) {
update_user_meta( $user_id, 'last_name', sanitize_text_field( $_POST['billing_last_name'] ) );
update_user_meta( $user_id, 'billing_last_name', sanitize_text_field( $_POST['billing_last_name'] ) );
}
}
add_action( 'woocommerce_created_customer', 'custom_save_fields', 25 );