New_Account_Section::render_state_field( $args )
Summary
No summary available.Source
File: src/BigCommerce/Settings/Sections/New_Account_Section.php
public function render_state_field( $args ) { $submission = get_option( Create_Account_Screen::SUBMITTED_DATA, [] ); $option = $args[ 'option' ]; /** * This filter is documented in src/BigCommerce/Templates/Address_Form.php */ $args[ 'default' ] = apply_filters( 'bigcommerce/address/default_state', '' ); /** * This filter is documented in src/BigCommerce/Templates/Address_Form.php */ $country = apply_filters( 'bigcommerce/address/default_country', 'United States' ); if ( ! empty( $submission[ self::STORE_INFO ][ 'country' ] ) ) { $country = $submission[ self::STORE_INFO ][ $option ]; } list( $countries, $states ) = $this->get_countries_and_states( $country ); if ( ! empty( $submission[ self::STORE_INFO ][ $option ] ) ) { $value = $submission[ self::STORE_INFO ][ $option ]; } else { $value = $args[ 'default' ]; } if ( empty( $states ) ) { printf( '<input id="field-%s-%s" type="text" name="%s[%s]" data-js="bc-dynamic-state-control" value="%s" class="regular-text code" data-lpignore="true" />', esc_attr( self::STORE_INFO ), esc_attr( $option ), esc_attr( self::STORE_INFO ), esc_attr( $option ), esc_attr( $value ) ); } else { printf( '<select id="field-%s-%s" name="%s[%s]" data-js="bc-dynamic-state-control">', esc_attr( self::STORE_INFO ), esc_attr( $option ), esc_attr( self::STORE_INFO ), esc_attr( $option ) ); foreach ( $states as $state_abbr => $state_name ) { printf( '<option value="%s" data-state-abbr="%s" %s>%s</option>', esc_attr( $state_abbr ), esc_attr( $state_abbr ), selected( $value, $state_abbr, false ), esc_html( $state_name ) ); } echo '</select>'; } }