/* 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":141502,"date":"2026-06-12T09:10:38","date_gmt":"2026-06-12T09:10:38","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=141502"},"modified":"2026-06-12T09:10:38","modified_gmt":"2026-06-12T09:10:38","slug":"kompletny-przeglad-witryny-rizzio-casino-i-oferty-gier-dla-graczy-z-polski","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/kompletny-przeglad-witryny-rizzio-casino-i-oferty-gier-dla-graczy-z-polski\/","title":{"rendered":"Kompletny przegl\u0105d witryny Rizzio Casino i oferty gier dla graczy z Polski"},"content":{"rendered":"
\n

Sprawdzam kasyna online zawodowo. Tym razem zamierza\u0142em przyjrze\u0107 si\u0119 Rizzio Casino, platformie, kt\u00f3ra wyra\u017anie zabiega o polskich graczy. W tym poradniku zbadam wszystko: od rejestracji, przez p\u0142atno\u015bci, a\u017c po gry. Pragn\u0119 ukaza\u0107, z czym tak naprawd\u0119 ma si\u0119 styczno\u015b\u0107 loguj\u0105c si\u0119 na rizziocasino.eu\/pl-pl\/. Rizzio przedstawia si\u0119 nowocze\u015bnie i intuicyjnie, ale sedno tkwi w detalach. Sp\u00f3jrzmy im razem.<\/p>\n

Wst\u0119p do Rizzio Casino i wst\u0119pne wra\u017cenia<\/h2>\n

Strona g\u0142\u00f3wna Rizzio Casino od razu przykuwa uwag\u0119. Kr\u00f3luje ciemna paleta z czerwonymi i z\u0142otymi akcentami, co daje wra\u017cenie elegancji. Wszystko jest po polsku \u2013 od menu po regulaminy i pomoc. Strona otwiera si\u0119 szybko, zar\u00f3wno na komputerze, jak i telefonie. Uk\u0142ad jest intuicyjny: g\u0142\u00f3wne menu kieruje do gier, promocji, informacji o p\u0142atno\u015bciach i wsparciu. Pocz\u0105tkowe wra\u017cenie? Platforma dzia\u0142a stabilnie i prezentuje si\u0119 na przemy\u015blan\u0105. To dobry pocz\u0105tek.<\/p>\n

Opcje p\u0142atno\u015bci oferowane dla Polak\u00f3w<\/h2>\n

Rizzio Casino posiada metody p\u0142atno\u015bci powszechne w Polsce. Wp\u0142aty s\u0105 zwykle natychmiastowe i pozbawione dodatkowych op\u0142at. Podczas test\u00f3w testowa\u0142em z kilku opcji, by sprawdzi\u0107 ich dzia\u0142anie. Do dyspozycji masz: przelewy bankowe (tradycyjne i ekspresowe), karty Visa i Mastercard, portfele elektroniczne jak Skrill lub Neteller oraz p\u0142atno\u015bci mobilne. Wyp\u0142aty s\u0105 realizowane najcz\u0119\u015bciej t\u0105 sam\u0105 drog\u0105, co wp\u0142ata. Czas realizacji jest zale\u017cny od metody \u2013 to od kilku godzin do paru dni roboczych. Kasino nie nalicza w\u0142asnych op\u0142at za wyp\u0142aty, co okazuje si\u0119 plusem.<\/p>\n

Ochrona transakcji i limity<\/h3>\n

Transakcje zabezpiecza standardowe szyfrowanie SSL, takie samo jak w bankowo\u015bci online. W ustawieniach konta mo\u017cesz samodzielnie ustawi\u0107 dzienne, tygodniowe lub miesi\u0119czne limity depozyt\u00f3w, strat czy czasu gry. To wa\u017cne narz\u0119dzie kontroli. Minimalne kwoty wp\u0142at i wyp\u0142at s\u0105 ma\u0142e, co udost\u0119pnia kasino dla graczy z r\u00f3\u017cnym bud\u017cetem. Polityka p\u0142atno\u015bci jest czytelna i ukierunkowana na wygod\u0119.<\/p>\n

Szczeg\u00f3\u0142y dotycz\u0105ce wyp\u0142at w PLN<\/h4>\n

Dla polskiego gracza kluczowe jest, by wyp\u0142aty przebiega\u0142y w z\u0142ot\u00f3wkach bez zb\u0119dnych przewalutowa\u0144. Rizzio to pozwala. Maksymalne limity wyp\u0142at s\u0105 ustalone w regulaminie i s\u0105 na tyle znacz\u0105ce, \u017ce usatysfakcjonuj\u0105 te\u017c graczy obstawiaj\u0105cych wi\u0119ksze kwoty. Zanim wyp\u0142acisz, musisz zako\u0144czy\u0107 weryfikacj\u0119 konta. Po przes\u0142aniu wniosku \u015brodki s\u0105 zatrzymywane, a potem kierowane do realizacji. W moim przypadku wyp\u0142ata na konto bankowe dotar\u0142a w dwa dni robocze. To dosy\u0107 przyzwoity wynik.<\/p>\n

Prze\u017cycia z gier na \u017cywo (Live Casino)<\/h2>\n

Sekcja Live Casino w Rizzio imponuje. Transmisje s\u0105 w dobrej jako\u015bci, prowadzone z nowoczesnych studi\u00f3w. Krupierzy realizuj\u0105 gr\u0119 w realnym czasie. Wyb\u00f3r jest bogaty: dziesi\u0105tki sto\u0142\u00f3w do ruletki europejskiej i ameryka\u0144skiej, blackjacka, a tak\u017ce gry jak Dream Catcher czy Monopoly Live. Mo\u017cesz pisa\u0107 na czacie do krupiera i \u015bledzi\u0107 statystyki. Podczas mojej gry nie odnotowa\u0142em op\u00f3\u017anie\u0144, co jest podstaw\u0105 komfortu. Do\u015bwiadczenie jest realne i poch\u0142aniaj\u0105ce. Oferta jest regularnie uzupe\u0142niana, g\u0142\u00f3wnie przez lider\u00f3w tej bran\u017cy: Evolution Gaming i Pragmatic Play Live.<\/p>\n

Znani dostawcy oprogramowania w Rizzio<\/h3>\n

Jako\u015b\u0107 gier wynika od ich tw\u00f3rc\u00f3w. Rizzio wsp\u00f3\u0142pracuje z czo\u0142\u00f3wk\u0105 rynku. W\u015br\u00f3d g\u0142\u00f3wnych partner\u00f3w s\u0105 NetEnt, Play’n GO, Pragmatic Play, Evolution Gaming, Yggdrasil, Big Time Gaming i Quickspin. Ka\u017cdy z tych developer\u00f3w ma sw\u00f3j charakter. Jedni koncentruj\u0105 si\u0119 na innowacyjne mechaniki, inni na osza\u0142amiaj\u0105c\u0105 grafik\u0119 i d\u017awi\u0119k. Wszyscy gwarantuj\u0105 uczciwe wska\u017aniki RTP. Dzi\u0119ki takiej kombinacji ka\u017cdy znajdzie co\u015b dla siebie \u2013 od podstawowych, dynamicznych slot\u00f3w po z\u0142o\u017cone gry o ma\u0142ej lub wysokiej zmienno\u015bci.<\/p>\n

Korzystanie z telefonu: aplikacja vs. przegl\u0105darka<\/h2>\n

Rizzio Casino pracuje p\u0142ynnie na telefonie i tablecie. Przetestowa\u0142em zar\u00f3wno wersj\u0119 w przegl\u0105darce mobilnej, jak i dedykowan\u0105 aplikacj\u0119 na Androida. Wersja przegl\u0105darkowa dzia\u0142a bez problemu \u2013 strona sama dostosowuje uk\u0142ad do ma\u0142ego ekranu, nie trac\u0105c przy tym funkcji. Aplikacja, kt\u00f3r\u0105 pobierzesz bezpo\u015brednio z ich strony, dzia\u0142a minimalnie szybciej i wysy\u0142a powiadomienia o promocjach. Obie opcje daj\u0105 pe\u0142ny dost\u0119p do gier, p\u0142atno\u015bci i pomocy. Wyb\u00f3r jest kwesti\u0105 tego, czy preferujesz przegl\u0105dark\u0119, czy wolisz ikon\u0119 aplikacji na ekranie.<\/p>\n

Analiza bonus\u00f3w startowych i promocji regularnych<\/h2>\n

\u015awie\u017co zarejestrowani gracze z Polski mog\u0105 liczy\u0107 na w Rizzio bonus na start, zwykle na kilka pocz\u0105tkowych wp\u0142at. Zasadnicze s\u0105 warunki obrotu (tzw. wagering) \u2013 definiuj\u0105, ile razy nale\u017cy wykorzysta\u0107 bonus, zanim odebierzesz wygrane. Dodatkowo kasino ma regularne promocje. W ich zak\u0142adce znajdziesz:\n<\/p>\n