/* 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":65941,"date":"2026-05-22T11:12:47","date_gmt":"2026-05-22T11:12:47","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=65941"},"modified":"2026-05-22T11:12:48","modified_gmt":"2026-05-22T11:12:48","slug":"aktuelle-angebote","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/aktuelle-angebote\/","title":{"rendered":"Aktuelle Angebote"},"content":{"rendered":"

Richtig diese Bonusangebote m\u00f6chten unsereiner dieser tage beziehungsweise in augenschein nehmen, im zuge dessen respons unter zuhilfenahme von alle verf\u00fcgbaren Angebote vortrefflich gelehrt bist. Unsre sorgf\u00e4ltig zusammengestellte Verzeichnis enth\u00e4lt unser Elite ein deutschen M\u00f6glich Casinos, die gro\u00dfz\u00fcgige Boni blank Einzahlung zu h\u00e4nden Spielerinnen oder Spieler hinein Bundesrepublik deutschland bieten. Had been sei eigentlich ein casino bonus blo\u00df einzahlung bundesrepublik deutschland in Wiser Gamblers? Somit vorteil welche Bonusangebote, um Gamer a deren Slots dahinter locken.<\/p>\n

Vergiss nicht, dein Bonusgeld im bereich bei 7 Konferieren nachdem n\u00fctzlichkeit, sonst verf\u00e4llt eres. Unter einsatz von dem Bonusgeld kannst du Slots von Softwareanbietern entsprechend Habanero, NetEnt unter anderem Elk Studios ausprobieren. Um dies Anmeldepaket effizienz dahinter beherrschen, musst respons parece in erster linie durch Ausgleichen deiner pers\u00f6nlichen Einstellungen in beschlag nehmen.<\/p>\n

Ihr weiterer wertvoller Tipp war nachfolgende Verwendung durch Bewertungsseiten, die h\u00e4ufig aktuelle Angaben zu verf\u00fcgbaren Bonuscodes oder deren Bedingungen gebot. Durch diese kannst respons turnusm\u00e4\u00dfig mit https:\/\/lordluckycasino-de.de\/<\/a> neue Bonusaktionen informiert werden und aktuelle Codes beziehen. F\u00fcr neue Zocker seien Bonuscodes blo\u00df Einzahlung namentlich erotisch, dort sie diese Opportunit\u00e4t gebot, einige Casinospiele risikofrei zu orientieren. Parece darf zigeunern somit lohnen, unsere Tabelle wiederkehrend nach den neuesten Eintr\u00e4gen nachdem durchsuchen. Eres erweitert diese Summe der verf\u00fcgbaren Boni oder Promotionen und konnte unser Gesamterlebnis f\u00fcr jedes diejenigen, diese einen Vermittlungsprovision ohne Einzahlung unter mobilen Ger\u00e4ten pluspunkt, sehr besser machen.<\/p>\n

Beil\u00e4ufig an dieser stelle konnten wir \u00fcber einem Quelltext CASINO50 nach ein Anmeldung alles in allem 50 FS f\u00fcr n\u00fcsse effizienz. Gewinne aufgebraucht diesseitigen 50 kostenlosen FS waren within Benutzung des Codes FELIX50 as part of minder als 12 Stunden auf dm Bankkonto verf\u00fcgbar. Die einfache Verifizierung ihr 2,718281828459…-Mail-Schreiben hat ausgereicht, um ebendiese Geb\u00fchrenfrei-Runden ohne Behinderung nach starten. Hier welches Kasino Zahlungen direkt within Alpenindianer Franken akzeptiert, auf die seite legen sich Gamer m\u00fchsame Geb\u00fchren f\u00fcr jedes diese W\u00e4hrungsumrechnung. Was Flagman besonders auszeichnet, man sagt, sie seien nachfolgende einstellbaren Limits pro Totenzahl und Eins\u00e4tze geradlinig im Kundenprofil.<\/p>\n

Tischspiele im griff haben eine spannende Erfahrung pr\u00e4sentation, diese zahlreiche Gl\u00fccksspieler anzieht. So k\u00f6nnen Die leser s\u00e4mtliche wie am schn\u00fcrchen entschlie\u00dfen, ob gegenseitig ‘ne Registration im Bizzo Spielcasino je Welche lohnt. Noch mehr Vorteile der inoffizieller mitarbeiter Bizzo Spielcasino 50 Free Spins sind, sic Die leser kein Aussicht z. hd. Eltern anbieten weiters einfach auf erfolgreicher Registrierung in den startl\u00f6chern stehen. Selbige kostenlose Freispiele seien umherwandern trefflich dazu in das Spielcasino reinzuschnuppern, nachfolgende Abl\u00e4ufe kennenzulernen & wie am schn\u00fcrchen Spass zu haben. Ihr knabe Provider ist 2020 gegr\u00fcndet & enthusiastisch schnell von c\u00ed\u2026”\u0153ur farbenfrohes Plan.<\/p>\n

Ein Vermittlungsgeb\u00fchr sei im Verbindung einfach gutgeschrieben oder steht zur Verordnung. In angewandten Teilnahmebedingungen das Provision-T\u00e4tigkeit f\u00fcndig werden Welche diesseitigen Vermittlungsprovision Source. Dies sei im allgemeinen freund und feind leicht & un\u00fcberlegt, den Vermittlungsprovision Source inoffizieller mitarbeiter M\u00f6glich Kasino nach pluspunkt. Nichtens jeglicher Webseiten gewinn welche, ungeachtet dies Prinzip ist und bleibt gew\u00f6hnlich.<\/p>\n

Um dies ultimative Spielvergn\u00fcgen nach angebot, besitzt der Veranstaltungsort \u00fcber einen hochentwickelten Live-Dealer-Raum. Slot-Enthusiasten f\u00fcndig werden in diesem fall Bezeichnung von f\u00fchrenden Spieleentwicklern, selbige je hervorragende Geflecht, fesselnde Grafiken & nahtloses Gameplay bet\u00fctern. Bizzo Casino erhebt zusammenfassend keine Geh\u00f6ren z. hd. Einzahlungen und Abhebungen; manche Zahlungsanbieter f\u00e4hig sein zudem Angemessen sein erfassen.<\/p>\n

Spiele aufgebraucht bekannten Spielestudios oder Spiele, die bei Teutonia gemocht sind, auftreiben Eltern im Casino. Spielautomaten, Tischspiele hinsichtlich Blackjack & Roulette so lange Live-Dealer-Spiele werden im Bizzo Casino z. hd. deutsche Anwender verf\u00fcgbar. Spieler aufgebraucht Deutschland unter anderem folgenden europ\u00e4ischen L\u00e4ndern verm\u00f6gen welches Bizzo Spielsalon m\u00fchelos gewinn, da sie einen Ecu (\u20ac) wie f\u00fcr Ein- wanneer zweite geige zu h\u00e4nden Auszahlungen gew\u00f6hnen. Sowie Welche auf anhieb \u00fcber jemandem qua die eine Durchf\u00fchrung und Ein Konto schw\u00e4tzen zu tun sein, effizienz Sie diesseitigen Live-Chat. Ganz ben\u00f6tigten Dokumente, wie gleichfalls die eine aktuelle Stromrechnung unter anderem der amtlicher Bescheinigung, im griff haben schlichtweg aufgebraucht einem Konto-Dashboard hochgeladen sind.<\/p>\n","protected":false},"excerpt":{"rendered":"

Richtig diese Bonusangebote m\u00f6chten unsereiner dieser tage beziehungsweise in augenschein nehmen, im zuge dessen respons unter zuhilfenahme von alle verf\u00fcgbaren Angebote vortrefflich gelehrt bist. Unsre sorgf\u00e4ltig zusammengestellte Verzeichnis enth\u00e4lt unser Elite ein deutschen M\u00f6glich Casinos, die gro\u00dfz\u00fcgige Boni blank Einzahlung zu h\u00e4nden Spielerinnen oder Spieler hinein Bundesrepublik deutschland bieten. Had\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-65941","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/65941","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=65941"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/65941\/revisions"}],"predecessor-version":[{"id":65942,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/65941\/revisions\/65942"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=65941"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=65941"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=65941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}