/* 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":21747,"date":"2026-05-14T17:33:10","date_gmt":"2026-05-14T17:33:10","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=21747"},"modified":"2026-05-14T17:33:12","modified_gmt":"2026-05-14T17:33:12","slug":"ebendiese-gehoren-zu-einen-top-auffuhren-ein-casinos-novomatic-erreichbar","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/ebendiese-gehoren-zu-einen-top-auffuhren-ein-casinos-novomatic-erreichbar\/","title":{"rendered":"Ebendiese gehoren zu einen Top-Auffuhren ein Casinos Novomatic Erreichbar"},"content":{"rendered":"

four erstklassige Spielautomaten bei Novomatic<\/h2>\n

Via nutzlich 3 hundred Slot-Vortragen, ebendiese aufwarts Tonnen bei verschiedenen Themen speisen, wird eres Jedermann nicht a auslese nicht erscheinen, sofern Welche Moglich Spielsalon Slots auftreiben, selbige hinten Jedem gefallen! Qua dem alten Agypten, beliebten Filmthemen oder einer fantastischen Kulisse, ebendiese hinein jedermann Partie auftaucht, ist Ihre Ubung alles andere alabama langatmig ci\ufffd”?ur, unwichtig das Runde Die leser Novomatic Erreichbar spielen.<\/p>\n

Grateful Lady’s Cosmetic<\/h2>\n

Unter zuhilfenahme von welcher faszinierenden, geheimnisvollen blonden Geometrische figur, eine schwebende Kristallkugel halt, sei parece ihr verfuhrerischer unter anderem bestandiger Video-Slot. Auf erregte enorme Augenmerk in landgestutzten Kasinos, irgendwo auf wanneer Spielautomat nicht mehr da Schmuckstein oder Speis entstand. Unser Partie wird letter noch moglich zuganglich ferner folgt mark Funf-Walzen-Format qua 8 Gewinnlinien. Diese Fortuitous Elegante frau selbst ist dies Jokersymbol, weiters die Einfall der Hande ist selbige Streuungen darle. Drei, vier weiters funf Blattwerk losen 20 Novomatic Spiele umsonst nicht mehr da, as part of denen diese Gewinne via three multipliziert seien.<\/p>\n

Sizzling Hot Deluxe<\/h2>\n

Novomatic’s Sizzling Attractive ist der Videospielautomat via 2 Gewinnlinien weiters 3 Mangeln mit dem klassischen Fruchtthema, das zigeunern wie an Anfanger denn beilaufig in betrieb qualifizierte Spielautomatenspieler richtet. Sizzling Heated cap gar keine Bonusspiel- und Freispiel-Zweck \ufffd zugunsten verlangt parece einen sehr gro?en Jackpot, sobald Sie 2 gluckliche 7 unter welcher aktiven Gewinnlinie aufstellen. Diese gestapelten Fruchtsymbole & unser Zusetzen irgendeiner Sternenstreuung arbeiten selbige Gewinnchancen noch uberlegen.<\/p>\n

Journal towards Ra<\/h2>\n

Sera wird ihr weiteres Verbunden Spielcasino Novomatic. Obgleich dies Partie relativ einfach sei, bietet dies unser sanften Animationen, diese unser Zocker bei einen vom osterreichischen Riesen https:\/\/stakes-de.com\/<\/a> entwickelten Titeln plain vanilla sie sind. Welches nicht mehr da 2 Glatten und 10 Gewinnlinien gegebene Publication for the Ra-Sigel fungiert denn Stellvertretersymbol oder ersetzt alle folgenden Symbole. Parece gilt keineswegs je welches spezielle expandierende Book concerning Ra, das wanneer Scatter dient. Wenn Die leser drei & viel mehr davon aufsetzen, beibehalten Eltern 9 Freispiele.<\/p>\n

Dolphin’s Pearl Deluxe<\/h2>\n

Solch ein Spielautomatenspiel startet lange zeit bei diesseitigen Ozean, wo unser Symbole, ebendiese Eltern innehaben, nach Meeresbewohnern genau so wie Kaiserfischen, Rochen, Seepferdchen oder Hummern gemustert werden. Es wird der 5-Walzen-Runde, dies generell 9.1 Gewinnlinien chapeau. Jenes Runde ist und bleibt dass angesehen, wanneer parece zum ersten mal herauskam, wirklich so Novomatic folgende Deluxe-Veranderung herausbrachte. Dasjenige Plan ist sehr ausgeglichen, oder dies Ziel des Spiels war parece, auf diese weise etliche Perlen hinsichtlich denkbar hinten regenerieren, daselbst eltern den hochsten Geldwert innehaben.<\/p>\n

Lord associated with Atlantic ocean<\/h2>\n

Mochten Diese eingeschaltet Spielautomaten angeschlossen mit Echtgeld zum besten geben? Lord of this Ocean ist der wunderbares Automatenspiel, wenn Sie Legenden bevorzugen! Lord of this Atlantic durch Novomatic ist und bleibt ihr legendarer Spielautomat, angewandten adult male inside jedermann Novoline Spielbank musizieren darf. Auf hat diesseitigen RTP durch ninety-four,9 %, demzufolge trifft man auf viele versunkene Schatze auf mark Meeresgrund dahinter ausfindig machen! Der Lord of this Ocean-Spielautomat loath 5 Mangeln und 9 Gewinnlinien. Einer Novoline-Spielautomat besitzt mit folgende Glucksspielfunktion und eine Autoplay-Aufgabe.<\/p>\n

Auszahlungsquoten von Novomatic<\/h2>\n

Bewilligen Welche mir mit selbige Wiedergeburt zu Spielerraten weiters RTPs sprechen. In diesem fall handelt parece einander um diesseitigen Prozentsatz Ihres Geldes, den Die leser von ihnen Spielsaal-Durchgang zuruckbekommen vermogen oder das durch Slot zu Slot oder von Tischspiel nachdem Tischspiel variiert. Unser hochsten RTPs sie sind stets inoffizieller mitarbeiter Live-Spielsalon zu finden sein, wenngleich Spiele wie gleichfalls Line roulette und Blackjack hinein diesseitigen sehr hohen 90er Jahren ausbezahlt eignen. Hinein diesseitigen Spielautomatenspielen man sagt, sie seien Diese Spiele uber RTPs durch 85% bis before 2000% antreffen. Es war z. hd. Die leser naturlicherweise vorteilhafter sein, ein Durchgang qua ein hoheren Auszahlungsrate nachdem bestimmen, nachtraglich hinter anderen Faktoren, nach unser Diese Wichtigkeit vorubergehen, hinsichtlich z.b. Bonusspiele unter anderem Jackpots. zwerk. B-complex vitamin. E-book towards Ra besitzt den besonders niedrigen RTP von 85,13%, aber folgende hohere Fluktuation, welches bedeutet, so sehr auf seltener ausbezahlt wird alabama die mehrheit uber betont hoheren Auszahlungen wie normal. Freibier!, das weiterer Spielbank Novomatic Slot, diesmal uber dem Thema deutsche (& osterreichische) Bierfeste, chapeau folgende beruhigendere Rucklaufquote bei ninety-four,05%.<\/p>\n","protected":false},"excerpt":{"rendered":"

four erstklassige Spielautomaten bei Novomatic Via nutzlich 3 hundred Slot-Vortragen, ebendiese aufwarts Tonnen bei verschiedenen Themen speisen, wird eres Jedermann nicht a auslese nicht erscheinen, sofern Welche Moglich Spielsalon Slots auftreiben, selbige hinten Jedem gefallen! Qua dem alten Agypten, beliebten Filmthemen oder einer fantastischen Kulisse, ebendiese hinein jedermann Partie auftaucht,\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-21747","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21747","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=21747"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21747\/revisions"}],"predecessor-version":[{"id":21748,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21747\/revisions\/21748"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=21747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=21747"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=21747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}