Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/wpforms-.../src/Forms/Fields/Address
File: Field.php
$postal_placeholder = ! empty( $field['postal_placeholder'] ) ? $field['postal_placeholder'] : '';
[500] Fix | Delete
$postal_default = ! empty( $field['postal_default'] ) ? $field['postal_default'] : '';
[501] Fix | Delete
$postal_hide = ! empty( $field['postal_hide'] ) ? 'wpforms-hide' : '';
[502] Fix | Delete
$country_hide = ! empty( $field['country_hide'] ) ? 'wpforms-hide' : '';
[503] Fix | Delete
$format = ! empty( $field['format'] ) ? $field['format'] : 'us';
[504] Fix | Delete
$scheme_selected = ! empty( $field['scheme'] ) ? $field['scheme'] : $format;
[505] Fix | Delete
[506] Fix | Delete
// Label.
[507] Fix | Delete
$this->field_preview_option(
[508] Fix | Delete
'label',
[509] Fix | Delete
$field,
[510] Fix | Delete
[
[511] Fix | Delete
'label_badge' => $this->get_field_preview_badge(),
[512] Fix | Delete
]
[513] Fix | Delete
);
[514] Fix | Delete
[515] Fix | Delete
// Field elements.
[516] Fix | Delete
foreach ( $this->schemes as $slug => $scheme ) {
[517] Fix | Delete
[518] Fix | Delete
$address1_label = $scheme['address1_label'] ?? esc_html__( 'Address Line 1', 'wpforms-lite' );
[519] Fix | Delete
$address2_label = $scheme['address2_label'] ?? esc_html__( 'Address Line 2', 'wpforms-lite' );
[520] Fix | Delete
$city_label = $scheme['city_label'] ?? esc_html__( 'City', 'wpforms-lite' );
[521] Fix | Delete
$state_label = $scheme['state_label'] ?? esc_html__( 'State / Province / Region', 'wpforms-lite' );
[522] Fix | Delete
$postal_label = $scheme['postal_label'] ?? esc_html__( 'Postal Code', 'wpforms-lite' );
[523] Fix | Delete
$country_label = $scheme['country_label'] ?? esc_html__( 'Country', 'wpforms-lite' );
[524] Fix | Delete
[525] Fix | Delete
$is_active_scheme = $slug === $scheme_selected;
[526] Fix | Delete
$scheme_hide_class = ! $is_active_scheme ? 'wpforms-hide' : '';
[527] Fix | Delete
[528] Fix | Delete
$state_placeholder = ! empty( $field['state_placeholder'] ) ? $field['state_placeholder'] : '';
[529] Fix | Delete
$state_default = $is_active_scheme && ! empty( $field['state_default'] ) ? $field['state_default'] : '';
[530] Fix | Delete
$country_placeholder = ! empty( $field['country_placeholder'] ) ? $field['country_placeholder'] : '';
[531] Fix | Delete
$country_default = $is_active_scheme && ! empty( $field['country_default'] ) ? $field['country_default'] : '';
[532] Fix | Delete
[533] Fix | Delete
// Wrapper.
[534] Fix | Delete
printf(
[535] Fix | Delete
'<div class="wpforms-address-scheme wpforms-address-scheme-%s %s">',
[536] Fix | Delete
wpforms_sanitize_classes( $slug ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[537] Fix | Delete
wpforms_sanitize_classes( $scheme_hide_class ) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[538] Fix | Delete
);
[539] Fix | Delete
[540] Fix | Delete
// Row 1 - Address Line 1.
[541] Fix | Delete
printf(
[542] Fix | Delete
'<div class="wpforms-field-row wpforms-address-1">
[543] Fix | Delete
<input type="text" placeholder="%s" value="%s" readonly>
[544] Fix | Delete
<label class="wpforms-sub-label">%s</label>
[545] Fix | Delete
</div>',
[546] Fix | Delete
esc_attr( $address1_placeholder ),
[547] Fix | Delete
esc_attr( $address1_default ),
[548] Fix | Delete
esc_html( $address1_label )
[549] Fix | Delete
);
[550] Fix | Delete
[551] Fix | Delete
// Row 2 - Address Line 2.
[552] Fix | Delete
printf(
[553] Fix | Delete
'<div class="wpforms-field-row wpforms-address-2 %s">
[554] Fix | Delete
<input type="text" placeholder="%s" value="%s" readonly>
[555] Fix | Delete
<label class="wpforms-sub-label">%s</label>
[556] Fix | Delete
</div>',
[557] Fix | Delete
wpforms_sanitize_classes( $address2_hide ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[558] Fix | Delete
esc_attr( $address2_placeholder ),
[559] Fix | Delete
esc_attr( $address2_default ),
[560] Fix | Delete
esc_html( $address2_label )
[561] Fix | Delete
);
[562] Fix | Delete
[563] Fix | Delete
// Row 3 - City & State.
[564] Fix | Delete
echo '<div class="wpforms-field-row">';
[565] Fix | Delete
[566] Fix | Delete
// City.
[567] Fix | Delete
printf(
[568] Fix | Delete
'<div class="wpforms-city wpforms-one-half ">
[569] Fix | Delete
<input type="text" placeholder="%s" value="%s" readonly>
[570] Fix | Delete
<label class="wpforms-sub-label">%s</label>
[571] Fix | Delete
</div>',
[572] Fix | Delete
esc_attr( $city_placeholder ),
[573] Fix | Delete
esc_attr( $city_default ),
[574] Fix | Delete
esc_html( $city_label )
[575] Fix | Delete
);
[576] Fix | Delete
[577] Fix | Delete
// State / Providence / Region.
[578] Fix | Delete
echo '<div class="wpforms-state wpforms-one-half last">';
[579] Fix | Delete
[580] Fix | Delete
if ( isset( $scheme['states'] ) && empty( $scheme['states'] ) ) {
[581] Fix | Delete
[582] Fix | Delete
// State text input.
[583] Fix | Delete
printf( '<input type="text" placeholder="%s" value="%s" readonly>', esc_attr( $state_placeholder ), esc_attr( $state_default ) );
[584] Fix | Delete
[585] Fix | Delete
} elseif ( ! empty( $scheme['states'] ) && is_array( $scheme['states'] ) ) {
[586] Fix | Delete
[587] Fix | Delete
$state_option = $this->dropdown_empty_value( (string) $state_label );
[588] Fix | Delete
[589] Fix | Delete
if ( ! empty( $state_placeholder ) ) {
[590] Fix | Delete
$state_option = $state_placeholder;
[591] Fix | Delete
}
[592] Fix | Delete
[593] Fix | Delete
if ( $is_active_scheme && ! empty( $state_default ) ) {
[594] Fix | Delete
$state_option = $scheme['states'][ $state_default ];
[595] Fix | Delete
}
[596] Fix | Delete
[597] Fix | Delete
// State select.
[598] Fix | Delete
printf( '<select readonly> <option class="placeholder" selected>%s</option> </select>', esc_html( $state_option ) );
[599] Fix | Delete
}
[600] Fix | Delete
[601] Fix | Delete
printf( '<label class="wpforms-sub-label">%s</label>', esc_html( $state_label ) );
[602] Fix | Delete
echo '</div>';
[603] Fix | Delete
[604] Fix | Delete
// End row 3 - City & State.
[605] Fix | Delete
echo '</div>';
[606] Fix | Delete
[607] Fix | Delete
// Row 4 - Zip & Country.
[608] Fix | Delete
echo '<div class="wpforms-field-row">';
[609] Fix | Delete
[610] Fix | Delete
// ZIP / Postal.
[611] Fix | Delete
printf(
[612] Fix | Delete
'<div class="wpforms-postal wpforms-one-half %s">
[613] Fix | Delete
<input type="text" placeholder="%s" value="%s" readonly>
[614] Fix | Delete
<label class="wpforms-sub-label">%s</label>
[615] Fix | Delete
</div>',
[616] Fix | Delete
wpforms_sanitize_classes( $postal_hide ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[617] Fix | Delete
esc_attr( $postal_placeholder ),
[618] Fix | Delete
esc_attr( $postal_default ),
[619] Fix | Delete
esc_html( $postal_label )
[620] Fix | Delete
);
[621] Fix | Delete
[622] Fix | Delete
// Country.
[623] Fix | Delete
printf( '<div class="wpforms-country wpforms-one-half last %s">', sanitize_html_class( $country_hide ) );
[624] Fix | Delete
[625] Fix | Delete
if ( isset( $scheme['countries'] ) && empty( $scheme['countries'] ) ) {
[626] Fix | Delete
[627] Fix | Delete
// Country text input.
[628] Fix | Delete
printf( '<input type="text" placeholder="%s" value="%s" readonly>', esc_attr( $country_placeholder ), esc_attr( $country_default ) );
[629] Fix | Delete
[630] Fix | Delete
} elseif ( ! empty( $scheme['countries'] ) && is_array( $scheme['countries'] ) ) {
[631] Fix | Delete
[632] Fix | Delete
$country_option = $this->dropdown_empty_value( (string) $country_label );
[633] Fix | Delete
[634] Fix | Delete
if ( ! empty( $country_placeholder ) ) {
[635] Fix | Delete
$country_option = $country_placeholder;
[636] Fix | Delete
}
[637] Fix | Delete
[638] Fix | Delete
if ( $is_active_scheme && ! empty( $country_default ) ) {
[639] Fix | Delete
$country_option = $scheme['countries'][ $country_default ];
[640] Fix | Delete
}
[641] Fix | Delete
[642] Fix | Delete
// Country select.
[643] Fix | Delete
printf( '<select readonly><option class="placeholder" selected>%s</option></select>', esc_html( $country_option ) );
[644] Fix | Delete
printf( '<label class="wpforms-sub-label">%s</label>', esc_html( $country_label ) );
[645] Fix | Delete
}
[646] Fix | Delete
[647] Fix | Delete
echo '</div>';
[648] Fix | Delete
[649] Fix | Delete
// End row 4 - Zip & Country.
[650] Fix | Delete
echo '</div>';
[651] Fix | Delete
[652] Fix | Delete
// End wrapper.
[653] Fix | Delete
echo '</div>';
[654] Fix | Delete
}
[655] Fix | Delete
[656] Fix | Delete
// Description.
[657] Fix | Delete
$this->field_preview_option( 'description', $field );
[658] Fix | Delete
}
[659] Fix | Delete
[660] Fix | Delete
/**
[661] Fix | Delete
* Field display on the form front-end.
[662] Fix | Delete
*
[663] Fix | Delete
* @since 1.9.4
[664] Fix | Delete
*
[665] Fix | Delete
* @param array $field Field data and settings.
[666] Fix | Delete
* @param array $deprecated Deprecated field attributes. Use field properties instead.
[667] Fix | Delete
* @param array $form_data Form data and settings.
[668] Fix | Delete
*/
[669] Fix | Delete
public function field_display( $field, $deprecated, $form_data ) {
[670] Fix | Delete
}
[671] Fix | Delete
[672] Fix | Delete
/**
[673] Fix | Delete
* Output "Default" option fields for State/Country subfields.
[674] Fix | Delete
*
[675] Fix | Delete
* The default value should be set only for the scheme it belongs to.
[676] Fix | Delete
*
[677] Fix | Delete
* @since 1.9.4
[678] Fix | Delete
*
[679] Fix | Delete
* @param array $field Address field data.
[680] Fix | Delete
* @param string $subfield_slug Subfield slug, either `state` or `country`.
[681] Fix | Delete
* @param string $subfield_key Subfield key in `$scheme` data, either `states` or `countries`.
[682] Fix | Delete
*
[683] Fix | Delete
* @noinspection HtmlUnknownAttribute
[684] Fix | Delete
*/
[685] Fix | Delete
private function subfield_default( array $field, string $subfield_slug, string $subfield_key ): void {
[686] Fix | Delete
[687] Fix | Delete
// Scheme or default value may not be set yet.
[688] Fix | Delete
$active_scheme = ! empty( $field['scheme'] ) ? $field['scheme'] : 'us';
[689] Fix | Delete
$default_value = ! empty( $field[ "{$subfield_slug}_default" ] ) ? $field[ "{$subfield_slug}_default" ] : '';
[690] Fix | Delete
[691] Fix | Delete
foreach ( $this->schemes as $scheme_slug => $scheme_data ) {
[692] Fix | Delete
[693] Fix | Delete
$subfield_label = empty( $scheme_data[ $subfield_slug . '_label' ] ) ? ucfirst( $subfield_slug ) : $scheme_data[ $subfield_slug . '_label' ];
[694] Fix | Delete
$empty_value = $this->dropdown_empty_value( $subfield_label );
[695] Fix | Delete
$is_active_scheme = $scheme_slug === $active_scheme;
[696] Fix | Delete
[697] Fix | Delete
// If a scheme contains an array of values, we display a select dropdown. Otherwise, text input.
[698] Fix | Delete
if ( ! empty( $scheme_data[ $subfield_key ] ) && is_array( $scheme_data[ $subfield_key ] ) ) {
[699] Fix | Delete
[700] Fix | Delete
$options_escaped = sprintf( '<option value="">%s</option>', esc_html( $empty_value ) );
[701] Fix | Delete
[702] Fix | Delete
foreach ( $scheme_data[ $subfield_key ] as $value => $label ) {
[703] Fix | Delete
$options_escaped .= sprintf(
[704] Fix | Delete
'<option value="%s"%s>%s</option>',
[705] Fix | Delete
esc_attr( $value ),
[706] Fix | Delete
$is_active_scheme ? selected( $default_value, $value, false ) : '',
[707] Fix | Delete
esc_html( $label )
[708] Fix | Delete
);
[709] Fix | Delete
}
[710] Fix | Delete
[711] Fix | Delete
if ( $is_active_scheme ) {
[712] Fix | Delete
printf(
[713] Fix | Delete
'<select class="default" id="wpforms-field-option-%1$s-%2$s_default" name="fields[%1$s][%2$s_default]" data-scheme="%3$s">%4$s</select>',
[714] Fix | Delete
wpforms_validate_field_id( $field['id'] ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[715] Fix | Delete
esc_attr( $subfield_slug ),
[716] Fix | Delete
esc_attr( $scheme_slug ),
[717] Fix | Delete
$options_escaped // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[718] Fix | Delete
);
[719] Fix | Delete
[720] Fix | Delete
continue;
[721] Fix | Delete
}
[722] Fix | Delete
[723] Fix | Delete
printf(
[724] Fix | Delete
'<select class="default wpforms-hidden-strict" id="" name="" data-scheme="%s">%s</select>',
[725] Fix | Delete
esc_attr( $scheme_slug ),
[726] Fix | Delete
$options_escaped // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[727] Fix | Delete
);
[728] Fix | Delete
[729] Fix | Delete
continue;
[730] Fix | Delete
}
[731] Fix | Delete
[732] Fix | Delete
if ( $is_active_scheme ) {
[733] Fix | Delete
printf(
[734] Fix | Delete
'<input type="text" class="default" id="wpforms-field-option-%1$s-%2$s_default" name="fields[%1$s][%2$s_default]" value="%3$s" data-scheme="%4$s">',
[735] Fix | Delete
wpforms_validate_field_id( $field['id'] ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[736] Fix | Delete
esc_attr( $subfield_slug ),
[737] Fix | Delete
esc_attr( $default_value ),
[738] Fix | Delete
esc_attr( $scheme_slug )
[739] Fix | Delete
);
[740] Fix | Delete
[741] Fix | Delete
continue;
[742] Fix | Delete
}
[743] Fix | Delete
[744] Fix | Delete
printf(
[745] Fix | Delete
'<input type="text" class="default wpforms-hidden-strict" id="" name="" value="" data-scheme="%s">',
[746] Fix | Delete
esc_attr( $scheme_slug )
[747] Fix | Delete
);
[748] Fix | Delete
}
[749] Fix | Delete
}
[750] Fix | Delete
[751] Fix | Delete
/**
[752] Fix | Delete
* Get a select dropdown "placeholder" option which is displayed if nothing is selected.
[753] Fix | Delete
*
[754] Fix | Delete
* @since 1.9.4
[755] Fix | Delete
*
[756] Fix | Delete
* @param string $name Select field name, can be lowercase or uppercase.
[757] Fix | Delete
*
[758] Fix | Delete
* @return string
[759] Fix | Delete
*/
[760] Fix | Delete
protected function dropdown_empty_value( string $name ): string {
[761] Fix | Delete
[762] Fix | Delete
return sprintf( /* translators: %s - subfield name, e.g., state, country. */
[763] Fix | Delete
__( '--- Select %s ---', 'wpforms-lite' ),
[764] Fix | Delete
$name
[765] Fix | Delete
);
[766] Fix | Delete
}
[767] Fix | Delete
}
[768] Fix | Delete
[769] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function