namespace WPForms\Forms\Fields\Address;
use WPForms\Forms\Fields\Base\Frontend as FrontendBase;
* Address field frontend class.
class Frontend extends FrontendBase {
* @noinspection ReturnTypeCanBeDeclaredInspection
public function hooks() {
add_filter( 'wpforms_frontend_strings', [ $this, 'strings' ] );
add_action( 'wpforms_wp_footer', [ $this, 'assets_footer' ], 15 );
* Add address field related settings to a wpforms_settings array.
* @param array|mixed $strings The wpforms_settings array.
public function strings( $strings ): array {
$strings = (array) $strings;
* Modify the list of countries without states.
* @param array $countries The list of country codes, defaults to [ 'GB', 'DE', 'CH', 'NL' ].
$countries = (array) apply_filters( 'wpforms_forms_fields_address_frontend_strings_list_countries_without_states', [ 'GB', 'DE', 'CH', 'NL' ] );
$strings['address_field']['list_countries_without_states'] = array_map( 'strtoupper', $countries );
* Load the assets needed for the Address field.
public function assets_footer(): void {
$min = wpforms_get_min_suffix();
WPFORMS_PLUGIN_URL . "assets/js/frontend/fields/address{$min}.js",