/* 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":141258,"date":"2026-06-12T08:13:46","date_gmt":"2026-06-12T08:13:46","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=141258"},"modified":"2026-06-12T08:13:46","modified_gmt":"2026-06-12T08:13:46","slug":"un-giocatore-storico-di-winner-casino-svela-vantaggi-e-svantaggi-per-gli-iscritti-italiani","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/un-giocatore-storico-di-winner-casino-svela-vantaggi-e-svantaggi-per-gli-iscritti-italiani\/","title":{"rendered":"Un Giocatore Storico di Winner Casino Svela Vantaggi e Svantaggi per gli Iscritti Italiani"},"content":{"rendered":"
\n\"Winner<\/p>\n

Scommetto su Winner Casino da anni https:\/\/casino-winner.org\/it-it\/<\/a>. La mia valutazione parte dall’esperienza sul campo, fatta di depositi, prelievi, partite e interazioni con l’assistenza. Intendo raccontarti cosa funziona bene per noi italiani e quali punti, invece, potrebbero essere migliorati. Senza slogan, solo fatti sperimentati in prima persona.<\/p>\n

Punti di Forza: Cosa Mi Fa Restare a Questo Casino<\/h2>\n

Il motivo per cui resto? In particolare i live dealer in italiano. I tavoli sono condotti da croupier veri, si respira l’atmosfera di un vero casin\u00f2. Poi, la velocit\u00e0 dei prelievi. Quando vinco, i soldi vengono accreditati sul conto spesso nel giro di poche ore. Una differenza non da poco.<\/p>\n

Le promozioni non sono solo per i nuovi. Anche un giocatore fedele come me ha offerte concrete. Il programma fedelt\u00e0 d\u00e0 ricompense che diventano crediti extra o giri gratuiti. E sul telefono funziona tutto perfettamente dal browser, senza app che riempiono memoria.<\/p>\n

La piattaforma \u00e8 solida. Quasi mai si blocca o va in lag, anche con le slot pi\u00f9 graficamente pesanti. Nella sezione slot, i tornei con le classifiche in tempo reale sono un classico. Infondono quel pizzico di competizione che rende il tutto pi\u00f9 appassionante.<\/p>\n

Esperienze con i Sistemi di pagamento: Versamenti e Prelievi<\/h2>\n

Il sistema di pagamento mette a disposizione tutto quello che serve a un italiano. Io impiego carte e Skrill, e i depositi sono immediati. La vera novit\u00e0? I prelievi. Dopo la verifica del conto, che effettuai subito, le richieste vengono elaborate in tempi rapidi.<\/p>\n

Non ho mai incontrato problemi a ricevere i miei fondi. Winner Casino lavora solo in euro, quindi niente trasformazioni di valuta con costi nascosti. Non ho mai notato commissioni strane sui prelievi, e la trasparenza per me \u00e8 importante. La cronologia delle transazioni \u00e8 sempre leggibile e aggiornata.<\/p>\n

I limiti di deposito e prelievo mi sembrano ragionevoli. La soglia minima per ritirare \u00e8 bassa, quella massima \u00e8 alta abbastanza per la maggior parte dei giocatori. Ogni operazione ha un codice di riferimento unico, comodo se devi chiedere informazioni all’assistenza.<\/p>\n

La Mia Impressione Iniziale e la Registrazione<\/h2>\n

Rammento ancora la prima visita al sito di Winner Casino. L’interfaccia mi \u00e8 sembrata subito nitida, con colori vivaci ma non affaticanti. La registrazione non mi ha portato via pi\u00f9 di qualche minuto. Una cosa che ho valutato positivamente? L’invito immediato a verificare l’account. So che pu\u00f2 sembrare una scocciatura, ma \u00e8 un passo che ti salva da blocchi improvvisi dopo una vincita. La piattaforma \u00e8 facile, anche per chi \u00e8 alle prime armi.<\/p>\n

Osservare le licenze ben in evidenza mi ha comunicato un senso di sicurezza. Poi, gi\u00e0 durante la creazione del conto, puoi impostare i limiti di deposito. Per me \u00e8 un segnale forte di attenzione al gioco responsabile. Tutto il percorso \u00e8 progettato per l’Italia: si parla italiano, si usano gli euro, non ci sono ostacoli.<\/p>\n

Notai anche l’assenza di quei pop-up aggressivi che ti spingono a depositare subito. Il flusso \u00e8 semplice, ti guida senza stress. Anche la scelta del nome utente e della password \u00e8 stata semplice, senza regole troppo complesse. L’ho fatto tutto dal telefono, senza dover installare niente.<\/p>\n

Il Supporto Clienti: La Mia Esperienza Diretta<\/h2>\n

Ho richiesto del supporto qualche volta, per chiarire dei dubbi sui bonus. La chat immediata \u00e8 funzionale. Gli operatori parlano un italiano corretto e hanno gestito la mia questione mia questione in pochissimo tempo. Il servizio \u00e8 disponibile 24 ore su 24, 7 giorni su 7, su 7, essenziale per chi scommette a qualsiasi ora.<\/p>\n

Per una domanda pi\u00f9 complessa ho impiegato l’email, avendo una risposta approfondita dopo qualche ora. L’impressione \u00e8 di un team che conosce il mestiere e ha desiderio di assistere. Non mi sono mai sentito liquidato, anzi, hanno illustrato ogni punto fino a quando non risultavo soddisfatto.<\/p>\n<\/p>\n

Punti da Perfezionare: Le Mie Leggere Lamentele<\/h2>\n

Non \u00e8 tutto oro tutto ci\u00f2 che luccica. In alcuni orari di punta, la sera, succede di dover aspettare per un posto disponibile ai tavoli live. \u00c8 sintomo della loro popolarit\u00e0, ma se hai qualora tu voglia di giocare subito, ti frena un po’. Il bonus di benvenuto \u00e8 consistente, ma \u00e8 necessario leggere bene i termini per attivarlo.<\/p>\n

Il sito \u00e8 realizzato bene, per\u00f2 a volte il motore di ricerca interno non \u00e8 intuitivo. Cerchi un gioco specifico e dovrai scorrere un po’ prima di trovarlo. Non \u00e8 un problema, ma filtri pi\u00f9 precisi aiuterebbero. Inoltre, rispetto ad altri siti, qui i tornei con premi in denaro contante non sono sempre presenti, e molti li desiderano.<\/p>\n

Un altro rilievo: le promozioni per i giocatori abituali a volte diventano monotone. Vedrei volentieri pi\u00f9 variet\u00e0, magari scommesse gratuite sugli sport. Anche la sezione notizie del sito potrebbe essere pi\u00f9 ricca, con articoli o consigli di gioco.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"

Scommetto su Winner Casino da anni https:\/\/casino-winner.org\/it-it\/. La mia valutazione parte dall’esperienza sul campo, fatta di depositi, prelievi, partite e interazioni con l’assistenza. Intendo raccontarti cosa funziona bene per noi italiani e quali punti, invece, potrebbero essere migliorati. Senza slogan, solo fatti sperimentati in prima persona. Punti di Forza: Cosa\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-141258","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/141258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=141258"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/141258\/revisions"}],"predecessor-version":[{"id":141259,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/141258\/revisions\/141259"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=141258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=141258"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=141258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}