'', 'accessiweb_primary_color' => '#0066CC', 'accessiweb_position_x' => 'left', 'accessiweb_position_y' => 'bottom', 'accessiweb_offset_x' => 10, 'accessiweb_offset_y' => 10, 'accessiweb_unit_x' => 'px', 'accessiweb_unit_y' => 'px', 'accessiweb_icon_size' => 'medium', 'accessiweb_custom_link' => '', 'accessiweb_target_link' => 'blank', ]; $opts = get_option('accessiweb_widget_settings', []); if (!is_array($opts)) { $opts = []; } return wp_parse_args($opts, $defaults); } /** * Inizializza le opzioni al momento dell’attivazione del plugin * (evita siti che installano il plugin ma non salvano mai la pagina impostazioni). */ function accessiweb_activate_plugin() { $defaults = accessiweb_get_options(); $stored = get_option('accessiweb_widget_settings', null); if (!is_array($stored)) { update_option('accessiweb_widget_settings', $defaults); return; } // Merge per upgrade: aggiunge eventuali nuove chiavi senza rompere settaggi esistenti update_option('accessiweb_widget_settings', wp_parse_args($stored, $defaults)); } register_activation_hook(__FILE__, 'accessiweb_activate_plugin'); // Funzione per aggiungere le opzioni del plugin function accessiweb_add_admin_menu() { $icon_svg = 'data:image/svg+xml;base64,' . base64_encode(''); add_menu_page( 'AccessiWeb Widget', // Titolo della pagina 'AccessiWeb', // Nome del menu 'manage_options', // Capacità necessaria per accedere 'accessiweb-widget', // Slug della pagina 'accessiweb_options_page', // Funzione di callback $icon_svg, // Icona SVG del menu 2 // Posizione nel menu ); } add_action('admin_menu', 'accessiweb_add_admin_menu'); // Funzione per visualizzare la pagina delle opzioni function accessiweb_options_page() { $plugin_url = plugin_dir_url(__FILE__); ?>
AccessiWeb.it - il web accessibile e inclusivo

Configurazione Widget di accessibilità AccessiWeb

AccessiWeb

Il widget AccessiWeb aggiunge al tuo sito web strumenti, regolazioni ed impostazioni rapide progettate per personalizzare l'esperienza di navigazione e fruizione dei contenuti secondo le specifiche necessità degli utenti.

Registrarti gratuitamente e ottieni la tua chiave di licenza su accessiweb.it.



'accessiweb_sanitize_options', ] ); add_settings_section( 'accessiweb_widget_section', 'Impostazioni Widget', 'accessiweb_settings_section_callback', 'accessiweb_widget' ); add_settings_field('accessiweb_license_key', 'License Key', 'accessiweb_license_key_render', 'accessiweb_widget', 'accessiweb_widget_section'); add_settings_field('accessiweb_primary_color', 'Primary Color', 'accessiweb_primary_color_render', 'accessiweb_widget', 'accessiweb_widget_section'); add_settings_field('accessiweb_position_x', 'Position X', 'accessiweb_position_x_render', 'accessiweb_widget', 'accessiweb_widget_section'); add_settings_field('accessiweb_position_y', 'Position Y', 'accessiweb_position_y_render', 'accessiweb_widget', 'accessiweb_widget_section'); add_settings_field('accessiweb_offset_x', 'Offset X', 'accessiweb_offset_x_render', 'accessiweb_widget', 'accessiweb_widget_section'); add_settings_field('accessiweb_offset_y', 'Offset Y', 'accessiweb_offset_y_render', 'accessiweb_widget', 'accessiweb_widget_section'); add_settings_field('accessiweb_unit_x', 'Unit X', 'accessiweb_unit_x_render', 'accessiweb_widget', 'accessiweb_widget_section'); add_settings_field('accessiweb_unit_y', 'Unit Y', 'accessiweb_unit_y_render', 'accessiweb_widget', 'accessiweb_widget_section'); add_settings_field('accessiweb_icon_size', 'Icon Size', 'accessiweb_icon_size_render', 'accessiweb_widget', 'accessiweb_widget_section'); add_settings_field('accessiweb_custom_link', 'Custom Link', 'accessiweb_custom_link_render', 'accessiweb_widget', 'accessiweb_widget_section'); add_settings_field('accessiweb_target_link', 'Target Link', 'accessiweb_target_link_render', 'accessiweb_widget', 'accessiweb_widget_section'); } add_action('admin_init', 'accessiweb_settings_init'); function accessiweb_sanitize_options($input) { // Verifica del nonce if ( !isset($_POST['accessiweb_nonce']) || !wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['accessiweb_nonce'])), 'accessiweb_save_settings') ) { // Non modificare nulla se nonce non valido return accessiweb_get_options(); } // Parti dalle opzioni attuali (con default) e sovrascrivi solo ciò che è valido $sanitized_input = accessiweb_get_options(); if (isset($input['accessiweb_license_key'])) { $sanitized_input['accessiweb_license_key'] = sanitize_text_field($input['accessiweb_license_key']); } if (isset($input['accessiweb_primary_color'])) { $color = sanitize_hex_color($input['accessiweb_primary_color']); if (!empty($color)) { $sanitized_input['accessiweb_primary_color'] = $color; } } if (isset($input['accessiweb_position_x']) && in_array($input['accessiweb_position_x'], ['left', 'right'], true)) { $sanitized_input['accessiweb_position_x'] = sanitize_text_field($input['accessiweb_position_x']); } if (isset($input['accessiweb_position_y']) && in_array($input['accessiweb_position_y'], ['top', 'bottom'], true)) { $sanitized_input['accessiweb_position_y'] = sanitize_text_field($input['accessiweb_position_y']); } if (isset($input['accessiweb_offset_x'])) { $v = absint($input['accessiweb_offset_x']); $sanitized_input['accessiweb_offset_x'] = ($v >= 0 && $v <= 9999) ? $v : 10; } if (isset($input['accessiweb_offset_y'])) { $v = absint($input['accessiweb_offset_y']); $sanitized_input['accessiweb_offset_y'] = ($v >= 0 && $v <= 9999) ? $v : 10; } if (isset($input['accessiweb_unit_x']) && in_array($input['accessiweb_unit_x'], ['px', '%'], true)) { $sanitized_input['accessiweb_unit_x'] = sanitize_text_field($input['accessiweb_unit_x']); } if (isset($input['accessiweb_unit_y']) && in_array($input['accessiweb_unit_y'], ['px', '%'], true)) { $sanitized_input['accessiweb_unit_y'] = sanitize_text_field($input['accessiweb_unit_y']); } if (isset($input['accessiweb_icon_size']) && in_array($input['accessiweb_icon_size'], ['small', 'medium', 'large'], true)) { $sanitized_input['accessiweb_icon_size'] = sanitize_text_field($input['accessiweb_icon_size']); } if (isset($input['accessiweb_custom_link'])) { $sanitized_input['accessiweb_custom_link'] = esc_url_raw($input['accessiweb_custom_link']); } if (isset($input['accessiweb_target_link']) && in_array($input['accessiweb_target_link'], ['self', 'blank'], true)) { $sanitized_input['accessiweb_target_link'] = sanitize_text_field($input['accessiweb_target_link']); } add_settings_error( 'accessiweb_messages', 'accessiweb_message', 'Modifiche salvate.', 'updated' ); return $sanitized_input; } // Callback della sezione function accessiweb_settings_section_callback() { echo 'Configura le impostazioni del widget AccessiWeb qui sotto:'; } // Funzioni per visualizzare i campi del form function accessiweb_license_key_render() { $options = accessiweb_get_options(); ?>

Inserisci la tua License Key AccessiWeb, disponibile all'interno della tua area riservata.

Inserisci il colore primario del Widget in formato esadecimale (default: #0066CC).

Seleziona l'allineamento orizzontale del Widget (default: Left).

Seleziona l'allineamento verticale del Widget (default: Bottom).

Inserisci la distanza orizzontale del Widget (offsetX) in pixel o percentuale (default: 10).

Inserisci la distanza verticale del Widget (offsetY) in pixel o percentuale (default: 10).

Scegli l'unità di misura per la distanza orizzontale (default: px).

Scegli l'unità di misura per la distanza verticale (default: px).

Seleziona la dimensione dell'icona del Widget (default: Medium).

Opzionale: puoi specificare un link alla tua Dichiarazione di Accesibilità. Se non impostato il bottone "Accessibilità" presente nel Widget mostrerà un testo informativo generico riferito al Widget.