/* Widget Name: Button Description: Create a custom button with flexible styling, icon support, and click tracking functionality. Author: SiteOrigin Author URI: https://siteorigin.com Documentation: https://siteorigin.com/widgets-bundle/button-widget-documentation/ Keywords: event, icon, link */ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget { public function __construct() { parent::__construct( 'sow-button', __( 'SiteOrigin Button', 'so-widgets-bundle' ), array( 'description' => __( 'Create a custom button with flexible styling, icon support, and click tracking functionality.', 'so-widgets-bundle' ), 'help' => 'https://siteorigin.com/widgets-bundle/button-widget-documentation/', ), array( ), false, plugin_dir_path( __FILE__ ) ); } public function get_settings_form() { return array( 'responsive_breakpoint' => array( 'type' => 'measurement', 'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ), 'default' => '780px', 'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px.', 'so-widgets-bundle' ), ), ); } public function initialize() { $this->register_frontend_styles( array( array( 'sow-button-base', plugin_dir_url( __FILE__ ) . 'css/style.css', array(), SOW_BUNDLE_VERSION, ), ) ); } public function get_widget_form() { return array( 'text' => array( 'type' => 'text', 'label' => __( 'Button Text', 'so-widgets-bundle' ), ), 'url' => array( 'type' => 'link', 'label' => __( 'Destination URL', 'so-widgets-bundle' ), 'allow_shortcode' => true, ), 'new_window' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Open in a new window', 'so-widgets-bundle' ), ), 'download' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Download', 'so-widgets-bundle' ), 'description' => __( 'The Destination URL will be downloaded when a user clicks on the button.', 'so-widgets-bundle' ), ), 'button_icon' => array( 'type' => 'section', 'label' => __( 'Icon', 'so-widgets-bundle' ), 'fields' => array( 'icon_selected' => array( 'type' => 'icon', 'label' => __( 'Icon', 'so-widgets-bundle' ), ), 'icon_color' => array( 'type' => 'color', 'label' => __( 'Icon Color', 'so-widgets-bundle' ), ), 'icon' => array( 'type' => 'media', 'label' => __( 'Image Icon', 'so-widgets-bundle' ), 'description' => __( 'Replaces the icon with your own image icon.', 'so-widgets-bundle' ), ), 'icon_placement' => array( 'type' => 'select', 'label' => __( 'Icon Placement', 'so-widgets-bundle' ), 'default' => 'left', 'options' => array( 'top' => __( 'Top', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'bottom' => __( 'Bottom', 'so-widgets-bundle' ), 'left' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), 'design' => array( 'type' => 'section', 'label' => __( 'Design and Layout', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'width' => array( 'type' => 'measurement', 'label' => __( 'Width', 'so-widgets-bundle' ), 'description' => __( 'Leave blank to let the button resize according to content.', 'so-widgets-bundle' ), ), 'align' => array( 'type' => 'select', 'label' => __( 'Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'mobile_align' => array( 'type' => 'select', 'label' => __( 'Mobile Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'theme' => array( 'type' => 'select', 'label' => __( 'Button Theme', 'so-widgets-bundle' ), 'default' => 'flat', 'options' => array( 'atom' => __( 'Atom', 'so-widgets-bundle' ), 'flat' => __( 'Flat', 'so-widgets-bundle' ), 'wire' => __( 'Wire', 'so-widgets-bundle' ), ), ), 'button_color' => array( 'type' => 'color', 'label' => __( 'Button Color', 'so-widgets-bundle' ), ), 'text_color' => array( 'type' => 'color', 'label' => __( 'Text Color', 'so-widgets-bundle' ), ), 'hover' => array( 'type' => 'checkbox', 'default' => true, 'label' => __( 'Use hover effects', 'so-widgets-bundle' ), 'state_emitter' => array( 'callback' => 'conditional', 'args' => array( 'hover[show]: val', 'hover[hide]: ! val', ), ), ), 'hover_background_color' => array( 'type' => 'color', 'label' => __( 'Hover Background Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'hover_text_color' => array( 'type' => 'color', 'label' => __( 'Hover Text Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'font' => array( 'type' => 'font', 'label' => __( 'Font', 'so-widgets-bundle' ), 'default' => 'default', ), 'font_size' => array( 'type' => 'measurement', 'label' => __( 'Font Size', 'so-widgets-bundle' ), 'default' => '1em', ), 'icon_size' => array( 'type' => 'measurement', 'label' => __( 'Icon Size', 'so-widgets-bundle' ), 'default' => '1.3em', ), 'padding' => array( 'type' => 'measurement', 'label' => __( 'Padding', 'so-widgets-bundle' ), 'default' => '1em', ), 'rounding' => array( 'type' => 'multi-measurement', 'label' => __( 'Rounding', 'so-widgets-bundle' ), 'default' => '0.25em 0.25em 0.25em 0.25em', 'measurements' => array( 'top' => array( 'label' => __( 'Top', 'so-widgets-bundle' ), ), 'right' => array( 'label' => __( 'Right', 'so-widgets-bundle' ), ), 'bottom' => array( 'label' => __( 'Bottom', 'so-widgets-bundle' ), ), 'left' => array( 'label' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), ), 'attributes' => array( 'type' => 'section', 'label' => __( 'Other Attributes and SEO', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'id' => array( 'type' => 'text', 'label' => __( 'Button ID', 'so-widgets-bundle' ), 'description' => __( 'An ID attribute allows you to target this button in JavaScript.', 'so-widgets-bundle' ), ), 'classes' => array( 'type' => 'text', 'label' => __( 'Button Classes', 'so-widgets-bundle' ), 'description' => __( 'Additional CSS classes added to the button link.', 'so-widgets-bundle' ), ), 'title' => array( 'type' => 'text', 'label' => __( 'Title Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a title attribute to the button link.', 'so-widgets-bundle' ), ), 'on_click' => array( 'type' => 'text', 'label' => __( 'Onclick', 'so-widgets-bundle' ), 'description' => __( 'Run this JavaScript when the button is clicked. Ideal for tracking.', 'so-widgets-bundle' ), 'onclick' => true, ), 'rel' => array( 'type' => 'text', 'label' => __( 'Rel Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a rel attribute to the button link.', 'so-widgets-bundle' ), ), ), ), ); } public function get_style_name( $instance ) { if ( empty( $instance['design']['theme'] ) ) { return 'atom'; } return $instance['design']['theme']; } /** * Get the variables for the Button Widget. * * @return array */ public function get_template_variables( $instance, $args ) { $button_attributes = array(); $attributes = $instance['attributes']; $classes = ! empty( $attributes['classes'] ) ? $attributes['classes'] : ''; if ( ! empty( $classes ) ) { $classes .= ' '; } $classes .= 'sowb-button ow-icon-placement-' . $instance['button_icon']['icon_placement']; if ( ! empty( $instance['design']['hover'] ) ) { $classes .= ' ow-button-hover'; } $button_attributes['class'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $classes ) ) ); if ( ! empty( $instance['new_window'] ) ) { $button_attributes['target'] = '_blank'; $button_attributes['rel'] = 'noopener noreferrer'; } if ( ! empty( $instance['download'] ) ) { $button_attributes['download'] = null; } if ( ! empty( $attributes['id'] ) ) { $button_attributes['id'] = $attributes['id']; } if ( ! empty( $attributes['title'] ) ) { $button_attributes['title'] = $attributes['title']; } if ( ! empty( $attributes['rel'] ) ) { if ( isset( $button_attributes['rel'] ) ) { $button_attributes['rel'] .= " $attributes[rel]"; } else { $button_attributes['rel'] = $attributes['rel']; } } $icon_image_url = ''; if ( ! empty( $instance['button_icon']['icon'] ) ) { $attachment = wp_get_attachment_image_src( $instance['button_icon']['icon'] ); if ( ! empty( $attachment ) ) { $icon_image_url = $attachment[0]; } } return array( 'button_attributes' => apply_filters( 'siteorigin_widgets_button_attributes', $button_attributes, $instance ), 'href' => ! empty( $instance['url'] ) ? $instance['url'] : '', 'on_click' => ! empty( $attributes['on_click'] ) ? $attributes['on_click'] : '', 'align' => $instance['design']['align'], 'icon_image_url' => $icon_image_url, 'icon' => $instance['button_icon']['icon_selected'], 'icon_color' => $instance['button_icon']['icon_color'], 'text' => $instance['text'], ); } /** * Get the variables that we'll be injecting into the less stylesheet. * * @return array */ public function get_less_variables( $instance ) { if ( empty( $instance ) || empty( $instance['design'] ) ) { return array(); } $text_color = isset( $instance['design']['text_color'] ) ? $instance['design']['text_color'] : ''; $button_color = isset( $instance['design']['button_color'] ) ? $instance['design']['button_color'] : ''; $less_vars = array( 'button_width' => isset( $instance['design']['width'] ) ? $instance['design']['width'] : '', 'button_color' => $button_color, 'text_color' => $text_color, 'icon_size' => ! empty( $instance['design']['icon_size'] ) ? $instance['design']['icon_size'] : '1.3em', 'hover_text_color' => ! empty( $instance['design']['hover_text_color'] ) ? $instance['design']['hover_text_color'] : $text_color, 'hover_background_color' => ! empty( $instance['design']['hover_background_color'] ) ? $instance['design']['hover_background_color'] : $button_color, 'font_size' => isset( $instance['design']['font_size'] ) ? $instance['design']['font_size'] : '', 'rounding' => isset( $instance['design']['rounding'] ) ? $instance['design']['rounding'] : '', 'padding' => isset( $instance['design']['padding'] ) ? $instance['design']['padding'] : '', 'has_text' => empty( $instance['text'] ) ? 'false' : 'true', 'responsive_breakpoint' => $this->get_global_settings( 'responsive_breakpoint' ), 'align' => ! empty( $instance['design']['align'] ) ? $instance['design']['align'] : 'center', 'mobile_align' => ! empty( $instance['design']['mobile_align'] ) ? $instance['design']['mobile_align'] : 'center', 'has_button_icon' => empty( $instance['button_icon']['icon_selected'] ) ? 'false' : 'true', ); if ( ! empty( $instance['design']['font'] ) ) { $font = siteorigin_widget_get_font( $instance['design']['font'] ); $less_vars['button_font'] = $font['family']; if ( ! empty( $font['weight'] ) ) { $less_vars['button_font_weight'] = $font['weight_raw']; $less_vars['button_font_style'] = $font['style']; } } return $less_vars; } /** * Make sure the instance is the most up to date version. * * @return mixed */ public function modify_instance( $instance ) { if ( empty( $instance ) ) { return array(); } $migrate_props = array( 'button_icon' => array( 'icon_selected', 'icon_color', 'icon', ), 'design' => array( 'align', 'theme', 'button_color', 'text_color', 'hover', 'hover_text_color', 'hover_background_color', 'font_size', 'rounding', 'padding', ), 'attributes' => array( 'id', ), ); foreach ( $migrate_props as $prop => $sub_props ) { if ( empty( $instance[ $prop ] ) ) { $instance[ $prop ] = array(); foreach ( $sub_props as $sub_prop ) { if ( isset( $instance[ $sub_prop ] ) ) { $instance[ $prop ][ $sub_prop ] = $instance[ $sub_prop ]; unset( $instance[ $sub_prop ] ); } } } } // Migrate onclick setting to prevent Wordfence flag. if ( ! empty( $instance['attributes'] ) && ! empty( $instance['attributes']['onclick'] ) ) { $instance['attributes']['on_click'] = $instance['attributes']['onclick']; } // If the mobile_align setting isn't set, set it to the same value as the align value. if ( ! empty( $instance['design'] ) && ! empty( $instance['design']['align'] ) && empty( $instance['design']['mobile_align'] ) ) { $instance['design']['mobile_align'] = $instance['design']['align']; } // Migrate predefined settings to more customizable settings. if ( ! empty( $instance['design']['font_size'] ) && is_numeric( $instance['design']['font_size'] ) ) { $instance['design']['font_size'] .= 'em'; } if ( ! empty( $instance['design']['padding'] ) && is_numeric( $instance['design']['padding'] ) ) { $instance['design']['padding'] .= 'em'; } if ( ! empty( $instance['design']['rounding'] ) && is_numeric( $instance['design']['rounding'] ) ) { $instance['design']['rounding'] = $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em'; } if ( empty( $instance['design']['icon_size'] ) ) { $instance['design']['icon_size'] = '1.3em'; } return $instance; } public function get_form_teaser() { if ( class_exists( 'SiteOrigin_Premium' ) ) { return false; } return array( sprintf( __( 'Add a beautiful tooltip to the Button Widget with %sSiteOrigin Premium%s', 'so-widgets-bundle' ), '', '' ), ); } } siteorigin_widget_register( 'sow-button', __FILE__, 'SiteOrigin_Widget_Button_Widget' );{"id":151526,"date":"2026-06-13T17:22:59","date_gmt":"2026-06-13T17:22:59","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=151526"},"modified":"2026-06-13T17:22:59","modified_gmt":"2026-06-13T17:22:59","slug":"verdecasino-3","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/verdecasino-3\/","title":{"rendered":"Balance Tracker Live: Verde Casino Traccia i Bonus per i Giocatori Italiani"},"content":{"rendered":"
\n

Per i utenti italiani, capire esattamente dove vanno a finire i soldi depositati e dove iniziano i fondi bonus \u00e8 una necessit\u00e0 primaria. verde casin\u00f2 pi\u00f9 200 giri gratis<\/a> Casino ha affrontato questo esigenza con uno strumento pratico: il Balance Tracker Live. Si tratta di un sistema di controllo che mostra in diretta lo stato del proprio conto, separando senza dubbi il capitale reale da quello omaggio. L’obiettivo \u00e8 chiaro: offrire al utente il pieno controllo sulla sua condizione economica sulla piattaforma di gioco. In questo senso, ogni puntata e ogni premio vengono determinate con accuratezza, nel pieno rispetto dei regolamento. Questo dedizione per la limpidezza costruisce affidabilit\u00e0 e riflette una tendenza pi\u00f9 ampia nel settore italiano, che domanda mezzi di gioco consapevole sempre pi\u00f9 avanzati e un gestione diretta sulle proprie disponibilit\u00e0.<\/p>\n

Che cos’\u00e8 il Balance Tracker di Verde Casino e In che modo Funziona<\/h2>\n

Il Balance Tracker Live di Verde Casino \u00e8 un pannello finanziario integrato nell’account giocatore. Funziona grazie a un algoritmo che suddivide in automatico il saldo totale in due parti separate: il saldo reale, che deriva dai depositi, e il saldo bonus, prodotto dalle promozioni attive. Il calcolo si verifica in tempo reale. Dopo ogni azione, che sia una puntata, una vittoria o l’uso di un free spin, i valori si rinnovano all’istante. Il sistema tiene traccia in modo dinamico dei requisiti di scommessa (wagering), visualizzando progressivamente come i fondi bonus si mutano in fondi prelevabili. Per l’utente italiano, questo comporta fine dei calcoli a mente. Si pu\u00f2 pianificare la sessione di gioco appoggiandosi su dati certi, sempre rinnovati. La tecnologia garantisce che la ripartizione rispetti fedelmente il regolamento della promozione, calcolando ad esempio i diversi contributi di slot, giochi da tavolo e live casino.<\/p>\n

Monitoraggio del Saldo e Termini dei Bonus: Un Connubio Perfetto<\/h2>\n

Il Balance Tracker Live non agisce in autonomia. \u00c8 il complemento visivo perfetto ai termini e le condizioni delle proposte di Verde Casino. Mentre il testo scritto descrive le disposizioni, ad esempio le percentuali di apporto ai requisiti di scommessa o i slot escluse, il tracker le trasforma in dati visibili e controllabili. Rivela chiaramente come ciascun gioco a cui si prende parte aiuti a soddisfare i requisiti. Tale sinergia diminuisce notevolmente il possibilit\u00e0 di equivoci, che frequentemente sono all’origine di reclami tra giocatori e operatori. Per il giocatore italiano, vuol dire godere completamente un bonus di ingresso, un’offerta settimanale o dei free spin, con la certezza di possedere una specie di “assistente digitale” che monitora ogni progresso. L’esperienza promozionale diventa pertanto vantaggiosa e totalmente trasparente. Il sistema calcola in automatico, per esempio, che una giocata da 10\u20ac su una slot contribuisce per intero, mentre al tavolo della roulette viene conteggiata in modo parziale, aggiornando il progresso di rimando.<\/p>\n

Per quale motivo la Distinzione dei Fondi \u00e8 Fondamentale per i Scommettitori Italiani<\/h2>\n

Separare nettamente il deposito dai fondi bonus \u00e8 un fondamento del gaming online protetto, un principio confermato anche dalle linee guida dell’ADM per l’Italia. Senza uno dispositivo come il Balance Tracker, il giocatore \u00e8 forzato a calcoli manuali per calcolare l’avanzo del bonus, un’operazione tediosa e soggetta agli errori. Verde Casino gestisce il problema con trasparenza. Determinare esattamente quanta parte del saldo \u00e8 ritirabile e quanta \u00e8 ancora legata permette di organizzare la bankroll in modo efficace. Soprattutto, questa chiarezza evita brutte sorprese al momento del prelievo, garantendo che l’operazione vada a buon fine senza intoppi legati a requisiti non adempiuti. Per la community italiana, \u00e8 un vantaggio pratico notevole. La trasparenza operativa diventa anche uno metodo di prevenzione, diminuendo il rischio di gioco problematico e conformandosi agli obiettivi di protezione del consumatore.<\/p>\n

Risposte comuni sul Balance Tracker Live di Verde Casino<\/h2>\n

Ecco alcune chiarimenti alle quesiti pi\u00f9 ricorrenti sul Balance Tracker. \u00c8 essenziale specificare che si tratta di uno strumento di controllo e conteggio automatizzato. Non cambia i condizioni stabilite delle promozioni; si restringe a renderli evidenti. \u00c8 ideato per essere preciso al 100% e si rinnova a ogni transazione. Un diverso aspetto determinante attiene il prelievo: il sistema impedisce materialmente di chiedere un prelievo maggiore al saldo reale utilizzabile, indirizzando l’utente verso azioni corrette. \u00c8 uno dispositivo sempre funzionante per ciascuno i giocatori che dispongono di un bonus attivo, privo di bisogno di abilitazione manuale. Questa certezza di protezione \u00e8 continua e istantanea. La sua incorporazione senza intermediari nella piattaforma lo fa diventare raggiungibile da ogni dispositivo, mantenendo la stessa sicurezza su desktop, smartphone e tablet.<\/p>\n

Vantaggi Principali del Monitoraggio in Diretto<\/h2>\n

Utilizzare un monitoraggio in continuo dei fondi offre benefici concreti per l’esperienza di gioco. Prima di tutto, promuove il gioco responsabile. Il giocatore ha tutti i dati per effettuare decisioni ponderate sulle proprie puntate. Poi, rimuove ogni dubbio sui termini delle promozioni. Clausole a volte articolate diventano dati visuali chiari. Il utente vede sempre a che punto si trova del percorso per sbloccare le vincite. Infine, questo livello di trasparenza crea un rapporto di fiducia stabile con la piattaforma. Evidenzia che l’operatore \u00e8 attento alla corretta fruizione dei suoi servizi. Per il mercato italiano, attento alla legalit\u00e0, queste non sono banali funzioni aggiuntive. Sono caratteristiche che distinguono un brand affidabile. Il monitoraggio permanente funziona anche come prevenzione delle controversie, offrendo una registrazione precisa dello stato dei fondi in ogni istante.<\/p>\n

Come accedere e Leggere il Balance Tracker Live<\/h2>\n

Accedere al Balance Tracker Live su Verde Casino \u00e8 semplice. Dopo il login, la funzionalit\u00e0 si trova di consueto integrata nell’area del saldo o in una sezione apposita del profilo. L’interfaccia \u00e8 progettata per essere chiara immediatamente. Due indicatori ben distinti, spesso con grafici a barre o percentuali, mostrano l’ammontare del saldo reale e del saldo bonus. Accanto, un contatore segna il stato nel soddisfacimento dei requisiti di scommessa. Interpretare i dati \u00e8 facile. I fondi nel “saldo reale” sono sempre disponibili. Quelli nel “saldo bonus” si possono utilizzare per giocare, ma diventano prelevabili solo dopo aver soddisfatto le condizioni della bonus. \u00c8 uno strumento che massimizza l’autonomia del utente. Per una comprensione immediata, l’interfaccia usa codici colore e un linguaggio diretto, evitando gergo tecnico non necessario.<\/p>\n