/* 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":21879,"date":"2026-05-14T17:54:06","date_gmt":"2026-05-14T17:54:06","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=21879"},"modified":"2026-05-14T17:54:07","modified_gmt":"2026-05-14T17:54:07","slug":"nachfolgende-angebracht-sein-nach-diesseitigen-tagesordnungspunkt-spielen-ein-casinos-novomatic-verbunden","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/nachfolgende-angebracht-sein-nach-diesseitigen-tagesordnungspunkt-spielen-ein-casinos-novomatic-verbunden\/","title":{"rendered":"Nachfolgende angebracht sein nach diesseitigen Tagesordnungspunkt-Spielen ein Casinos Novomatic Verbunden"},"content":{"rendered":"

3 erstklassige Spielautomaten von Novomatic<\/h2>\n

Mit mehr als 309 Slot-Vortragen, selbige in Tonnen von wichtige Themen speisen, ist und bleibt parece Jedem auf keinen fall a wahl fehlen, sobald Welche Erreichbar Spielsalon Slots ausfindig machen, ebendiese hinter Jedem passen! Qua diesem alten Agypten, beliebten Filmthemen weiters ein fantastischen Theaterkulisse, selbige hinein jedermann Arbeitsgang auftaucht, wird Die Ubung die gesamtheit andere wanneer geraume zeit dauernd werden, unwichtig dasjenige Partie Diese Novomatic Moglich spielen.<\/p>\n

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

Mit einer faszinierenden, geheimnisvollen blonden Figur, die eine schwebende Kristallkugel halt, ist und bleibt es ihr verfuhrerischer weiters bestandiger Video-Slot. Er erregte umfangreiche Wachsamkeit inside landgestutzten Kasinos, irgendwo er alabama Spielautomat nicht mehr da Schmuckstein unter anderem Mortel entstand. Das Partie ist letter zudem verbunden zuganglich oder folgt diesem Funf-Walzen-Gro?enordnung unter einsatz von nueve Gewinnlinien. Die Blessed Signora meinereiner ist und bleibt dies Jokersymbol, & die Vorstellung der Hande ist diese Streuungen lanzar. Drei, vier und funf Laub losmachen 22 Novomatic Spiele umsonst nicht mehr da, as part of denen unser Gewinne unter einsatz von three multipliziert werden.<\/p>\n

Sizzling Warm Deluxe<\/h2>\n

Novomatic’s Sizzling Very hot ist das Videospielautomat unter einsatz von 4 Gewinnlinien ferner 4 Mangeln unter zuhilfenahme von dm klassischen Fruchtthema, ein sich plus an Laie als untergeordnet aktiv kompetente Spielautomatenspieler richtet. Sizzling Hot besitzt gar keine Bonusspiel- & Freispiel-Feature \ufffd statt gibt sera einen enorm gro?en Haupttreffer, wenn Welche four gluckliche 7 auf der aktiven Gewinnlinie ordnen. Unser gestapelten Fruchtsymbole weiters welches Zusetzen einer Sternenstreuung schaffen nachfolgende Gewinnchancen noch uberlegen.<\/p>\n

Publication for Ra<\/h2>\n

Parece wird ihr weiteres Erreichbar Kasino Novomatic. Obwohl dasjenige Spiel ma?ig wie am https:\/\/slotsofvegas-casino-de.com\/<\/a> schnurchen ist, gibt dies diese sanften Animationen, selbige diese Glucksspieler von diesseitigen vom osterreichischen Riesen entwickelten Titeln gewohnt seien. Unser leer 3 Bugeln weiters nine Gewinnlinien bestehende Guide for Ra-Vorzeichen fungiert als Joker unter anderem ersetzt jedweder folgenden Symbole. Sera gelte auf keinen fall zu handen das spezielle expandierende Book for the Ra, dasjenige wanneer Scatter dient. Sofern Sie drei oder noch mehr davon herabfliegen, beibehalten Welche 10 Freispiele.<\/p>\n

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

Jenes Spielautomatenspiel beginnt lange zeit in diesseitigen Ozean, irgendwo nachfolgende Symbole, ebendiese Diese sein eigen nennen, auf Meeresbewohnern hinsichtlich Kaiserfischen, Rochen, Seepferdchen ferner Hummern gemustert eignen. Parece sei das 5-Walzen-Durchgang, dasjenige generell 8 Gewinnlinien besitzt. Jenes Partie war dass beliebt, wanneer es erstmalig herauskam, so sehr Novomatic die Deluxe-Ausgabe herausbrachte. Dasjenige Design war immens abgeklart, unter anderem unser Ziel wa Spiels wird parece, wirklich so jede menge Perlen genau so wie moglich nachdem wiederherstellen, hier die leser diesseitigen hochsten Geldwert sehen.<\/p>\n

Lord associated with Ocean<\/h2>\n

Mochten Eltern aktiv Spielautomaten moglich unter einsatz von Echtgeld musizieren? Lord for the Atlantic wird ihr wunderbares Automatenspiel, sofern Diese Legenden neigen! Lord associated with the Ocean bei Novomatic sei ein legendarer Spielautomat, den adult male within ihnen Novoline Spielcasino auffuhren kann. Er besitzt angewandten RTP von 94,10 %, dadurch trifft man auf viele versunkene Schatze nach diesem Meeresgrund dahinter ausfindig machen! Der Lord associated with the Atlantic-Spielautomat chapeau 4 Walzen und 10 Gewinnlinien. Irgendeiner Novoline-Spielautomat verfugt unter zuhilfenahme von eine Glucksspielfunktion weiters folgende Autoplay-Zweck.<\/p>\n

Auszahlungsquoten durch Novomatic<\/h2>\n

Zulassen Eltern die autoren qua selbige Ruckkehr zu Spielerraten ferner RTPs sprechen. Bei keramiken handelt parece zigeunern um angewandten Prozentsatz Ihres Geldes, einen Die leser durch jedem Kasino-Spiel zuruckbekommen fahig sein und ihr bei Slot nachdem Slot & durch Tischspiel nachdem Tischspiel variiert. Diese hochsten RTPs sie sind durch die bank im Live-Kasino nachdem fundig werden ci\ufffd”?ur, wobei Spiele wie gleichfalls Roulette & Blackjack within diesseitigen arg au?erordentlichen 90er Jahren ausbezahlt man sagt, sie seien. Inside diesseitigen Spielautomatenspielen sie sind Eltern Spiele via RTPs bei 90% solange bis 1998% treffen. Sera wird fur Welche erwartungsgema? vorteilhafter werden, das Arbeitsgang uber dieser hoheren Auszahlungsrate hinter wahlen, nachtraglich zu folgenden Faktoren, aufwarts ebendiese Diese Wichtigkeit legen, genau so wie etwa Bonusspiele oder Jackpots. Z. Bacillus. Publication of Ra cap angewandten au?ergewohnlich niedrigen RTP von 90,13%, wohl die hohere Wechsel, welches bedeutet, so sehr er seltener ausbezahlt wird amyotrophic lateral sclerosis fast alle mit akzentuiert hoheren Auszahlungen als gewohnlich. Freibier!, ihr weiterer Spielbank Novomatic Slot, diesmal unter zuhilfenahme von unserem Fragestellung deutsche (ferner osterreichische) Bierfeste, head wear ‘ne beruhigendere Rucklaufquote von 95,05%.<\/p>\n","protected":false},"excerpt":{"rendered":"

3 erstklassige Spielautomaten von Novomatic Mit mehr als 309 Slot-Vortragen, selbige in Tonnen von wichtige Themen speisen, ist und bleibt parece Jedem auf keinen fall a wahl fehlen, sobald Welche Erreichbar Spielsalon Slots ausfindig machen, ebendiese hinter Jedem passen! Qua diesem alten Agypten, beliebten Filmthemen weiters ein fantastischen Theaterkulisse, selbige\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-21879","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21879","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=21879"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21879\/revisions"}],"predecessor-version":[{"id":21880,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21879\/revisions\/21880"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=21879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=21879"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=21879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}