| @@ -1,7 +1,22 @@ | ||
| 1 | -<?php $option_value = $value['value']; ?> | |
| 1 | +<?php | |
| 2 | 2 | |
| 3 | -<tr valign="top"> | |
| 3 | +if ( ! isset( $value ) ) { | |
| 4 | + return; | |
| 5 | +} | |
| 6 | + | |
| 7 | +$option_value = $value['value']; | |
| 8 | +$visibility_class = array(); | |
| 9 | + | |
| 10 | +if ( isset( $value['show_if_checked'] ) ) { | |
| 11 | + $visibility_class[] = 'show_if_' . $value['show_if_checked']; | |
| 12 | + | |
| 13 | + if ( 'no' === LP_Settings::get_option( $value['show_if_checked'] ) ) { | |
| 14 | + $visibility_class[] = 'lp-option-disabled'; | |
| 15 | + } | |
| 16 | +} | |
| 17 | +?> | |
| 18 | +<tr valign="top" class="<?php echo esc_attr( implode( ' ', $visibility_class ) ); ?>"> | |
| 4 | 19 | <th scope="row" class="titledesc"> |
| 5 | 20 | <label for="<?php echo esc_attr( $value['id'] ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post( $tooltip_html ); ?></label> |
| 6 | 21 | </th> |
| 7 | 22 | <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>"> |
| @@ -12,22 +27,40 @@ | ||
| 12 | 27 | class="<?php echo esc_attr( $value['class'] ); ?>" |
| 13 | 28 | <?php echo implode( ' ', $custom_attributes ); ?> |
| 14 | 29 | <?php echo 'multiselect' === $value['type'] ? 'multiple="multiple"' : ''; ?> |
| 15 | 30 | > |
| 16 | - <?php foreach ( $value['options'] as $key => $val ) { ?> | |
| 17 | - <option value="<?php echo esc_attr( $key ); ?>" | |
| 18 | - <?php | |
| 31 | + <?php if ( isset( $value['is_optgroup'] ) && ! empty( $value['is_optgroup'] ) ) : ?> | |
| 32 | + <?php foreach ( $value['options'] as $optgroup_label => $optgroup ) : ?> | |
| 33 | + <optgroup label="<?php echo esc_html( ucfirst( $optgroup_label ) ); ?>"> | |
| 34 | + <?php foreach ( $optgroup as $key => $val ) : ?> | |
| 35 | + <option value="<?php echo esc_attr( $key ); ?>" | |
| 36 | + <?php | |
| 37 | + if ( is_array( $option_value ) ) { | |
| 38 | + selected( in_array( (string) $key, $option_value, true ), true ); | |
| 39 | + } else { | |
| 40 | + selected( $option_value, (string) $key ); | |
| 41 | + } | |
| 42 | + ?> | |
| 43 | + ><?php echo esc_html( $val ); ?></option> | |
| 44 | + <?php endforeach; ?> | |
| 45 | + </optgroup> | |
| 46 | + <?php endforeach; ?> | |
| 47 | + <?php else : ?> | |
| 48 | + <?php foreach ( $value['options'] as $key => $val ) { ?> | |
| 49 | + <option value="<?php echo esc_attr( $key ); ?>" | |
| 50 | + <?php | |
| 19 | 51 | |
| 20 | - if ( is_array( $option_value ) ) { | |
| 21 | - selected( in_array( (string) $key, $option_value, true ), true ); | |
| 22 | - } else { | |
| 23 | - selected( $option_value, (string) $key ); | |
| 52 | + if ( is_array( $option_value ) ) { | |
| 53 | + selected( in_array( (string) $key, $option_value, true ), true ); | |
| 54 | + } else { | |
| 55 | + selected( $option_value, (string) $key ); | |
| 56 | + } | |
| 57 | + | |
| 58 | + ?> | |
| 59 | + ><?php echo esc_html( $val ); ?></option> | |
| 60 | + <?php | |
| 24 | 61 | } |
| 25 | - | |
| 26 | 62 | ?> |
| 27 | - ><?php echo esc_html( $val ); ?></option> | |
| 28 | - <?php | |
| 29 | - } | |
| 30 | - ?> | |
| 63 | + <?php endif; ?> | |
| 31 | 64 | </select><?php echo wp_kses_post( $description ); ?> |
| 32 | 65 | </td> |
| 33 | 66 | </tr> |