Allow checkboxes in customer profiles, closes #11733
This commit is contained in:
parent
0745f1dc89
commit
4c8a60fa06
|
@ -161,7 +161,7 @@ class WC_Admin_Profile {
|
||||||
<tr>
|
<tr>
|
||||||
<th><label for="<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $field['label'] ); ?></label></th>
|
<th><label for="<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $field['label'] ); ?></label></th>
|
||||||
<td>
|
<td>
|
||||||
<?php if ( ! empty( $field['type'] ) && 'select' == $field['type'] ) : ?>
|
<?php if ( ! empty( $field['type'] ) && 'select' === $field['type'] ) : ?>
|
||||||
<select name="<?php echo esc_attr( $key ); ?>" id="<?php echo esc_attr( $key ); ?>" class="<?php echo ( ! empty( $field['class'] ) ? $field['class'] : '' ); ?>" style="width: 25em;">
|
<select name="<?php echo esc_attr( $key ); ?>" id="<?php echo esc_attr( $key ); ?>" class="<?php echo ( ! empty( $field['class'] ) ? $field['class'] : '' ); ?>" style="width: 25em;">
|
||||||
<?php
|
<?php
|
||||||
$selected = esc_attr( get_user_meta( $user->ID, $key, true ) );
|
$selected = esc_attr( get_user_meta( $user->ID, $key, true ) );
|
||||||
|
@ -169,6 +169,8 @@ class WC_Admin_Profile {
|
||||||
<option value="<?php echo esc_attr( $option_key ); ?>" <?php selected( $selected, $option_key, true ); ?>><?php echo esc_attr( $option_value ); ?></option>
|
<option value="<?php echo esc_attr( $option_key ); ?>" <?php selected( $selected, $option_key, true ); ?>><?php echo esc_attr( $option_value ); ?></option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</select>
|
</select>
|
||||||
|
<?php elseif ( ! empty( $field['type'] ) && 'checkbox' === $field['type'] ) : ?>
|
||||||
|
<input type="checkbox" name="<?php echo esc_attr( $key ); ?>" id="<?php echo esc_attr( $key ); ?>" value="1" class="<?php echo ( ! empty( $field['class'] ) ? $field['class'] : '' ); ?>" <?php checked( (int) esc_attr( get_user_meta( $user->ID, $key, true ) ), 1, true ); ?> />
|
||||||
<?php else : ?>
|
<?php else : ?>
|
||||||
<input type="text" name="<?php echo esc_attr( $key ); ?>" id="<?php echo esc_attr( $key ); ?>" value="<?php echo esc_attr( get_user_meta( $user->ID, $key, true ) ); ?>" class="<?php echo ( ! empty( $field['class'] ) ? $field['class'] : 'regular-text' ); ?>" />
|
<input type="text" name="<?php echo esc_attr( $key ); ?>" id="<?php echo esc_attr( $key ); ?>" value="<?php echo esc_attr( get_user_meta( $user->ID, $key, true ) ); ?>" class="<?php echo ( ! empty( $field['class'] ) ? $field['class'] : 'regular-text' ); ?>" />
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
@ -196,7 +198,9 @@ class WC_Admin_Profile {
|
||||||
|
|
||||||
foreach ( $fieldset['fields'] as $key => $field ) {
|
foreach ( $fieldset['fields'] as $key => $field ) {
|
||||||
|
|
||||||
if ( isset( $_POST[ $key ] ) ) {
|
if ( 'checkbox' == $field['type'] ) {
|
||||||
|
update_user_meta( $user_id, $key, isset( $_POST[ $key ] ) );
|
||||||
|
} elseif ( isset( $_POST[ $key ] ) ) {
|
||||||
update_user_meta( $user_id, $key, wc_clean( $_POST[ $key ] ) );
|
update_user_meta( $user_id, $key, wc_clean( $_POST[ $key ] ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue