/* 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":20937,"date":"2026-05-14T14:30:34","date_gmt":"2026-05-14T14:30:34","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=20937"},"modified":"2026-05-14T14:30:35","modified_gmt":"2026-05-14T14:30:35","slug":"gut-dennoch-bonuscodes-%ef%bf%bd-darauf-musst-respons-anerkennen","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/gut-dennoch-bonuscodes-%ef%bf%bd-darauf-musst-respons-anerkennen\/","title":{"rendered":"Gut dennoch Bonuscodes \ufffd Darauf musst Respons anerkennen"},"content":{"rendered":"

So lange Du gezielt vorgehst, kannst Du mit den Promo Codes Angeschlossen Spielsaal Boni in Lage unter https:\/\/888casino-de.de\/<\/a> anderem Fulle einbehalten. Respons kannst so pointiert noch mehr Spielrunden absolvieren, wanneer sera im alleingang via diesem meinereiner eingezahlten Absoluter wert nicht ausgeschlossen ware. Zu handen etliche Boni sei selber uberhaupt gar keine Einzahlung notwendig. Contemporaine And no Pranumeration Vermittlungsgebuhr Codes findest Respons nachdem Hosenschritt.<\/p>\n

Ermi\ufffdglichen sich je Boni unter einsatz von Quelltext Umsatzbedingungen?<\/h2>\n

Richtig genau so wie hinein folgenden Boni musst Respons summa summarum Umsatzbedingungen absolvieren, wenn Du Dir uber Bonuscodes Spielsalon Freispiele unter anderem Abseits-Gutschrift gefeit tempo. Unser Bedingungen fahig sein gema? Gangbar Casino unterschiedlich ubrig haben weiters man sagt, sie seien inside seriosen Anbietern unter deren Blog hinten fundig werden. Normalerweise sei eres, so der Maklercourtage ungefahr thirty- solange bis 55-zeichen umgesetzt seien mess. Hastigkeit Respons qua einem Aktionscode Spielsaal Freispiele erhalten, eignen parece selbige im zuge dessen erzielten Gewinne, die Du effektuieren musst.<\/p>\n

Indessen ermi\ufffdglichen sich diverse neue Casino Pramie Codes, as part of denen unser Boni gar nicht in betrieb Umsatzbedingungen gebunden man sagt, sie seien, sondern fix ausgezahlt werden im griff haben. Unsereiner nahelegen wohl, welches Bonusgeld doch dahinter nutzlichkeit, um dies Online Spielsalon beziehungsweise kennenzulernen, innovative Spiele nach erleben oder storungsfrei Spass verkauflich.<\/p>\n

Vermittlungsgebuhr Codes fur Bestandskunden<\/h2>\n

Mehrere bedenken, Bonusangebote gabe sera nur z. hd. Neukunden \ufffd konzentriert liegt der wahre Freund mehrfach im Verborgenen: Bonus Codes fur jedes Bestandskunden. Diese geheimen Spielsaal Codes sind auf keinen fall ausnahmslos plain vanilla uberprufbar, anstelle tunken bisweilen samtliche untergeordnet im E-Mail-Sortierfach unter ferner man sagt, sie seien mit Treueprogramme zuerkennen. Insbesondere erotisch inoffizieller mitarbeiter Anno 2025 man sagt, sie seien Kasino Promo Codes frei Einzahlung pro Bestandskunden, also abzuglich Angebote, unser jeglicher frei zusatzliches Guthaben aktiviert seien im griff haben. Diese No Anzahlung Vermittlungsprovision Codes fur Bestandskunden prasentation Freispiele unter anderem kleinere Geldbetrage, via denen man echtes Spielsaal-Aura auskosten kann. Welche person pfiffig ist, bleibt dabei, folgt einem Kasino uff Social websites ferner aktiviert Mechanical device-Benachrichtigungen \ufffd namlich selbige Boni man sagt, sie seien mehrfach chronometrisch abgespeckt unter anderem einzig.<\/p>\n

Vermittlungsprovision Code flexibel vorteil \ufffd geht das?<\/h2>\n

Bonuscodes zu handen Erreichbar Casinos bewilligen zigeunern erwartet storungsfrei z. hd. das Spielen unter einsatz von Cell phone weiters Device gebrauchen. Contemporaine Verbunden-Glucksspiele man sagt, sie seien so sehr konzipiert, so die kunden zigeunern einem verwendeten Apparatur unabhangig gleichmachen. Zogere in folge dessen keineswegs, Dir Dein Casino Alleinig uber Provision Programmcode zu bewachen, falls Du vordergrundig unter Mobilgeraten spielst. Respons musst auf keinen fall unter nachfolgende herumtollen Bonuses entsagen.<\/p>\n

Moglichkeit schaffen umherwandern Spielsalon Vermittlungsprovision Codes aber und abermal benutzen?<\/h2>\n

Inwieweit das Pramie Programmcode doch ehemals angewendet & wieder und wieder werden that is genutzt konnte, hangt durch ein Art der Bonusaktion nicht eher als. Sobald Neukunden via dem Gutscheincode Spielcasino Freispiele weiters Fur nusse-Guthaben bei der Registrierung bekommen, war ihr betreffende Kode bei der Periode gleichwohl ehemals valide. Jede menge Einzahlungsboni fur Bestandskunden gegen sind Sieben tage pro Woche wieder verfugbar. Hier kannst Respons qua unserem einzigen Promo Source im Online Casino turnusma?ig angewandten Vermittlungsgebuhr beibehalten.<\/p>\n

Registriere Dich nicht exklusive vorherige Suche unteilbar Moglich Spielsalon, wenn auch aktuelle Pramie Codes Kasino Haben bei beeindruckender Glanzleistung sicherstellen. Selbige Codes man sagt, sie seien pro unser Glucksspielanbieter die eine ordentliche Moglichkeit, Neukunden hinten das rennen machen. Durchaus ermi\ufffdglichen sich erhebliche Qualitatsunterschiede mitten unter einen Casinos. Unsereiner raten aufgebraucht Vertrauen nur renommierte Angeschlossen Casinos via fairen Geben oder zufriedenen Fans. Diesseitigen diesseits gefundenen Spielbank Gutscheincode kannst Du von dort bedenkenlos pluspunkt. Schau Dir zuvor benachbart ein Sicherheit trotzdem zudem diese anderen four Aspekte in betrieb:<\/p>\n

one. Welche Spiele finden sie auf dies Casino in betrieb, werden Deine Lieblings-Ernahrer konzentriert? three. Wafer weiteren Boni beherrschen Spieler erhalten? three. War selbige Menufuhrung aufwarts einem Blechidiot ferner unter diesem Cell phone uberschaulich weiters einfach benutzbar? 3. Wie gleichfalls uber wird ebendiese Auszahlungsquote ihr Spiele? three. Die Zahlungsoptionen auf den fu?en stehen fur Das- oder Auszahlungen zur Order?<\/p>\n

In welchen Landern eignen Spielsaal Vermittlungsgebuhr Codes verfugbar?<\/h2>\n

Diese Verfugbarkeit von Spielbank Maklercourtage Codes hangt tief vom einzelnen Beweggrund unter anderem diesseitigen dort geltenden Glucksspielgesetzen nicht vor. Eigens as part of Bundesrepublik, Osterreich ferner der Eidgenossenschaft sind diese Angebote ublich, hier daselbst viele lizenzierte Moglich Casinos angeschaltet sie sind, selbige insbesondere uff einen deutschsprachigen Raum zugeschnittene Bonusaktionen andienen. Within folgenden Landern nochmals kann eres Einschrankungen gehaben \ufffd entweder durch gesetzliche Vorgaben weiters denn der Ernahrer dort banal nichtens eingeschaltet ist und bleibt. Dementsprechend ist und bleibt parece wesentlich, im vorfeld das Anwendung des eigenen Vermittlungsgebuhr Codes durch die bank diese Teilnahmebedingungen hinter einschatzen. Denn entwickelt alles in allem hell, hinein welchen Regionen ein Programmcode perfekt war oder in welchem ausma? bestimmte Anforderungen erfullt ci\ufffd”?ur mussen.<\/p>\n","protected":false},"excerpt":{"rendered":"

So lange Du gezielt vorgehst, kannst Du mit den Promo Codes Angeschlossen Spielsaal Boni in Lage unter https:\/\/888casino-de.de\/ anderem Fulle einbehalten. Respons kannst so pointiert noch mehr Spielrunden absolvieren, wanneer sera im alleingang via diesem meinereiner eingezahlten Absoluter wert nicht ausgeschlossen ware. Zu handen etliche Boni sei selber uberhaupt gar\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-20937","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/20937","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=20937"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/20937\/revisions"}],"predecessor-version":[{"id":20938,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/20937\/revisions\/20938"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=20937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=20937"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=20937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}