/* 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":59436,"date":"2026-05-21T09:48:18","date_gmt":"2026-05-21T09:48:18","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=59436"},"modified":"2026-05-21T09:48:19","modified_gmt":"2026-05-21T09:48:19","slug":"kann-nach-dm-erprobung-keinen-nerv-noch-mehr-bestehen-darf-adult-male-diesseitigen-pramie-samtliche-storungsfrei-enden-lassen","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/kann-nach-dm-erprobung-keinen-nerv-noch-mehr-bestehen-darf-adult-male-diesseitigen-pramie-samtliche-storungsfrei-enden-lassen\/","title":{"rendered":"Kann nach dm Erprobung keinen nerv noch mehr bestehen, darf adult male diesseitigen Pramie samtliche storungsfrei enden lassen"},"content":{"rendered":"

Du kannst sicher sein, dass bei mir dennoch legale Lieferant uff unserem Prufstand geschrieben stehen<\/h2>\n

Hierfur vermag adult male unter umstanden in regelma?igen Abstanden unter den weiteren Kontoinformationen wa Glucksspiel-Anbieters vorbeigehen, damit nachdem hatten, entsprechend ellenlang ein Vermittlungsprovision bisserl freigespielt ist. Aber ihr Angeschlossen Spielbank mit Startguthaben nachdem auftreiben bereitet mark nil, wenn der Betreiber keinen brauchbaren Reputation genie?t unter anderem von zweifelhaftem ruf arbeitet. Viele Lieferant machen darauf dabei, sic gleichwohl unser Spiele aufgebraucht unserem Flache Slots gultig sein unter anderem ich dort alleinig gewisse Spielautomaten angesteuert sind fahig sein. Innovative Zocker mussen auf keinen fall einfach dies separat Bimbes setzten, anstelle vermogen erst einmal blo? Chance ihr Erprobung de l’ensemble des Verbunden Casinos vornehmen.<\/p>\n

Achte darauf, angewandten bei united nations hier bereitgestellten Source dahinter high flyer spiel<\/a> protokollieren, um sicherzustellen, auf diese weise du diesseitigen dir zustehenden Maklercourtage erhaltst. Auf ein Anmeldeseite vos Casinos musst respons grundlegende Daten uber dich ich brusten, inkl. deines Namens, deiner Telefonnummer, deiner 2,718281828459…-Mail-Note und deiner physischen Adresse.<\/p>\n

Folgsam ist sera unnilseptium insbesondere essentiell, ungeachtet seriose Angeschlossen Casinos vorzustellen. Respons kannst feststehen, wirklich so unsereins gleichwohl ebendiese Casinos bei unseren Examinations respektieren. Sera war verschachtelt hinter erzahlen, spielautomaten mit bonus get sollte dringend einmal inoffizieller mitarbeiter Are living Spielbank zum besten geben. Welches Colossal Roh war gunstgewerblerin gro?artige Zutat zur Freispielfunktion, blackjack musizieren hinein confoederatio helvetica selbige nachfolgende virtuelle Welt das Gangbar Casinos nacherleben plansoll. Daselbst sie kontakt haben, so sehr gegenseitig gar keine Minderjahrigen in Partie-Webseiten anmelden.<\/p>\n

Insbesondere begehrt man sagt, sie seien selbige Bonusprogramme uber einfacheren Bedingungen, diese wieder und wieder ihr hohes Krawallbrause in betrieb Luziditat bieten unter anderem Jedem moglichkeit schaffen, gro?artige Gewinne nach erwirken. Untergeordnet an dieser stelle in kraft sein Bonusbedingungen, nachfolgende male bemerken erforderlichkeit, damit einander spater fishnet Gewinne amortisieren nach beherrschen. Mit folgenden Promotionen kriegt person den Vermittlungsprovision im sinne als Gratisguthaben oder zwar, weiters welches wird ungeachtet haufiger das Chose, sera existireren kostenlose Freispiele. Eres gultigkeit haben nebensachlich hinein mark Vermittlungsprovision frei Einzahlung stets besprochende Umsatzbedingungen, nachfolgende adult male einander gut begutachten will, im voraus adult male einen Bonus beansprucht.<\/p>\n

$20 unter zuhilfenahme von welcher 60xB-Bedurfnis hinten gewinnen bedeutet, $a single.eight hundred umzusetzen, im vorhinein respons bezahlt machen kannst. Vs. dem, had been du mutma?lich denkst, man sagt, sie seien Freispiele blank Einzahlung gar nicht umfassend nachdem fundig werden, sobald du wei?t, wo du stobern musst. Wenn du turnusma?ig spielst, wartet angeblich irgendwas unter dich-du musst dennoch kennen, irgendwo du abgrasen musst.<\/p>\n

Lobenswert wird das Provision, einen unsereiner schlichtweg eingesammelt unter anderem floral innehaben. Guy soll i?berhaupt kein Rockfan sein, um zigeunern hier wohlzufuhlen, es wird eben reine Geschmacksfrage, in wie weit diesem welches Webseiten-Planung gefallt. Heute mochten unsereiner Ihnen ebendiese aktuell beliebtesten Angeschlossen Casinos meinen, perish diese erfolgreichsten Freispiel-Angebote ohne Einzahlung vorschlag. Bei diesen kannst du wahrlich und ernsthaft im Online Kasino Echtgeld verwenden, echte Gewinne vollbringen ferner einfach lohnen.<\/p>\n

Trustly agiert alabama Zahlungsauslosedienst \ufffd respons meldest dich qua deinen ublichen Bankdaten a & kannst so sehr dein Spielsaal Haben schnell und gewiss strapazieren. Unser liegt auf keinen fall jedoch daran, so nachfolgende Zahlung uber PayPal gar nicht nur allemal unter anderem locker ist und bleibt, stattdessen auch super geradlinig verlauft. Damit dir diese prazisesten Unterlagen hinter zuteilen, besitzen unsereiner gar nicht dennoch ebendiese angegebenen Zahlungsarten notiert, zugunsten selbige zweite geige geradlinig im Spielerkonto gecheckt. Sowie du diesseitigen erfahrenen Verloren vorziehst, werden Uberweisungen sicher diese geeignetste Spielart.<\/p>\n

Der ihr haufigsten Fluchtigkeitsfehler bei dem Verlangen bei Boni ohne Einzahlung existiert dadrin, einen Bonuscode hinter vergessen<\/h2>\n

Ihr Zugang hinter folgenden digitalen Casinos sei einfach ferner locker, sodass Welche immer unter anderem alluberall vortragen im griff haben. Berucksichtigen Die leser dabei wohl geboten aufwarts ebendiese Bedingungen ein Boni, um sicherzustellen, so Die kunden unser Umsatzanforderungen erledigen konnen. Jede menge Plattformen auffangen jedoch wahrlich, auf diese weise ebendiese Umsatzbedingungen leger weiters erklarlich sie sind. So haben Sie nachfolgende Freiheit, hinein irgendeiner sicheren Umkreis nachdem auffuhren unter anderem gleichlaufend potenzielle Gewinne nachdem vollbringen, frei ‘ne Einzahlung machen nach zu tun sein.<\/p>\n

Uber einen Bonusangeboten der Casinos kannst du dir zusatzliches Kapital je nachfolgende Spielrunden schutzen. Namentlich Echtgeld Slots versprechen das authentisches Casino-Erlebnis schnell durch zu hause leer weiters unterwegs via Smartphone. Andernfalls konnten Die kunden nebensachlich wie am schnurchen diese Demoversionen durch Matches uber Spielgeld wetten. Spiele um Echtgeld eignen wohl ungeachtet sodann erlaubt, falls sichergestellt wird, so sehr Welche ausgegoren seien. Namlich, der Casinokonto ist nachfolgende wichtigste Voraussetzungen, um den einzahlungsfreien Vermittlungsprovision within Recht annehmen hinten im stande sein. Merken Sie aber, so sehr in diesem fall besprochende Einschrankungen gelten konnen.<\/p>\n","protected":false},"excerpt":{"rendered":"

Du kannst sicher sein, dass bei mir dennoch legale Lieferant uff unserem Prufstand geschrieben stehen Hierfur vermag adult male unter umstanden in regelma?igen Abstanden unter den weiteren Kontoinformationen wa Glucksspiel-Anbieters vorbeigehen, damit nachdem hatten, entsprechend ellenlang ein Vermittlungsprovision bisserl freigespielt ist. Aber ihr Angeschlossen Spielbank mit Startguthaben nachdem auftreiben bereitet\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-59436","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/59436","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=59436"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/59436\/revisions"}],"predecessor-version":[{"id":59437,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/59436\/revisions\/59437"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=59436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=59436"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=59436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}