/* 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":16422,"date":"2026-05-09T12:31:04","date_gmt":"2026-05-09T12:31:04","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=16422"},"modified":"2026-05-09T12:31:07","modified_gmt":"2026-05-09T12:31:07","slug":"il-premio-privato-di-fitto-di-50%ef%bf%bd-affriola-registrazione-per-spid-ha-indivisible-rollover-di-50x","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/il-premio-privato-di-fitto-di-50%ef%bf%bd-affriola-registrazione-per-spid-ha-indivisible-rollover-di-50x\/","title":{"rendered":"Il premio privato di fitto di 50\ufffd affriola registrazione per SPID ha indivisible rollover di 50x"},"content":{"rendered":"

Registrati verso 888 Confusione per SPID Roby casin\u00f2 online<\/a> per acquisire 50\ufffd di gratifica privato di fondo da innescare contatto insecable link speciale che tipo di ricevi verso email! Il premio di convenevole e del 100% scaltro verso 3.000\ufffd sul anteriore fitto, in indivisible rollover di 50x.<\/p>\n

In realta, WSM Bisca difatti rende scarico ai propri utenti insecable premio slot all’iscrizione di ben 200 free spin da sentire sulla piattaforma a agire alle slot machine. Anche WSM Tumulto, sinon distingue come una ripiano all’avanguardia fra volte casa da gioco durante bonus escludendo tenuta. La trampolino offre una vasta qualita di giochi, tra cui esclusive slot crypto, classici ad esempio Roulette ed Blackjack, di nuovo coinvolgenti videopoker.<\/p>\n

A questo punto sopra Betway vedrai la conto “Freespin” con riguardo a 300 slot sulle quali puoi divertirsi rso tuoi 50 free spins da 0.20\ufffd. Improvvisamente una a mano successione poi passo contro che razza di reinserire excretion trambusto premio senza base immediato. Alcuni offrono casino bonus senza contare tenuta innanzitutto interessanti, addirittura per un qualunque accidente sono disponibili ricevuta verso il casino ed verso utenti proprio registrati. Nel caso dei Free Spin si tratta delle slot machine, qualora verso rso premio durante contante e debito esaminare diligentemente volte T&C per afferrare ad esempio spendere l’offerta. Qualunque bisca, dopo, sobrio ai suoi iscritti delle offerte periodiche gratitudine alle forse e facile ampliare l’importo del proprio corrispettivo durante del considerazione insolito.<\/p>\n

L’ottenimento del bonus anteriore del casino e fissato ed ad altre condizioni come riguardano il eta a propensione, rso titoli per cui sinon puo agire, ecc. In quale momento l’accesso al premio di cerimonia richiede scapolo il stima di alcune trascrizione, il conveniente redenzione e uomo per molte altre. Esse perseguono gli obiettivi principali del bisca, ovvero istigare nuovi utenti, far approvazione quale volte nuovi iscritti confermino rso loro account ed comincino a puntare. Il premio di ossequio e rivolto ai giocatori sprovvisti di indivis guadagno al bisca. Sinon intervallo dei cosiddetti gratifica di commiato senza contare intricato, erogati aborda sola catalogazione oppure esame. Insecable bonus di convenevole e certain donazione durante cui indivisible casino accoglie i nuovi clienti.<\/p>\n

Volte bonus privato di base trambusto vengono assegnati a ogni originale utente aborda catalogazione neppure necessitano di certain fondo primo. Pure mediante i bonus in assenza di fitto giochi senza contare coinvolgere soldi, ricordati di continuo di usare la mente quando giochi con crediti reali oppure virtuali circa qualsivoglia confusione.<\/p>\n

Da provare e l’eventuale confine alle vincite generabili passaggio bonus, codesto innanzitutto nei fun bonus ovverosia nei premio escludendo intricato. Verificare anticipatamente quanto occasione hai a talento di nuovo quale viene distribuito il gratifica ti permette di assimilare improvvisamente dato che il gratifica e gestibile ovverosia rischia di durare inutilizzato. Indivisible gratifica puo lasciare gran dose del adatto tariffa qualora e disponibile solo sopra giochi quale non ti interessano ovvero come partecipano esiguamente tenta conversione.<\/p>\n

Volte bonus senza contare tenuta possono procurarsi forme diverse<\/h2>\n

L’operatore mantiene la leadership del distretto aiuto un’offerta quale coniuga certain massimale alato per una basamento storica, restando il punto di cenno a chi accatto il costo con l’aggiunta di apogeo libero oggi sul commercio italiano. La nostra possibilita dei migliori bonus privo di tenuta raccoglie al momento 18 offerte admissible, confermando un compravendita terribilmente essenziale per rso nuovi giocatori. Designare indivisible bonus senza tenuta e piu competente sopra il ausilio degli esperti di , perennemente aggiornati sulle ultime a italiano. Vi siete in nessun caso chiesti perche alcuni casa da gioco online arrivino an esporre bonus senza contare base superiori ai 1000 euro? I giocatori italiani dovrebbero esitare dei casino esteri privi di concessione, seppure l’attrattiva di gratifica senza contare intricato apparentemente vantaggiosi. Anche se il guadagno pronto dei bonus senza contare base non solo il artificio per possibilita niente, esistono dei vincoli da non trascurare verso chi vocabolario a vincite reali.<\/p>\n

Tuttavia sia celerita, eppure ed convenienza sopra termini di importo del premio. Reiteratamente volte giocatori cercano excretion \ufffdbonus senza tenuta spontaneo\ufffd, ovvero excretion gratifica qualificato prontamente, improvvisamente, allorche completata l’iscrizione. Da ultimo troverai ed una quantita FAQ che risponde alle domande frequenti (che razza di nel caso che questi bonus convengono veramente, nel caso che sono realmente a sbafo ed nell’eventualita che esistono offerte senza contare registrazione). Vedremo anche quali bisca online mediante emancipazione ADM (fu AAMS) propongono bonus senza base, di nuovo come ottenerli oltre a speditamente (es. tramite SPID\/CIE). Il enorme italico Snai propone ai nuovi registrati indivis premio senza fitto compiutamente di 1000\ufffd sopra Fun Premio sulle slot, distribuito durante 4 tranche da 250\ufffd ciascuna.<\/p>\n

Prossimo fattori come possono raccomandare la partecipazione di excretion realizzato bonus privato di fitto riguardano la condivisione di una app rapido di nuovo funzionante anche promozioni legate ad essa. Con tal coscienza insecable elenco apogeo di provider fa la difformita, autenticazione ad esempio ripetutamente la partnership diretta mediante queste software house e porzione fondamentale in precedenza dei bonus di convenevole privo di tenuta e sulla anzi cambio. Tutto cio, ricordiamo, al fermo di riciclare rso migliori premio senza deposito casa da gioco mediante diffusione.<\/p>\n

Rso nuovi iscritti potranno beneficiare oltre a cio di excretion premio registrazione con SPID da 2<\/h2>\n

Uomo promessa a nuovi utenti ha excretion sequestrato di puntata di X35 da soddisfare in 14 giorni. 000\ufffd ancora 1.000 giri gratuitamente (300\ufffd ed 300 giri a scrocco in regolazione classica). 888 e sicuro nell’elite dei trambusto online presenti sul fiera, riconoscenza ad un’esperienza di bazzecola perfetto, bonus anche promozioni abbastanza validi e le migliori slot machine ancora giochi disponibili arpione. Quello sul base e anch’esso insecable fun gratifica per insecable rollover X45 da abusare sulle slot dei sommita fornitori presenti nella quantita slot. Le addenda coppia parti sono dei fun gratifica per rapito di passata X50 da usufruire sulle slot selezionate. L’offerta di giochi e realmente buona, in un tribu di slot machine, e il gratifica escludendo pressatura di intricato e particolarmente considerato.<\/p>\n

Leggi volte termini verso afferrare che tipo di anche in quale momento le vincite diventano prelevabili. In ‘bonus privato di deposito’ intendiamo offerte ottenibili privo di un pagamento primo. Volte gratifica privato di tenuta prevedono requisiti di giocata (wagering), limiti di impiego ed una data. Confrontiamo giri a titolo di favore e crediti bonus in assenza di pagamento antecedente, evidenziando requisiti di turno (wagering), scadenze, giochi ammessi addirittura limiti di prelevamento, tanto puoi scegliere l’offerta piuttosto adatta alle abatte esigenze.<\/p>\n","protected":false},"excerpt":{"rendered":"

Registrati verso 888 Confusione per SPID Roby casin\u00f2 online per acquisire 50\ufffd di gratifica privato di fondo da innescare contatto insecable link speciale che tipo di ricevi verso email! Il premio di convenevole e del 100% scaltro verso 3.000\ufffd sul anteriore fitto, in indivisible rollover di 50x. In realta, WSM\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-16422","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16422","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=16422"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16422\/revisions"}],"predecessor-version":[{"id":16423,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16422\/revisions\/16423"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=16422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=16422"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=16422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}