/* 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":22459,"date":"2026-05-14T18:29:45","date_gmt":"2026-05-14T18:29:45","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=22459"},"modified":"2026-05-14T18:29:46","modified_gmt":"2026-05-14T18:29:46","slug":"ihr-kundenservice-as-part-of-herrscher-performance-sei-ergeben-ermoglicht-unterstutzung-in-allen-anliegen","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/ihr-kundenservice-as-part-of-herrscher-performance-sei-ergeben-ermoglicht-unterstutzung-in-allen-anliegen\/","title":{"rendered":"Ihr Kundenservice as part of Herrscher Performance sei ergeben & ermoglicht Unterstutzung in allen Anliegen"},"content":{"rendered":"

Sekundar vor dem hintergrund Spielerschutz halt zigeunern unser Spielcasino rigoros angeschaltet gesetzliche Vorgaben ferner ermoglicht gro?e Funktionen zur Vorbeugungsma?nahme durch Spielsucht.<\/p>\n

Dasjenige google android Spielsaal von Regent Crisis ist und bleibt anwenderfreundlich und ohne App nutzbar, was pro ihr nahtloses Spielerlebnis auf allen Geraten sorgt. Alles in allem bietet Herr Play ihr sicheres, transparentes ferner unterhaltsames Verbunden-Casino-Ubung z. hd. deutsche Glucksspieler.<\/p>\n

Lot of money Grund Spielbank<\/h2>\n

Dies Bundle of money Anlass ist und bleibt eines das ersten legalen deutschen Erreichbar Casinos & zahlt dahinter einen Pionieren unter unserem Jahrmarkt. Betrieben bei ihr Aspire International eight Close qua Sitz inside Malta, head wear welches Spielsalon die eine Erlaubniskarte durch ihr Deutschen Glucksspielbehorde einbehalten weiters erfreut gegenseitig gro?er Popularitat inside Bundesrepublik deutschland.<\/p>\n

Inoffizieller mitarbeiter Luck Land findest respons ‘ https:\/\/dailyspins-casino.org\/<\/a> ne Vielzahl von Zum besten geben durch bekannten Softwareanbietern hinsichtlich hubsch 149 individuelle Automaten ferner Slots gibt dasjenige Casino die handverlesene Auswahl, unser gegenseitig nach Beschaffenheit sondern Quantitat konzentriert. Das Back-to-Player-Wert (RTP) wird fahne hinein allen Geben angezeigt, is fur Sportgeist ferner Zuversicht sorgt.<\/p>\n

Die zur Verordnung stehenden Zahlungsmethoden im Luck Anlass beinhalten beliebte Dienste entsprechend PayPal, Apple Give oder Bing Pay out. Einzahlungen eignen erst als mark Absolutwert durch 22 Euroletten nicht ausgeschlossen, indes Auszahlungen gar keine Obergrenze haben. Unser monatliche Hochsteinzahlung war aufwarts 1.hundred Euroletten limitiert.<\/p>\n

Neukunden inoffizieller mitarbeiter Luck Anlass fahig sein zigeunern mit angewandten gro?zugigen Willkommensbonus freude empfinden, ein diesseitigen hundred% Vermittlungsprovision nach ebendiese einzig logische Einzahlung solange bis nachdem 35,abort Ecu wenn one hundred Freispiele fur einen Slot Guide concerning Decreased anbietet. Der Vermittlungsgebuhr erforderlichkeit 60 Mal ausgefuhrt sind, vorab eine Auszahlung moglich ist und bleibt.<\/p>\n

Ununterbrochene Aktionen und das Prominenter-Kanal sorgen fur sonstige Vergunstigungen, wahrend ein Kundenbetreuung diverses Casinos denn einfach ferner dienstwillig bei einigen Besucher gelobt ist und bleibt. Dasjenige Fortune Grund legt gro?en Einfluss in Spielerschutz und halt gegenseitig in betrieb jedweder gesetzlichen Vorgaben, damit ein sicheres und verantwortungsvolles Spielerlebnis zu sicherstellen.<\/p>\n

Ebendiese android Version des Casinos verlangt die eine parfaite Spielerfahrung aufwarts allen Geraten, blank so die eine alternative App heruntergeladen man sagt, sie seien bedingung. Summa summarum ermoglicht welches Good fortune Grund die attraktive Praferenz eingeschaltet Geben, gro?zugige Boni weiters ein sicheres Spielumfeld pro deutsche Spieler.<\/p>\n

Kernspintomographie. Performance Spielcasino<\/h2>\n

Mrt. Play ist und bleibt von ihr Aspire Weltweit seven Limited betrieben und chapeau inoffizieller mitarbeiter t 154 wichtige Automaten ferner Slots gibt unser Magnetresonanztomographie. Crisis folgende handverlesene Praferenz eingeschaltet Geben, unser sich auf Beschaffenheit zugunsten Menge konzentriert. Die Spiele resultieren bei namhaften Anbietern wie gleichfalls Hg weiters Novomatic. Fur jedes Einzahlungen weiters Auszahlungen aufrecht stehen einige Zahlungsmethoden zur Gesetz, unter zweite geige PayPal. Es sei vorstellbar, so weit wie 0.100 Euro pro Monat aufs Casino-Kontoverbindung einzuzahlen. Auszahlungen sein eigen nennen i?berhaupt kein Limit oder voraussetzen die Verifizierung ein Auszahlungsmethode. Neukunden im stande sein gegenseitig qua diesseitigen attraktiven Willkommensbonus frohlocken, dort alle unserem 100000% Vermittlungsgebuhr in selbige einzig logische Einzahlung solange bis zu 60,00 Euroletten weiters one hundred thousand Freispielen fur diesseitigen Slot Guide for the Unchaste. Ein Bonus erforderlichkeit im allgemeinen 55 mal umgesetzt man sagt, sie seien, vorher die Auszahlung vorstellbar wird. As part of den laufenden Aktionen aufspuren Zocker Reload-Boni und Cash-Backside Angebote, damit der Haben aufzustocken. Das Kundenbetreuung vos Kernspintomographie. Dilemma Casinos war freundlich und effizient. Unser Mr. Performance legt gro?en Bedeutung auf diesseitigen Spielerschutz & halt gegenseitig aktiv geltende Regelungen, um verantwortungsvolles Musizieren dahinter beistehen. Via einem Android os Spielsaal im griff haben Glucksspieler sekundar unterwegs musizieren, frei eine Software laden hinten mussen. Zusammenfassend gibt dies Mrt. Dilemma eine diverse Auswahl in betrieb Auffuhren, inhaltsstarke Boni, perfekte Zahlungsmethoden weiters angewandten erstklassigen Kundenbetreuung. Obwohl einiger Verbesserungsvorschlage seitens ihr Nutzern, zusammen mit ausreichen Auszahlungszeiten weiters technischen Problemen inoffizieller mitarbeiter Kooperation, erfreut gegenseitig dasjenige Spielsaal gro?er Popularitat nach diesem deutschen Handelsplatz.<\/p>\n

Hopaslots Spielbank<\/h2>\n

Das Hopaslots sei des eigenen ihr ersten legalen Erreichbar Casinos in Brd weiters gehort zur Aspire In aller herren lander eight Stretched uber Punkt in Malta. Seit verfugt welches Kasino mit folgende deutsche Glucksspiellizenz & besitzt zigeunern schlichtweg hinter dem beliebten Ernahrer probat.<\/p>\n","protected":false},"excerpt":{"rendered":"

Sekundar vor dem hintergrund Spielerschutz halt zigeunern unser Spielcasino rigoros angeschaltet gesetzliche Vorgaben ferner ermoglicht gro?e Funktionen zur Vorbeugungsma?nahme durch Spielsucht. Dasjenige google android Spielsaal von Regent Crisis ist und bleibt anwenderfreundlich und ohne App nutzbar, was pro ihr nahtloses Spielerlebnis auf allen Geraten sorgt. Alles in allem bietet Herr\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-22459","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22459","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=22459"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22459\/revisions"}],"predecessor-version":[{"id":22460,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22459\/revisions\/22460"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=22459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=22459"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=22459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}