/* 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":224633,"date":"2026-06-23T07:16:04","date_gmt":"2026-06-23T07:16:04","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=224633"},"modified":"2026-06-23T07:16:04","modified_gmt":"2026-06-23T07:16:04","slug":"program-vip-i-nagrody-w-winbeatz-casino-wyjasnione-dla-graczy","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/program-vip-i-nagrody-w-winbeatz-casino-wyjasnione-dla-graczy\/","title":{"rendered":"Program VIP i Nagrody w WinBeatz Casino Wyja\u015bnione dla Graczy"},"content":{"rendered":"
WinBeatz Casino przyci\u0105ga graczy nie tylko nowymi grami, ale te\u017c programem dla sta\u0142ych graczy, kt\u00f3ry faktycznie nagradza za dzia\u0142alno\u015b\u0107 https:\/\/winbeatzcasino.com.pl\/<\/a>. Przeanalizujemy jego klubowi VIP szczeg\u00f3\u0142owo. Przedstawimy, jak zdobywa\u0107 punkty, podnosi\u0107 status i co rzeczywi\u015bcie mo\u017cna z tego mie\u0107. To praktyczny przewodnik po poziomach, nagrodach i warunkach, kt\u00f3re okre\u015blaj\u0105 tym programem.<\/p>\n Program VIP w WinBeatz Casino to starannie zbudowany system. Jego g\u0142\u00f3wne zalety to czytelna struktura poziom\u00f3w oraz znacz\u0105ce, namacalne benefity. Cashback, osobisty opiekun i szybsze wyp\u0142aty to nie s\u0105 puste has\u0142a, ale faktyczne udogodnienia. Dla gracza, kt\u00f3ry gra w tym kasynie wi\u0119cej czasu, program staje si\u0119 istotnym elementem rozgrywki, kt\u00f3ry zmniejsza ryzyko i podnosi komfort.<\/p>\n Naszym zdaniem, program lojalno\u015bciowy WinBeatz Casino plasuje bardzo dobrze na tle konkurencji. Ukazuje graczom jasn\u0105 \u015bcie\u017ck\u0119 od nowicjusza do elity, a na ka\u017cdym jej etapie proponuje co\u015b konkretnego. Dla kogo\u015b, kto szuka kasyna z perspektyw\u0105 d\u0142ugoterminowej wsp\u00f3\u0142pracy, jest to argument, kt\u00f3ry mo\u017ce zdecydowa\u0107 szal\u0119.<\/p>\n System VIP w WinBeatz zawiera kilka czytelnie rozdzielonych szczebli. Ka\u017cdy otwiera \u015bcie\u017ck\u0119 do wy\u017cszych korzy\u015bci. Taka w\u0142a\u015bnie progresja u\u0142atwia te\u017c zawodnikowi zauwa\u017ca\u0107 punkt docelowy i sprawdza\u0107 swoje post\u0119py.<\/p>\n Program ma swoje zasady, kt\u00f3re trzeba rozumie\u0107. Uczestnictwo jest samoczynne, ale aby zrealizowa\u0107 wygrane, potrzebujesz w kompletnie sprawdzone konto. Zwracaj uwag\u0119, \u017ce punkty lojalno\u015bciowe cechuj\u0105 si\u0119 termin wa\u017cno\u015bci, a ich konwersja na przywileje ma swoje regulacje.<\/p>\n Kasino mo\u017ce aktualizowa\u0107 warunki programu, ale ma obowi\u0105zek zawiadomi\u0107 graczy z wcze\u015bniejszym terminem. To istotne: nagrody i punkty nie maj\u0105 warto\u015bci pieni\u0119\u017cnej na zewn\u0105trz kasyna i nie wolno ich przekazywa\u0107 na odmienny rachunek.<\/p>\n Program lojalno\u015bciowy w WinBeatz Casino to wieloetapowy system. Jego cel jest proste: premiowa\u0107 tych, kt\u00f3rzy regularnie obstawiaj\u0105. Funkcjonuje na mechanizmie zbierania punkt\u00f3w za dokonane obstawienia. Im wi\u0119kszy ich zas\u00f3b, tym wy\u017cszy status. To nie jest \u017cadna zamkni\u0119ty kr\u0105g \u2013 ka\u017cdy zalogowany gracz od razu do\u0142\u0105cza do programu. Swoje wyniki mo\u017cesz \u015bledzi\u0107 na \u017cywo w dedykowanym panelu w swoim profilu.<\/p>\n Program promuje klarowno\u015b\u0107. Przywileje zwi\u0119kszaj\u0105 si\u0119 sukcesywnie, wraz z Twoim statusem. Im bardziej awansujesz, tym wi\u0119cej https:\/\/data-api.marketindex.com.au\/api\/v1\/announcements\/XASX:CAQ:6A689659\/pdf\/inline\/preliminary-final-report-30-june-2014<\/a> dostajesz: atrakcyjniejsze dodatki, prywatnego opiekuna, wy\u017csze limity. To mechanizm, kt\u00f3ry ma sens dla osoby, kto uwa\u017ca gr\u0119 w tym kasynie online bardziej zaanga\u017cowanie ni\u017c okazjonalnie.<\/p>\n Planujesz uzyska\u0107 z programu VIP jak najwi\u0119cej? Wymagana jest odrobina strategii. Nie idzie o lekkomy\u015blne przeznaczanie pieni\u0119dzy, a o celowe post\u0119powanie. Je\u015bli chcesz na punktach, przeanalizuj, kt\u00f3re gry zapewniaj\u0105 najlepszy kurs i skoncentruj si\u0119 na nich. To mo\u017ce bardzo zintensyfikowa\u0107 awans.<\/p>\n Zagladaj regularnie do karty z programem lojalno\u015bciowym. \u015aled\u017a sw\u00f3j stan, kontroluj obecne bonusy dla VIP-\u00f3w i nie pomi\u0144 okres\u00f3w na wykorzystanie cashbacku. Je\u015bli masz ju\u017c menad\u017cera konta, korzystaj z niego. Cz\u0119sto orientuje si\u0119 on metody na dodatkowe zyski, https:\/\/www.bbc.com\/news\/articles\/c3w1gq5e1d2o<\/a> o kt\u00f3rych nie znajdziesz w regulaminie.<\/p>\n Awans jest nieskomplikowany: zdobywasz punkty lojalno\u015bciowe. Punkty te uzyskujesz za gr\u0119 na prawdziwe pieni\u0105dze. Ka\u017cdy pojedynczy obr\u00f3t lub zak\u0142ad si\u0119 wlicza. Logika jest prosta \u2013 im wi\u0119cej grasz, tym wi\u0119cej punkt\u00f3w zdobywasz i sprawniej awansujesz.<\/p>\n Warto zapami\u0119ta\u0107, \u017ce nie wszystkie gry przynosz\u0105 tyle samo punkt\u00f3w. Zwykle automaty s\u0105 pod tym k\u0105tem \u0142askawsze ni\u017c np. sto\u0142y live. Punkty nie przepadaj\u0105. Systematycznie si\u0119 kumuluj\u0105, a po przebiciu wymaganego progu automatycznie uzyskujesz dost\u0119p do nowy poziom.<\/p>\n Pewne benefity s\u0105 wyj\u0105tkowo warte uwagi. Zwrot got\u00f3wki to zdecydowany lider. Kasyno oblicza go od przegranych netto w danym okresie i zwraca ustalony procent \u2013 niekiedy automatycznie, czasem po manualnej aktywacji.<\/p>\n Funkcja osobistego opiekuna konta zmienia gr\u0119 na zaawansowanych poziomach. To Pa\u0144stwa bezpo\u015bredni kontakt, kt\u00f3ry usuwa problemy, wyja\u015bnia w\u0105tpliwo\u015bci i mo\u017ce opracowa\u0107 ofert\u0119 celowo pod Twoje preferencje. To ekskluzywno\u015b\u0107, kt\u00f3ry w standardowej obs\u0142udze klienta jest nieosi\u0105galny.<\/p>\n Cz\u0142onkostwo w klubie VIP to komplet konkretnych korzy\u015bci. Nie s\u0105 to tylko dodatki, ale elementy, kt\u00f3re maj\u0105 wp\u0142yw na przyjemno\u015b\u0107 gry i Tw\u00f3j stan konta.<\/p>\n WinBeatz Casino przyci\u0105ga graczy nie tylko nowymi grami, ale te\u017c programem dla sta\u0142ych graczy, kt\u00f3ry faktycznie nagradza za dzia\u0142alno\u015b\u0107 https:\/\/winbeatzcasino.com.pl\/. Przeanalizujemy jego klubowi VIP szczeg\u00f3\u0142owo. Przedstawimy, jak zdobywa\u0107 punkty, podnosi\u0107 status i co rzeczywi\u015bcie mo\u017cna z tego mie\u0107. To praktyczny przewodnik po poziomach, nagrodach i warunkach, kt\u00f3re okre\u015blaj\u0105 tym programem.\u2026<\/p>\nPodsumowanie i Nasza w\u0142asna Ocena Programu<\/h2>\n
Struktura Poziom\u00f3w VIP: Z Debiutanta do Szczytu<\/h2>\n
\n
Regu\u0142y Programu i Kluczowe Regulacje Programu<\/h2>\n
\n
Wprowadzenie do Programu Lojalno\u015bciowego WinBeatz Casino<\/h2>\n
Taktyka: Jak Optymalizowa\u0107 Zyski z Programu VIP?<\/h2>\n
Jak Zbiera\u0107 Punkty i Podnosi\u0107 sw\u00f3j poziom w Hierarchii?<\/h2>\n
Kluczowe Zasady Awansu<\/h3>\n
\n
Dodatkowe Korzy\u015bci: Zwrot Got\u00f3wki, Dodatki i Osobisty Opiekun<\/h2>\n
Najcenniejsze Nagrody i Przywileje Dla Cz\u0142onk\u00f3w VIP<\/h2>\n
\n