/* 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":142421,"date":"2026-06-12T10:05:21","date_gmt":"2026-06-12T10:05:21","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=142421"},"modified":"2026-06-12T10:05:21","modified_gmt":"2026-06-12T10:05:21","slug":"weekend-cashback-boost-rizzio-casino-renforce-son-programme-de-cashback-pour-le-canada","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/weekend-cashback-boost-rizzio-casino-renforce-son-programme-de-cashback-pour-le-canada\/","title":{"rendered":"Weekend Cashback Boost : Rizzio Casino Renforce Son Programme de Cashback pour le Canada"},"content":{"rendered":"
\n\"James<\/p>\n

Rizzio Casino anime le march\u00e9 canadien avec une mise \u00e0 jour importante de son offre de cashback https:\/\/rizziocasino.eu\/fr-ca\/<\/a>. Maintenant, les joueurs peuvent profiter d’un Weekend Cashback Boost<\/strong><\/p>\n

Comment fonctionne le Cashback Weekend Boost ?<\/h2>\n

Plus pr\u00e9cis\u00e9ment, le Cashback Weekend Boost<\/strong><\/p>\n

Les B\u00e9n\u00e9fices Tangibles pour les Parieurs Canadiens<\/h2>\n

Pour les r\u00e9guliers de Rizzio Casino au Canada, ce boost du week-end a plusieurs visages. D’abord, il att\u00e9nue le risque. Avec cette assurance partielle, vous pouvez d\u00e9couvrir un titre inconnu ou refaire \u00e0 votre jeu pr\u00e9f\u00e9r\u00e9 sans puiser \u00e0 nouveau dans votre portefeuille. Ensuite, il agit sur le moral. Une mauvaise session fait moins mal quand on sait qu’une partie reviendra. \u00c7a pr\u00e9serve le plaisir intact. Au niveau du portefeuille, c’est une valeur ajout\u00e9e \u00e9vidente qui augmente ce que vous retirez de votre temps pass\u00e9 sur le site. Et puis, il y a le sentiment d’\u00eatre consid\u00e9r\u00e9. La marque montre qu’elle remarque votre activit\u00e9 et qu’elle la valorise, semaine apr\u00e8s semaine. C’est plus efficace pour la fid\u00e9lisation qu’un simple bonus de bienvenue.<\/p>\n

Une S\u00e9curit\u00e9 Financi\u00e8re Renforc\u00e9e<\/h3>\n

Le programme agit comme un amortisseur. Savoir qu’une portion des pertes potentielles vous sera rembours\u00e9e change votre approche du jeu. Vous jouez avec plus de tranquillit\u00e9, votre gestion de bankroll en est facilit\u00e9e. \u00c7a encourage aussi une exploration plus sereine du catalogue. Les fonds du cashback, m\u00eame s’ils sont soumis aux conditions de mise habituelles, font office de capital de relance. Ils prolongent la session sans que vous ayez \u00e0 ressortir votre carte de cr\u00e9dit. Un avantage qui distingue Rizzio Casino des plateformes qui se contentent du strict minimum.<\/p>\n

Une Valorisation de la Fid\u00e9lisation<\/h3>\n

Avec ce boost, Rizzio Casino s’adresse clairement \u00e0 ses joueurs r\u00e9guliers. Le message est limpide : votre fid\u00e9lit\u00e9 compte et elle est r\u00e9tribu\u00e9e. Le Weekend Cashback Boost<\/strong><\/p>\n

Avis et Impressions de la Base de membres<\/h2>\n

Les avis des joueurs canadiens depuis le d\u00e9but sont \u00e9loquentes. Beaucoup insistent sur la clart\u00e9 du proc\u00e9d\u00e9 et la vitesse avec laquelle les argent apparaissent sur leur compte. Quelques-uns racontent comment ce cashback a transform\u00e9 leur week-end, leur donnant la chance de retourner la situation et de ressortir avec un gain. D’autres joueurs appr\u00e9cient simplement de avoir la possibilit\u00e9 de allonger leur session sans retirer \u00e0 nouveau. Ces retours d’exp\u00e9rience dessinent l’portrait d’une plateforme de jeu \u00e0 l’attention, qui prend des d\u00e9cisions tangibles pour le plaisir et le bien-\u00eatre de ses utilisateurs. Cela parle souvent plus d’impact qu’un argument marketing.<\/p>\n

M\u00e9thodes pour Accro\u00eetre les Profits<\/h2>\n

Pour maximiser cette offre, un peu de strat\u00e9gie est utile. Vous avez la possibilit\u00e9 de consacrer une partie de votre activit\u00e9 de jeu entre le vendredi et le dimanche pour jouir du taux boost\u00e9. Une autre astuce : utilisez l’argent du cashback pour essayer des jeux avec un RTP (Retour au Joueur) \u00e9lev\u00e9 ou des machines \u00e0 sous \u00e9quip\u00e9es de tours de bonus gratuits. Vous optimisez ainsi vos chances et la dur\u00e9e du jeu. Enfin, maintenez une gestion stricte de votre bankroll. Consid\u00e9rez le cashback comme un bonus de plus, pas comme une garantie de gains. C’est la cl\u00e9 pour une exp\u00e9rience de jeu durable et agr\u00e9able.<\/p>\n

L\u2019Implication de Rizzio Casino envers le Canada<\/h2>\n

Le Weekend Cashback Boost<\/strong><\/p>\n

Le Weekend Cashback Boost<\/strong><\/p>\n

Comparaison avec les Propositions de Cashback Standard<\/h2>\n

La diff\u00e9rence avec un cashback standard est nette. Un programme classique propose souvent un taux stable, plus r\u00e9duit, calcul\u00e9 chaque jour ou chaque semaine sans variation. L’initiative de Rizzio Casino ajoute une dimension temporelle et un taux am\u00e9lior\u00e9. Elle focalise la valeur l\u00e0 o\u00f9 les joueurs sont le plus engag\u00e9s, pendant leurs jours de d\u00e9tente. Le fruit est une injection d’argent plus perceptible et plus cons\u00e9quente. Cela positionne Rizzio Casino dans une position diff\u00e9rente face aux concurrents qui se limitent de remboursements uniformes, moins stimulants pour le joueur.<\/p>\n

Conditions d’\u00e9ligibilit\u00e9 et Conditions \u00e0 Conna\u00eetre<\/h2>\n

Pour jouir du Weekend Cashback Boost<\/strong><\/p>\n

Fonctionnement Technique du Programme Am\u00e9lior\u00e9<\/h2>\n

Rizzio Casino a voulu un processus simple et clair. Le dispositif effectue tout le travail. Il totalise vos d\u00e9p\u00f4ts et d\u00e9duit vos gains sur la fen\u00eatre du week-end pour obtenir votre solde net. Si ce solde est n\u00e9gatif, un pourcentage plus \u00e9lev\u00e9 que d’habitude est mis en \u0153uvre. Le montant d\u00e9termin\u00e9 est vers\u00e9 sur votre compte, habituellement le lundi ou le mardi prochain. Aucune action de votre part n’est requise, \u00e0 part avoir un compte v\u00e9rifi\u00e9. Les r\u00e8gles du jeu sont pr\u00e9cises : les taux d\u00e9taill\u00e9s, les limites de remboursement et la liste des jeux concern\u00e9s sont tous expliqu\u00e9s dans les conditions de la promotion. Vous comprenez parfaitement \u00e0 quoi vous attendre.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"

Rizzio Casino anime le march\u00e9 canadien avec une mise \u00e0 jour importante de son offre de cashback https:\/\/rizziocasino.eu\/fr-ca\/. Maintenant, les joueurs peuvent profiter d’un Weekend Cashback Boost Comment fonctionne le Cashback Weekend Boost ? Plus pr\u00e9cis\u00e9ment, le Cashback Weekend Boost Les B\u00e9n\u00e9fices Tangibles pour les Parieurs Canadiens Pour les r\u00e9guliers\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-142421","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/142421","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=142421"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/142421\/revisions"}],"predecessor-version":[{"id":142422,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/142421\/revisions\/142422"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=142421"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=142421"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=142421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}