'array', 'sanitize_callback' => 'acsfc_sanitize_settings', 'default' => acsfc_default_settings(), ) ); } add_action( 'admin_init', 'acsfc_register_settings' ); /** * Sanitize the submitted settings. * * @param mixed $input Raw input. * @return array Sanitized settings. */ function acsfc_sanitize_settings( $input ) { $defaults = acsfc_default_settings(); if ( ! is_array( $input ) ) { return $defaults; } $regions = acsfc_get_regions(); $vehicles = acsfc_get_vehicles(); $region = isset( $input['default_region'] ) ? sanitize_key( $input['default_region'] ) : ''; $vehicle = isset( $input['default_vehicle'] ) ? sanitize_key( $input['default_vehicle'] ) : ''; return array( 'default_region' => isset( $regions[ $region ] ) ? $region : $defaults['default_region'], 'default_vehicle' => isset( $vehicles[ $vehicle ] ) ? $vehicle : $defaults['default_vehicle'], 'title_text' => isset( $input['title_text'] ) ? sanitize_text_field( $input['title_text'] ) : '', 'tax_rate' => isset( $input['tax_rate'] ) ? max( 0, min( 100, absint( $input['tax_rate'] ) ) ) : $defaults['tax_rate'], 'show_credit' => ! empty( $input['show_credit'] ), ); } /** * Enqueue the settings screen stylesheet. * * @param string $hook Current admin page hook. * @return void */ function acsfc_admin_enqueue( $hook ) { if ( 'settings_page_acsfc-settings' !== $hook ) { return; } wp_enqueue_style( 'acsfc-admin', ACSFC_PLUGIN_URL . 'assets/css/admin.css', array(), ACSFC_VERSION ); } add_action( 'admin_enqueue_scripts', 'acsfc_admin_enqueue' ); /** * Render the settings page. * * @return void */ function acsfc_settings_page() { if ( ! current_user_can( 'manage_options' ) ) { return; } $settings = acsfc_get_settings(); $regions = acsfc_get_regions(); $vehicles = acsfc_get_vehicles(); ?>

[acsfc_calculator]

  • [acsfc_calculator region="kinki"] —
  • [acsfc_calculator vehicle="large"] —

' . esc_html( implode( ', ', array_keys( $regions ) ) ) . '', '' . esc_html( implode( ', ', array_keys( $vehicles ) ) ) . '' ); ?>

ACS Developer' ); ?>