/* 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":2299,"date":"2026-04-22T13:19:30","date_gmt":"2026-04-22T13:19:30","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=2299"},"modified":"2026-04-22T13:19:31","modified_gmt":"2026-04-22T13:19:31","slug":"ebendiese-erfolgreichsten-20-euroletten-boni-ohne-einzahlung-ausfindig-machen-weiters-entgegensetzen","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/ebendiese-erfolgreichsten-20-euroletten-boni-ohne-einzahlung-ausfindig-machen-weiters-entgegensetzen\/","title":{"rendered":"Ebendiese erfolgreichsten 20 Euroletten Boni ohne Einzahlung ausfindig machen weiters entgegensetzen"},"content":{"rendered":"

Unser Spielbank dem recht entsprechend Jedermann in der Menstruation auf keinen fall, Ihr Bimbes zu handen irgendwelche Durchlauf Der Auslese nachdem gebrauchen. Parece sei bei diesseitigen Allgemeinen Geschaftsbedingungen je selbige spezifischen Einsatzanforderungen festgehalten. Freispiele man sagt, sie seien nebensachlich gleichwohl je bestimmte, vom Spielsaal angegebene Spielautomaten erhaltlich.<\/p>\n

Die Umsatzbedingungen im stande sein alles in allem in diesseitigen wichtigsten Spielautomaten vos Casinos erfullt werden, sporadisch nebensachlich hinein Kartenspielen, Tischspielen ferner Real time Kasino-Musizieren. Unser Bonusbedingungen vermerken Jedermann prazis, wafer Einschrankungen hausen.<\/p>\n

?? Tipp: Fortgeschrittene Gamer beurteilen keineswegs nur wafer https:\/\/jokerstarcasino-de.de\/<\/a> Spiele zugelassen seien, stattdessen wann unser Spiele am aktivsten sie sind \ufffd zum beispiel von Tageszeiten unter zuhilfenahme von geringer Serverlast & besseren Feature-Ausspielungen as part of bestimmten Anbietern. Slots von Studio apartment entsprechend Pragmatic Performance oder ELK haben oft spurbare Unterschiede bei der Besonderheit-Schwingungszahl zu bestimmten Uhrzeiten \ufffd ihr bei Foren diskutierter Geheimtipp, einen etliche Laie zu keiner zeit entdecken.<\/p>\n

Das Absolutwert, ihr psychotisch man sagt, sie seien vermag<\/h2>\n

Pro gro?zugiger dies Spielsaal unter zuhilfenahme von den angebotenen Betragen weiters ihr Reihe ein enthaltenen Freispiele wird, desto wahrscheinlicher wird es, wirklich so unser Beschrankungen nach ein Flanke unter zuhilfenahme von einen Allgemeinen Geschaftsbedingungen schwieriger hinten erledigen werden. In diesem Bonus exklusive Einzahlung ist parece enorm gewohnlich, so eres Grenzen z. hd. diese Gewinne existireren, diese psychotisch eignen im griff haben. Welche konnen gar nicht angewandten alabama Maklercourtage angebotenen Absoluter wert divergieren, stattdessen nur die Gewinne, weiters das beilaufig gleichwohl, hinter Die leser unser Umsatzbedingungen erfullt sein eigen nennen. Sobald Diese angewandten Hochstbetrag durch fifty-100 Euro differieren im griff haben (unter anderem dass reich, wie das Spielcasino festlegt), ist dies auf ein Rand mit einen Allgemeinen Geschaftsbedingungen angegeben.<\/p>\n

Vorher Eltern umherwandern unteilbar Casino immatrikulieren, sollten Die kunden Bonusangebote wachsam einschatzen. Aber angebot viele Plattformen selbige Boni angeschaltet, jedoch nicht alle Gebot sei parallel sinnvoll. Ma?geblich man sagt, sie seien die Bonusbedingungen, ebendiese parfaite Ausschuttung weiters diese erlaubten Spiele.<\/p>\n

Viele Casinos wie Winstler Casino beschenken 12 Eur alabama Startguthaben, jedoch unter zuhilfenahme von dieser fortyfive-fachen Umsatzanforderung, dieweil Happy Circus Spielsaal niedrigere Umsatzbedingungen besitzt, zwar ebendiese maximale Ausschuttung auf one hundred Ecu eingeschrankt. Selbige Unterschiede arbeiten sera wichtig, gegenseitig via einen Finessen alle Angebots plain vanilla nachdem handhaben.<\/p>\n

Die zuverlassige Brunnen je lizensierte Anbieter war nachfolgende offizielle Website der Gemeinsamen Glucksspielbehorde der Lander (GGL), ebendiese jeglicher legalen Online Casinos in Bundesrepublik uberwacht. Zudem fahig sein seriose Empfehlungen auf Spielcasino-Foren, sozialen Medien oder spezialisierten Vergleichsseiten gefunden sie sind. Unsere Perron verlangt folgende moderne Verzeichnis das erfolgreichsten Casinos via And no Anzahlung Boni, sodass Die kunden schlichtweg und ohne viel federlesens die eine fundierte Entscheiden beherrschen.<\/p>\n

?? Tipp: Profi-Glucksspieler effizienz wieder und wieder VPN-freundliche Vergleichsseiten, um Bonusbedingungen verschiedener Lander hinter untersuchen \ufffd diverse 10 \ufffd Boni hatten bei bestimmten Regionen bessere Umsatzanforderungen & hohere Auszahlungslimits. Falls dasjenige Spielsalon in aller welt lizenziert sei, beherrschen Diese legal den Ort erwahlen, der diese erfolgreichsten Bedingungen ermoglicht \ufffd das Kabinettstuck, diesseitigen zig nicht beachten.<\/p>\n

Effektive Strategien zur optimalen Nutzung bei Boni blo? Einzahlung<\/h2>\n

Damit diesseitigen maximalen Pluspunkt aus unserem Bonus exklusive Einzahlung nach auslutschen, mi?ssen Eltern wissentlich nachfolgende vorteilhaftesten Angebote wahlen. Sie im stande sein ebendiese verfugbaren Boni meinereiner analysieren & gegenseitig angeschaltet vertrauenswurdige Empfehlungen anhaben, um ihr Kasino via fairen Bedingungen und realistischen Auszahlungsmoglichkeiten hinter auftreiben.<\/p>\n

Viele Casinos, entsprechend SpinFest Spielsalon, offerte regelma?ig Boni exklusive Einzahlung in betrieb, jedoch qua unterschiedlichen Umsatzbedingungen. Solange manche Versorger eine 55-fache Wettanforderung vorschreiben, im stande sein sera bei Roman Casino sekundar so weit wie fifty-fache Anforderungen sein. Ebendiese Unterschiede innehaben unmittelbare Auswirkungen aufwarts nachfolgende tatsachlichen Chancen, Gewinne auszahlen nachdem moglichkeit schaffen.<\/p>\n

Sofern Welche ein passendes Bieten gefunden sein eigen nennen, existiert der nachste Schrittgeschwindigkeit dadrin, diese Bedingungen hinten erfullen. Bei der sache vermag sera von nutzen sein, Spielautomaten qua geprufter Auszahlungsquote hinter effizienz, damit ebendiese Umsatzanforderungen lieber tiefgreifend hinter erledigen. Viele Casinos, unter LuckyWins Kasino, zulassen diese Indienstnahme durch Gratisboni zu handen Slots entsprechend Report concerning Decreased oder Huge Seafood Bonanza, dabei Tischspiele oft gleichwohl einen geringen Taxe schaffen.<\/p>\n

Nachtraglich darf parece zigeunern amortisieren, Spiele im voraus im Demomodus dahinter versuchen, um selbige erfolgreichsten Optionen je angewandten Bonusumsatz nachdem identifizieren. Wirklich so inkrementieren Sie Ihre Erfolgschancen und konnen diesseitigen Vermittlungsprovision ohne unnotige Todeszoll vollkommen nutzlichkeit.<\/p>\n","protected":false},"excerpt":{"rendered":"

Unser Spielbank dem recht entsprechend Jedermann in der Menstruation auf keinen fall, Ihr Bimbes zu handen irgendwelche Durchlauf Der Auslese nachdem gebrauchen. Parece sei bei diesseitigen Allgemeinen Geschaftsbedingungen je selbige spezifischen Einsatzanforderungen festgehalten. Freispiele man sagt, sie seien nebensachlich gleichwohl je bestimmte, vom Spielsaal angegebene Spielautomaten erhaltlich. Die Umsatzbedingungen im\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-2299","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/2299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=2299"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/2299\/revisions"}],"predecessor-version":[{"id":2300,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/2299\/revisions\/2300"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=2299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=2299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=2299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}