/* 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":213774,"date":"2026-06-22T21:51:41","date_gmt":"2026-06-22T21:51:41","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=213774"},"modified":"2026-06-22T21:51:41","modified_gmt":"2026-06-22T21:51:41","slug":"gutschein-ein-nicht-mehr-gultig-ist-und-abgelaufen-ist-4","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/gutschein-ein-nicht-mehr-gultig-ist-und-abgelaufen-ist-4\/","title":{"rendered":"Gutschein, ein nicht mehr gultig ist und abgelaufen ist"},"content":{"rendered":"

Einhandigen Sie einen mobilen Computerprogramm -Promo -Code ein<\/h2>\n

Um cadoola Bonus ohne Einzahlung<\/a> Sonderangebote schnell \u00fcber diese android Application nach erhalten, zu tun sein Sie richtig darauf achten, wie Informationen in diese App eingeben. Diese optimierte Erl\u00f6sung ein Iphone app ist ausgetuftelt f\u00fcr diese Handheld-Anwendung als ein Browser-basierte Eingabe.<\/p>\n

Schritt-fur-Schritt-Anleitung zur Anwendung Ein Aktionsdetails Ihrer Bonuskennung<\/h2>\n
    \n
  1. Initialisieren Sie diese Anwendung \ufffd \u00d6ffnen Sie diese Computerprogramm, diese Die heruntergeladen haben, und melden Sie sich \u00fcber Ihren Kontoinformationen angeschaltet. Auf diese Frage auf ein Lokalisierung mi?ssen besondere Nutzer ein Mittelma? \u00fcber grundlegenden Informationen erstellen und Austria renommieren.<\/li>\n
  2. Wahlen des Abschnitts \ufffd Verwenden Sie diese Hauptmenu & diese Fu?zeile Routing, dar\u00fcber einen Konto und einen Brieftaschenbereich nach finden. Die meisten Versionen legen Pramie -Eingangsfelder in diese Brieftaschen- und Werbeabschnitte ein, sodass sie bekommlich nach aufspuren sind.<\/li>\n
  3. Eingabe des diesen Ausweisung \ufffd Aussuchen Sie das Kategorie \ufffdProvision ausf\u00fcllen\ufffd und so ahnlich. Geben Die Einen alphanumerischen Schl\u00fcssel auf der hut das. Kopierpasteln eingegangen Fehler.<\/li>\n
  4. Nachweis \ufffd Herzen Sie diese Knopf \ufffdAnmelden\ufffd und \ufffdBestatigen\ufffd. Es zu tun sein sich sofort Benachrichtigungen auf einsatz von einen Erfolg auf jeden fall. Horig in ein Angebotsstruktur konnen Positive aspekte, diese \u00fcber Dem Konto mittelm\u00e4\u00dfig… sind, ja Bonusspins und als Gutschrift in Ecu angezeigt.<\/li>\n
  5. Machen Sie eine Einzahlung, wenn Die benotigen \ufffd viele Boni ben\u00f6tigen eine erste Einzahlung in Ecu. W\u00e4hlen Diese Ihre bevorzugte Methode und aufgeben Sie diese Zahlung inoffizieller mitarbeiter Zahlungsportal. Fangen Sie auf allen umstanden, so Sie diese Anforderungen angeschaltet diese Mindesteinzahlung erf\u00fcllen, um zulassig nach ci\ufffd”?our.<\/li>\n<\/ol>\n

    Wie gentleman In-Computerprogramm package reibungslos einl\u00f6sen<\/h2>\n

    Fangen Diese im voraus dem Einlosen auf jeden fall, so Sie diese neueste Version ein Iphone app auf neuen klasse bringen. Altere Versionen haben m\u00f6glicherweise nicht diese Pramie -Eingangsfunktion. Geb\u00fchren Sie Pumps -Benachrichtigungen fur kurze Zeit das, dar\u00fcber sofortige Aktualisierungen Ihres Aktivierungsstatus & zusatzlichen Belohnungen nach erhalten. Wenn Sie erfolgreich eingetragen sind, sind samtliche Ihre Vorteile, wie z. B-complex vitamin. kostenlose Runden und Cashback, inoffizieller mitarbeiter Schritt \ufffdKontoleistungen\ufffd angezeigt. Wenn Sie Probleme auf einsatz von Ein Belohnungsanwendung haben, k\u00f6nnen Sie standig Sch\u00fctzenhilfe von Within-App-Consult auf die beine stellen. M\u00f6glicherweise zu tun sein Die Uberprufungsschritte erfahren und diese Bedingungen des Angebots erf\u00fcllen, um Gewinne und Cashback in Ecu abzuheben.<\/p>\n

    So ausmerzen Sie gemeinsame Probleme \u00fcber Belohnungsgutscheinen<\/h2>\n

    Nebensachlich wenn Diese samtliche anderen Ma?nahme prazise tragen, haben Sie evtl. immer noch Probleme uber dem Belohnungsgutschein. Hier erfahren Diese, wie Sie gemeinsame Probleme vermeiden konnen, daruber Die zusatzliche Vorteile nicht vergessen.<\/p>\n

    Betrachten Sie es Verfallsdatum; Angebote haben erwartet strenge Zeitlimits. Uberprufen Diese wieder in Fehler, da ich ein zusatzlicher Gegend und ein verlegter Charakter diese Anwendung daran behindern kann, durchzugehen. Wenn Sie einen Code in der Webseite von Drittanbietern erhalten haben, betrachten Diese kunden, irgendwo er stammt, hier viele Blog verzeichnen, diese nicht langer komplett sind.<\/p>\n

    Angebot und Benutzerstatus unzustandig<\/h2>\n

    Einige Angebote auf einen fu?en stehen jedoch Neukunden und bestimmten Gruppen zur Verf\u00fcgung. Leute, diese etwas langsam ein Konto sein besonders nennen, k\u00f6nnen auf umstanden gar keine neuen Registrierungsboni erhalten, k\u00f6nnen noch fortwahrend wiederkehrende Angebote wie Nachladenboni und kostenlose Spins erhalten, diese jedoch f\u00fcr kurze Zeit verfugbar man sagt, sie sind. Lesen Sie immer diese Begriffe, um sicherzustellen, so Sie sich weiterbilden.<\/p>\n

    Mindesteinzahlung und Kontostand gar nicht auftreibt<\/h2>\n

    Viele Geschafte gebieten eine erste Vorarbeit in einem bestimmten Geldbetrag wie Ecu, ein hoher als das bestimmtes Niveau ist. Lernen Sie, in wie weit Ihre Zahlung in Ecu diese Anforderungen erfullt, vorab Sie versuchen, einen Gutschein auf verwenden. Meistens sind Transaktionen auf dem Mindestbetrag nicht akzeptiert.<\/p>\n

    Fehler inoffizieller mitarbeiter Code & diese Ubereinstimmung \u00fcber ein Plattform<\/h2>\n

    Partners vouchers does only be applied on humanoid devices at computers. Watersport certain ‘ utilizing the best device and the an internet relationship das immovable. When anybody aren’t able to see their eingabe brett, was clearing your browser’s cache in verf\u00fcgung to alongside a various means. In the event that the aff\u00e4re keeps happening, require in touch by simply hilfe.<\/p>\n","protected":false},"excerpt":{"rendered":"

    Einhandigen Sie einen mobilen Computerprogramm -Promo -Code ein Um cadoola Bonus ohne Einzahlung Sonderangebote schnell \u00fcber diese android Application nach erhalten, zu tun sein Sie richtig darauf achten, wie Informationen in diese App eingeben. Diese optimierte Erl\u00f6sung ein Iphone app ist ausgetuftelt f\u00fcr diese Handheld-Anwendung als ein Browser-basierte Eingabe. Schritt-fur-Schritt-Anleitung\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-213774","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/213774","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=213774"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/213774\/revisions"}],"predecessor-version":[{"id":213776,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/213774\/revisions\/213776"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=213774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=213774"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=213774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}