';
}
// Description.
$this->field_preview_option( 'description', $field );
}
/**
* Field display on the form front-end.
*
* @since 1.9.4
*
* @param array $field Field data and settings.
* @param array $deprecated Deprecated field attributes. Use field properties instead.
* @param array $form_data Form data and settings.
*/
public function field_display( $field, $deprecated, $form_data ) {
}
/**
* Output "Default" option fields for State/Country subfields.
*
* The default value should be set only for the scheme it belongs to.
*
* @since 1.9.4
*
* @param array $field Address field data.
* @param string $subfield_slug Subfield slug, either `state` or `country`.
* @param string $subfield_key Subfield key in `$scheme` data, either `states` or `countries`.
*
* @noinspection HtmlUnknownAttribute
*/
private function subfield_default( array $field, string $subfield_slug, string $subfield_key ): void {
// Scheme or default value may not be set yet.
$active_scheme = ! empty( $field['scheme'] ) ? $field['scheme'] : 'us';
$default_value = ! empty( $field[ "{$subfield_slug}_default" ] ) ? $field[ "{$subfield_slug}_default" ] : '';
foreach ( $this->schemes as $scheme_slug => $scheme_data ) {
$subfield_label = empty( $scheme_data[ $subfield_slug . '_label' ] ) ? ucfirst( $subfield_slug ) : $scheme_data[ $subfield_slug . '_label' ];
$empty_value = $this->dropdown_empty_value( $subfield_label );
$is_active_scheme = $scheme_slug === $active_scheme;
// If a scheme contains an array of values, we display a select dropdown. Otherwise, text input.
if ( ! empty( $scheme_data[ $subfield_key ] ) && is_array( $scheme_data[ $subfield_key ] ) ) {
$options_escaped = sprintf( '', esc_html( $empty_value ) );
foreach ( $scheme_data[ $subfield_key ] as $value => $label ) {
$options_escaped .= sprintf(
'',
esc_attr( $value ),
$is_active_scheme ? selected( $default_value, $value, false ) : '',
esc_html( $label )
);
}
if ( $is_active_scheme ) {
printf(
'',
wpforms_validate_field_id( $field['id'] ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
esc_attr( $subfield_slug ),
esc_attr( $scheme_slug ),
$options_escaped // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
);
continue;
}
printf(
'',
esc_attr( $scheme_slug ),
$options_escaped // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
);
continue;
}
if ( $is_active_scheme ) {
printf(
'',
wpforms_validate_field_id( $field['id'] ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
esc_attr( $subfield_slug ),
esc_attr( $default_value ),
esc_attr( $scheme_slug )
);
continue;
}
printf(
'',
esc_attr( $scheme_slug )
);
}
}
/**
* Get a select dropdown "placeholder" option which is displayed if nothing is selected.
*
* @since 1.9.4
*
* @param string $name Select field name, can be lowercase or uppercase.
*
* @return string
*/
protected function dropdown_empty_value( string $name ): string {
return sprintf( /* translators: %s - subfield name, e.g., state, country. */
__( '--- Select %s ---', 'wpforms-lite' ),
$name
);
}
}
Contacto - Gruas LT
Ir al contenido
Contacta con nosotros
¿Tienes un proyecto?
Si tienes dudas, inquietudes o simplemente quieres empezar a planificar con criterio, contacta con nosotros. Te escuchamos, sin compromiso y con total confidencialidad.
Teléfono
976 970 668 644 66 02 75
Ubicación
Pol. Ind. El Espartal Ctra. Castellón km 21 50730 El Burgo de Ebro, Zaragoza