array('label' => __('Search range', 'gmst_acf' ), 'key' => 'gmst_acf_field_range'), 'google-key' => array('label' => __('Google Maps Api Key', 'gmst_acf' ), 'key' => 'gmst_acf_field_api_key'), 'field-name' => array('label' => __('Google Maps input name', 'gmst_acf' ), 'key' => 'gmst_acf_field_name'), 'submit-btn' => array('label' => __('Save', 'gmst_acf' ), 'key' => 'gmst_acf_settings'), 'latitude' => array('label' => 'Latitude', 'key' => 'gmst_acf_city_lat'), 'longitude' => array('label' => 'Longitude', 'key' => 'gmst_acf_city_lng'), 'city-name' => array( 'label' => __( 'City' ), 'key' => 'gmst_acf_city_name' ) ); } static function initHooks() { if ( is_admin() ) { add_action( 'admin_menu', 'GMST_ACF_Settings::add_admin_page' ); } } static function setDefaultOptions(){ // Set default range to 10 update_option(self::getOptionKey('range'), '10'); } static function getOptionKey($option){ return self::$options[$option]['key']; } static function deleteOptions() { foreach ( self::$options as $option ) { delete_option( $option['key'] ); } } static function add_admin_page() { add_submenu_page( 'options-general.php', 'ACF Google Maps Search Tool', 'ACF Google Maps Search', 'manage_options', 'gmst_acf', 'GMST_ACF_Settings::load_form_settings' ); } static function load_form_settings() { if ( isset( $_POST[self::getOptionKey('submit-btn')] ) ) { update_option( self::getOptionKey('field-name'), esc_attr( str_replace( ' ', '', $_POST[self::getOptionKey('field-name')] ) ) ); update_option( self::getOptionKey('range'), esc_attr( str_replace( ' ', '', $_POST[self::getOptionKey('range')] ) ) ); update_option( self::getOptionKey('google-key'), esc_attr( str_replace( ' ', '', $_POST[self::getOptionKey('google-key')] ) ) ); } ?>