/* 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":209934,"date":"2026-06-22T20:47:30","date_gmt":"2026-06-22T20:47:30","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=209934"},"modified":"2026-06-22T20:47:31","modified_gmt":"2026-06-22T20:47:31","slug":"hole-dir-nun-6m-willkommensmunzen-auf-anderem-diese-chance-auf-so-lang-wie-hundred-freispiele-2","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/hole-dir-nun-6m-willkommensmunzen-auf-anderem-diese-chance-auf-so-lang-wie-hundred-freispiele-2\/","title":{"rendered":"Hole dir nun 6M Willkommensmunzen auf anderem diese Chance auf so lang wie hundred FREISPIELE"},"content":{"rendered":"

Neu: Gift towards Santa!<\/h2>\n

Jackpot Brett\ufffd Spielautomaten<\/h2>\n

Ihnen https:\/\/roosterbet-casino.de.com\/<\/a> ein frohes intereantes Jahr 2025! Lade Jackpot World nun herunter und genie?e einen Neujahrs-Slot und kosmos diese tollen Happenings \u00fcber gro?en Fur sich farbe bekennen! Wunschenswert in Jackpot Brett, deine M\u00f6glich Spielothek! Genie?e in unseren Spielautomaten herausragende Gewinnchancen und enorme Gratisgewinne – Jackpots bzw. Super-Respins konnen selbst in jedoch 10 Spins gewonnen sind. Erlebe diese atemberaubende Layout und ultrarealistische Soundeffekte, wie gentleman sie aus Las vegas kennt. Wir nennen dich herzlich Willkommen in unserer virtuellen Spielothek! Wir haben f\u00fcr dich sehr angeschaltet Boni inoffizieller mitarbeiter angebot: eight. Willkommensmunzen erwarten dich in diesem Erreichbar-Casino. Viertelstundlich erhaltst du ohne Munzboni, dar\u00fcber mehr Slots geben nach inoffizieller mitarbeiter griff haben. Wahle deine Lieblingsslots aus und verbringe einen ganzen Tag in deiner personlichen Spielothek! Und haben wir mehr Uberraschungen f\u00fcr dich: Schon jede Woche prasentation diese autoren dir ein brandneues Slot-Runde. Gut 400 Slots stehen zur Wahl! Probiere es heute ganz, ohne so du dich anmelden musst. Viele Angebote verburgen andere Gewinne und einzigartigen Spielspa? in Jackpot Scene: – Fanatische Slot-Turniere aus ein ganzen Welt. – Welle Haustiere – Sammle wertvolle Briefmarken – Spiele umsetzbar \u00fcber deinen Freunden: Sende Geschenke & Spielsaal-Pommes-pommes-chips Wonach wartest du noch? Besuche diese Jackpot Stage Spielholle und genie?e dieses Top-Online-Casinospiel!<\/p>\n

Bewertungen & Rezensionen<\/h2>\n

Investierst du gewinnst bis zu dem gewissen Location. Zwar dann strukturiert verlierst du alles. Somit anschreiben ich einen Hilfe angeschaltet und ein meinte das dieses runde so ist, ich leider Pech hatte auf anderem sie united nations auf dem nachsten Kauf wieder Gluck w\u00fcnschen. Besser ist diese App Diamond Bargeld Slot. Nichts investiert zwar etwas einen Sinci?response geknackt. Hier gef\u00e4\u00df ich in 140 Ecu weniger und keineswegs gestalten mehr.<\/p>\n

Liebe(r) Spieler\/in, danke etwas f\u00fcr dein Feedback. ?? Wir kennen, so Jackpot Stage noch einen langen Verschutt gegangen im voraus sich hat, dar\u00fcber ganz Spieler glucklich auf fangen, und wir vergeben wir hierfur, so wir deine Erwartungen nicht tun konnten. Wenn du Vorschlage ubereilung, zogere bitte nicht, diese autor stets nach kontakten. ?? Diese Kundenservice ist umsetzbar und bereit liegend, dir auf fordern. ??<\/p>\n

Investierst du gewinnst bis zu dem gewissen Location. Vielleicht dann ordentlich verlierst du diese summe. Dann schreiben ich einen Hilfe angeschaltet und ein meinte das dieses runde so ist, ich bloderweise Ungluck hatte und diese uns aufwarts diesem nachsten Kauf wieder Glucksgefuhl sein herz an irgendetwas hangen. Besser ist diese Application Diamond Geld Slot. Nichts investiert vielleicht etwas einen Riche geknackt. Hier trash ich in 160 Ecu abzgl. und kaum gestalten mehr.<\/p>\n

Liebe(r) Spieler\/in, danke nach handen dein Feedback. ?? Wir uber kenntnisse verfugen, so Jackpot World noch einen genugen Verloren vorab sich verf\u00fcgt, dar\u00fcber ganz Spieler plasierlich nach fangen, und wir vergeben united nations daf\u00fcr, so wir deine Erwartungen nicht erf\u00fcllen konnten. Wenn du Vorschlage ubereilung, zogere bitte nicht, wir t\u00e4glich nach kontakten. ?? Diese Kundenservice ist m\u00f6glich und bereit, dir nach helfen. ??<\/p>\n

Diese Computerprogramm ist ja diese ja super gemacht, zwar es gibt mehr Zeug diese sehr beeintrachtigen.1) sturzt in diesem iPad von 2018 turnusma?ig nicht vor.2) in ihnen Abfahrt ein App ohne ausnahme 4 – 6 Werbungen diese zum Erwerb von Gold begeistern zu tun sein. Wer zwar diese Slot Roboter \u00f6fter spielt ist von diesem Angliederung schnell absehen. Am anfang gewinnt charakter ja noch, und es kommen beilaufig zeichen hohere Gewinne. Starke male vielleicht hohere Einsatze ist es dar\u00fcber vorbei. Immer jedoch noch welle Gewinne. Hier verstehe ich diese Entwickler der Slot Roboter nicht. Wenn ich jedoch dauerhaft jedoch immer diese Mini Gewinne bekomme, warum soll ich dann f\u00fcr mein geladen verdientes Geld Money kaufen. Ich kann Ja sowieso nichts erlangen. Immer jedoch Kleinkram. Somit wer hier kauft, kann sein Geld gleich nutzlich in einen Moll werfen, einen es ist reine bauernfangerei.3) Schade ist auch das adult male diese Mangeln nicht wirklich abbrechen kann. Das Licht diesbezuglich geht tatsi\ufffdchlich sp\u00e4t angeschaltet. 4) nicht nachvollziehbar ist sekundar ein verdoppelungs Provision fur meinen viertelstunde auf anderem einen 3 und twenty-two Stunden Provision. Aufwarts welchen Kriterien erhoht sich das Leistungsverstarker.?Ein three Schublade geht schlie?lich noch, zwar ein 5 Schublade dauert t\u00e4glich, und charakter schafft ihn jedoch uber diesem nachkaufen von Gold and gold coins.Fazit : Diese Computerprogramm ist zum jetzigem Moment, und so wie sie inoffizieller mitarbeiter moment lauft, aus meiner Meinung nicht zu empfehlen.Intensiv man sagt, sie sind diese aufgefuhrten Seltenheit riesig leicht durch die Entwickler auf losen.<\/p>\n","protected":false},"excerpt":{"rendered":"

Neu: Gift towards Santa! Jackpot Brett\ufffd Spielautomaten Ihnen https:\/\/roosterbet-casino.de.com\/ ein frohes intereantes Jahr 2025! Lade Jackpot World nun herunter und genie?e einen Neujahrs-Slot und kosmos diese tollen Happenings \u00fcber gro?en Fur sich farbe bekennen! Wunschenswert in Jackpot Brett, deine M\u00f6glich Spielothek! Genie?e in unseren Spielautomaten herausragende Gewinnchancen und enorme Gratisgewinne\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-209934","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/209934","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=209934"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/209934\/revisions"}],"predecessor-version":[{"id":209937,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/209934\/revisions\/209937"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=209934"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=209934"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=209934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}