address_string_to_array( $placeholder ); $default_value = $field_obj->address_string_to_array( $default_value ); } self::include_placeholder( $placeholder, $atts['key'], $atts['field'] ); $atts['field']['placeholder'] = ''; $atts['field']['default_value'] = $default_value[ $atts['key'] ] ?? ''; if ( 'select' === $atts['sub_field']['type'] && ! empty( $atts['field']['read_only'] ) ) { $atts['sub_field']['atts']['disabled'] = 'disabled'; } if ( ! empty( $atts['sub_field']['optional'] ) ) { add_filter( 'frm_field_classes', 'FrmAddressesController::add_optional_class', 20, 2 ); do_action( 'frm_field_input_html', $atts['field'] ); remove_filter( 'frm_field_classes', 'FrmAddressesController::add_optional_class', 20 ); } else { do_action( 'frm_field_input_html', $atts['field'] ); } if ( ! isset( $atts['sub_field']['atts'] ) ) { return; } foreach ( $atts['sub_field']['atts'] as $att_name => $att_value ) { echo ' ' . esc_attr( $att_name ) . '="' . esc_attr( $att_value ) . '"'; } } /** * Include sub-label for field. * * @since 6.34 * * @param array $atts * * @return void */ public static function include_sub_label( $atts ) { self::show_sub_label( $atts ); } /** * Show sub-label for field. * * @since 6.34 * * @param array $atts * * @return void */ public static function show_sub_label( $atts ) { $field = $atts['field']; $option_name = $atts['option_name']; if ( $field[ $option_name ] !== '' ) { echo '
' . wp_kses_post( $field[ $option_name ] ) . '
'; } } /** * Add error class if field has error. * * @since 6.34 * * @param array $atts * * @return void */ public static function maybe_add_error_class( $atts ) { $temp_id = ! empty( $atts['atts']['field_id'] ) ? $atts['atts']['field_id'] : $atts['field']['id']; $has_error = isset( $atts['errors'][ 'field' . $temp_id . '-' . $atts['key'] ] ); if ( $has_error ) { echo ' frm_blank_field'; } } }