/* 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":140523,"date":"2026-06-10T21:35:45","date_gmt":"2026-06-10T21:35:45","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=140523"},"modified":"2026-06-10T21:35:45","modified_gmt":"2026-06-10T21:35:45","slug":"gratis-spins-flinke-winsten-en-snelle-betalingen-voor-nederland-bij-nv-casino","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/gratis-spins-flinke-winsten-en-snelle-betalingen-voor-nederland-bij-nv-casino\/","title":{"rendered":"Gratis Spins, Flinke Winsten en Snelle Betalingen voor Nederland bij NV Casino"},"content":{"rendered":"
\n\"$5<\/p>\n

NV Casino weet wat Nederlandse spelers wensen: een betrouwbare en prettige tijd https:\/\/nvkasino.org\/nl-nl\/<\/a>. Daarom concentreren we ons geheel op de Nederlandse markt. We geven je free spins om nieuwe spellen te ontdekken, mogelijkheden op aanzienlijke winsten en, wellicht het belangrijkste, snelle uitbetalingen. Opdat je geld vlot op je rekening verschijnt. Dit alles krijg je met geliefde spellen, betrouwbare betalingen en een licentie die hier van toepassing is, alles in een duidelijke omgeving.<\/p>\n

De Populariteit van Free Spins voor Hollandse Spelers<\/h2>\n

Gratis draaien zijn enorm populair, en dat is begrijpelijk. Je kunt er nieuwe slots mee spelen zonder je eigen geld in te zetten. NV Casino geeft free spins weg, onder andere via een welkomstbonus of speciale acties. Die spins zijn doorgaans voor populaire gokkasten van bekende makers, dus een mooie winst is beslist denkbaar. Voor Hollandse spelers zijn ze een fijne manier om het casino te leren kennen.<\/p>\n

Soorten Free Spin Promoties<\/h3>\n

Niet alle gratis spins zijn identiek. We bieden verschillende soorten aan. Soms ontvang je ze direct na je aanmelding, zonder dat je geld hoeft te deponeren. Vaak zijn ze onderdeel van een depositobonus. En we belonen onze regelmatige spelers met wekelijkse of maandelijkse acties. Elke aanbieding heeft voorwaarden, zoals omzetvereisten. Die voorwaarden en regels geven we altijd duidelijk uit. Het idee is simpelweg: je krijgt meer speelgenot en meer kansen.<\/p>\n

Maximaliseer de Waarde en Kracht van Uw Gratis Spins<\/h3>\n

Je kunt meer krijgen uit je gratis draaien met een paar handige adviezen. Bestudeer altijd de regels. Besteed vooral aandacht aan de maximale inzet en de regels voor het cashen van winsten. Het is verstandig om je spins in te zetten op slots met een hoge RTP. Probeer daarnaast verschillende spellen uit. Zo ontdek je wat je waardeert en hoe alles in elkaar zit. Wij bekijken gratis spins vooral als een prettige en veilige start.<\/p>\n

Het Welkomstpakket: Uw Start naar Extra’s<\/h2>\n

Nieuwe spelers uit Nederland krijgen van ons een aantrekkelijk welkomstpakket. Vaak is het een combinatie van een aanbieding op je eerste deposito en een ruime hoeveelheid free spins. Zo start je met een grotere bankroll en kun je op je gemak alles proberen. De regels voor dit pakket zijn duidelijk op de site. We willen je graag een fijne start geven.<\/p>\n

Razendsnelle Uitbetalingen: Onze Belofte aan Nederlandse spelers<\/h2>\n

Winst voelt pas prettig als het geld vlot op je rekening staat. Daarom hechten we snelle uitbetalingen bij NV Casino zeer belangrijk. Gewoonlijk behandelen we een opnameverzoek in \u00e9\u00e9n dag na goedkeuring. Hoe snel het daarna op je rekening staat, hangt af van je betaalmethode. Met iDEAL, een bankoverschrijving of een e-wallet gaat het meestal het vlugst. Je hoeft niet lang te wachten op je verdiende geld.<\/p>\n

Het Opnameproces Uitgelegd<\/h3>\n

Hoe gaat een uitbetaling in zijn werk? Het proces is helder. Je doet een verzoek. Wij controleren het voor de veiligheid. Die controle is een wettelijke stap en hoeft meestal maar \u00e9\u00e9n keer. Daarna sturen we het geld onmiddellijk naar je. Wil je het nog sneller laten gaan? Verifieer dan je account vooraf. Zo zorgen we samen voor een solide en snelle afhandeling.<\/p>\n

Op Zoek naar Grote Winsten: Ons Spelaanbod<\/h2>\n

\"7<\/p>\n

Hoge winsten begin je bij de spellen. NV Casino heeft een brede collectie, speciaal samengesteld voor spelers hier. Je vindt er klassieke slots, moderne video slots met toffe bonusrondes en progressieve jackpots waar het prijzengeld verder stijgt. Ook hebben we een sterke selectie tafelspellen zoals blackjack en roulette. We werken alleen met bekende gamebouwers. Dat betekent eerlijke games, mooie graphics en soepele gameplay op je telefoon, tablet of computer.<\/p>\n

Veilig en Wettelijk Gokken voor Nederlanders<\/h2>\n

Spelactiviteiten moet betrouwbaar en legitiem zijn. NV Casino heeft een licentie voor de Nederlandse markt. We volgen de regels voor spelerbescherming, eerlijke spellen en verantwoordelijk gokken. Je gegevens beveiligen met geavanceerde versleuteling. Ook geven we je opties om zelf limieten in te stellen voor je stortingen of een pauze te nemen. Want wij vinden verantwoord spelen net zo essentieel als jij.<\/p>\n

Casino onderweg: Spelen waar en wanneer u wenst<\/h2>\n

Je game niet meer alleen achter een computer. NV Casino werkt daarom uitstekend op je mobiel. Navigeer naar de website op je smartphone of tablet en de site past zich meteen aan je scherm aan. Je moet niets te downloaden. Alle titels, betalingsopties en de klantenservice zijn gewoonweg beschikbaar. Tijdens het reizen in de trein of thuis op de bank, je favoriete casino is altijd nabij.<\/p>\n

\"Casino<\/p>\n

Service op Maat voor Nederland<\/h2>\n

Goede hulp is noodzakelijk. Ons supportteam helpt Nederlandse spelers in het Nederlands. Je kunt bij ons terecht via live chat voor directe antwoorden, per e-mail voor gedetailleerde vragen of in de FAQ voor regelmatige vragen. Onze medewerkers helpen je met technische problemen, betalingen of het verduidelijken van een bonus. We bieden ons best om elke vraag vriendelijk en vlot op te lossen.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"

NV Casino weet wat Nederlandse spelers wensen: een betrouwbare en prettige tijd https:\/\/nvkasino.org\/nl-nl\/. Daarom concentreren we ons geheel op de Nederlandse markt. We geven je free spins om nieuwe spellen te ontdekken, mogelijkheden op aanzienlijke winsten en, wellicht het belangrijkste, snelle uitbetalingen. Opdat je geld vlot op je rekening verschijnt.\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-140523","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=140523"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140523\/revisions"}],"predecessor-version":[{"id":140524,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140523\/revisions\/140524"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=140523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=140523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=140523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}