/* 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":140828,"date":"2026-06-11T02:07:21","date_gmt":"2026-06-11T02:07:21","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=140828"},"modified":"2026-06-11T02:07:21","modified_gmt":"2026-06-11T02:07:21","slug":"spela-dig-till-lycka-pa-verde-casino-i-sverige","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/spela-dig-till-lycka-pa-verde-casino-i-sverige\/","title":{"rendered":"Spela Dig Till Lycka p\u00e5 Verde Casino i Sverige"},"content":{"rendered":"
\n\"Israel<\/p>\n

Verde Casino \u00e4r inte en vanlig spelsajt. H\u00e4r \u00e4r spelandet och n\u00f6jet i fokus. Vi vet att spelare i Sverige m\u00e5r bra av en bra balans mellan sp\u00e4nnande n\u00f6je, trygga villkor och ett individuellt f\u00f6rtroende. D\u00e4rf\u00f6r f\u00f6renar vi ett stort spelbibliotek med en svensk licens och en \u00e4rlig inst\u00e4llning f\u00f6r spel med ansvar. V\u00e5rt m\u00e5l \u00e4r tydligt: varje bes\u00f6k hos oss ska upplevas som en positiv avkoppling i vardagen, d\u00e4r en vinst kan vara en del av upplevelsen.<\/p>\n

V\u00e4lkommen till en Spelupplevelse i Gr\u00f6nt<\/h2>\n

Namnet Verde betyder “gr\u00f6n” p\u00e5 spanska. Det \u00e4r ingen slump. F\u00e4rgen symboliserar v\u00e5rt s\u00e4tt att t\u00e4nka: fr\u00e4scht, livfullt och l\u00e5ngsiktigt. Vi vill vara en destination d\u00e4r spelupplevelsen alltid k\u00e4nns ny och omt\u00e4nksam. En milj\u00f6 d\u00e4r du kan koppla av med dina b\u00e4sta spel och k\u00e4nna dig s\u00e4ker. Med en spellicens fr\u00e5n Sverige fr\u00e5n Spelinspektionen garanterar vi en reglerad och s\u00e4ker spelmarknad. Spelarnas r\u00e4ttigheter och trygghet kommer alltid f\u00f6rst. Det \u00e4r den grunden v\u00e5r verksamhet vilar p\u00e5.<\/p>\n

Snabba Transaktioner f\u00f6r Stressfri Spelgl\u00e4dje<\/h2>\n

Tekniska kr\u00e5ngel ska inte f\u00f6rst\u00f6ra din spelgl\u00e4dje. D\u00e4rf\u00f6r har vi sett till att ins\u00e4ttningar och uttag p\u00e5 Verde Casino \u00e4r enkla och snabba. Vi erbjuder m\u00e5nga betalningsmetoder som \u00e4r popul\u00e4ra i Sverige, som kreditkort, e-pl\u00e5nb\u00f6cker och bank\u00f6verf\u00f6ringar. Processen \u00e4r enkel. V\u00e5rt supportteam assisterar g\u00e4rna till om n\u00e5got kr\u00e5nglar. Snabba uttag \u00e4r en del av v\u00e5r policy, s\u00e5 du kan njuta av dina vinster direkt.<\/p>\n

Support som P\u00e5 Riktigt St\u00f6djer<\/h2>\n

En bra spelupplevelse kr\u00e4ver att hj\u00e4lp finns tillg\u00e4nglig till hands. V\u00e5rt kundsupportteam \u00e4r sammansatt av erfarna och hj\u00e4lpsamma m\u00e4nniskor. De kan hj\u00e4lpa dig med alla fr\u00e5gor, tekniska problem eller funderingar kring ditt konto. Du f\u00e5r tag p\u00e5 oss enkelt via livechatt, e-post eller telefon under l\u00e5nga \u00f6ppettider. Vi ger skyndsamma, klara och hj\u00e4lpsamma svar s\u00e5 du snabbt kan komma tillbaka till det roliga \u2013 att spela. Din bel\u00e5tenhet \u00e4r det som spelar roll.<\/p>\n

Trygghet och Ansvar i Centrum<\/h2>\n

F\u00f6r att du ska kunna k\u00e4nna lycka m\u00e5ste tryggheten vara hundra procent. P\u00e5 Verde Casino kommer din integritet alltid i f\u00f6rsta hand. All data och alla \u00f6verf\u00f6ringar s\u00e4kras med modern SSL-kryptering. Det inneb\u00e4r att dina uppgifter \u00e4r konfidentiella. V\u00e5r svenska reglering \u00e4r en bekr\u00e4ftelse p\u00e5 att vi uppfyller h\u00e5rda regler om r\u00e4ttvis spel, pengaskydd och ansvarsfullt spelande. Vi erbjuder funktioner som ins\u00e4ttningsbegr\u00e4nsningar, spelavbrott och sj\u00e4lvexkludering s\u00e5 du kan bibeh\u00e5lla kontrollen.<\/p>\n

Spela casino p\u00e5 ett Tryggt Vis<\/h3>\n

Ansvarsk\u00e4nsla \u00e4r en central del av v\u00e5r v\u00e4rdegrund https:\/\/verdecasinoo.eu\/sv-se\/<\/a>. Vi v\u00e4djar till alla medlemmar att se casinospel som underh\u00e5llning, inte som ett medel att f\u00f6rtj\u00e4na pengar. Genom att skapa egna gr\u00e4nser och vara observant om din tids\u00e5tg\u00e5ng och ekonomi kan du s\u00e4kerst\u00e4lla att aktiviteten f\u00f6rblir positiv. V\u00e5rt syfte \u00e4r att du ska avsluta v\u00e5r casino med ett bra hum\u00f6r, oavsett om du hade vinst eller f\u00f6rlorade. Vi \u00e4r n\u00e4rvarande f\u00f6r att st\u00f6dja dig p\u00e5 v\u00e4gen.<\/p>\n

En Obegr\u00e4nsad V\u00e4rld av Spel f\u00f6r Varje Smaker<\/h2>\n

\u00c4lskar du slots, bordsspel eller live casino? Hos oss hittar du n\u00e5got som \u00e4r r\u00e4tt f\u00f6r dig. V\u00e5rt spelbibliotek \u00e4r omsorgsfullt sammansatt med de fr\u00e4msta spelen fr\u00e5n ledande leverant\u00f6rer. H\u00e4r erbjuds allt fr\u00e5n v\u00e4lk\u00e4nda fruktmaskiner till moderna video slots med enast\u00e5ende grafik och underh\u00e5llande bonusrunder. Om du gillar taktik v\u00e4ntar ett omfattande utbud av blackjack, roulette och poker i olika varianter. Vi tror p\u00e5 m\u00e5ngfald och l\u00e4gger st\u00e4ndigt till nya, efterfr\u00e5gade titlar.<\/p>\n

Spelkategorier som F\u00f6rundrar<\/h3>\n

F\u00f6r att du l\u00e4tt ska hitta r\u00e4tt har vi grupperat spelen i v\u00e4ldefinierade kategorier. S\u00e5 kan du snabbt hitta den underh\u00e5llning du \u00e4r p\u00e5 hum\u00f6r f\u00f6r, oavsett om du vill ha ett kort spel eller en mer avslappnad session.<\/p>\n

V\u00e4lk\u00e4nda Speltyper p\u00e5 Verde Casino<\/h4>\n

De popul\u00e4raste spelen p\u00e5 Verde Casino \u00e4r en blandning av nyheter och gammalt. Slots som Book of Dead och Starburst har en stor skara fans. Live dealer-sektioner med riktiga crupierer lockar dig som vill ha st\u00e4mningen fr\u00e5n ett riktigt casino. V\u00e5rt urval av jackpottspel ger dig dessutom chansen att vinna livsf\u00f6r\u00e4ndrande summor. Det \u00e4r en bra id\u00e9 att kolla in olika kategorier d\u00e5 och d\u00e5, f\u00f6r nya favoriter tillkommer hela tiden.<\/p>\n

Erbjudanden och Kampanjer med ett Glatt hum\u00f6r<\/h2>\n

Din stund p\u00e5 Verde Casino b\u00f6rjar med ett varmt v\u00e4lkomstpaket. Det \u00e4r avsett f\u00f6r att f\u00f6rl\u00e4nga din spelgl\u00e4dje och l\u00e5ta dig uppt\u00e4cka plattformen. Men vi ignorerar tracxn.com<\/a> inte dig d\u00e4refter. Som medlem i v\u00e5r community erh\u00e5ller du kontinuerligt erbjudanden och kampanjer. Det kan vara free spins, ins\u00e4ttningsbonusar eller utmaningar med h\u00e4rliga priser. Vi tycker om att uppmuntra lojala spelare och skapa veckan lite roligare.<\/p>\n