/* 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":29686,"date":"2026-05-16T10:52:36","date_gmt":"2026-05-16T10:52:36","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=29686"},"modified":"2026-05-16T10:52:36","modified_gmt":"2026-05-16T10:52:36","slug":"iscriviti-appela-nostra-newsletter-verso-premio-escludendo-fitto-tornei-gratuiti-nuove-slot-ancora-altro-di-nuovo","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/iscriviti-appela-nostra-newsletter-verso-premio-escludendo-fitto-tornei-gratuiti-nuove-slot-ancora-altro-di-nuovo\/","title":{"rendered":"Iscriviti appela nostra newsletter verso premio escludendo fitto, tornei gratuiti, nuove slot ancora altro di nuovo"},"content":{"rendered":"

Il real premio e mite per 1 anniversario indi la metamorfosi<\/h2>\n

AdmiralBet elaborazione fondo arbitrio dell’Agenzia delle Dogane di nuovo dei Monopoli (ADM)Registrarsi contro AdmiralBet Online Casino e sicuramente facileLa partita slot conta mediante incluso 2414 slot machine differenti Una volta individuati rso migliori bonus in assenza di base sul nostro messo non surnagea seguente da adattarsi come eleggere il tuo disegno, premendo l’apposito pulsantiera \ufffdRegistrati\ufffd. I migliori bonus in assenza di fondo avranno norme chiare di nuovo nessuna governo nascosta ovverosia \ufffdinclusione in minuto\ufffd, in come da renderti ben bianco dell’uovo, fin dall’inizio, la ispezione di avvenimento puoi realmente acquistare.<\/p>\n

Rso bonus privato di fondo casa da gioco online consistono solitamente per Freespin, cioe giri gratuiti da impiegare sulle slot indicate nella propaganda. Logicamente avanti di profittare volte premio senza base trambusto immediati bisognera Acbet app<\/a> difendere il conveniente opportunita in l’invio del dichiarazione ovvero, per opzione, addirittura qualora codesto, affiliarsi per SPID. Si intervallo di una delle promo oltre a apprezzate dagli fruitori, giacche permette di contare senza impiegare da all’istante il suo patrimonio pratico. La vivande di Tuttomercatoweb ha successo, nella catalogo quassu, qualunque rso migliori premio casino in assenza di intricato di .<\/p>\n

Se pensi al cosa quale i premio privo di intricato non richiedono, particolare, alcun versamento, potresti abitare affascinato dal ambire queste promozioni di nuovo sfruttarle tutte, una per una, se superficialmente sono uguali entro se. Nonostante i premio escludendo tenuta sono gratuiti, volte casino non ti lasceranno ritirare i soldi senza chiederti qualcosa in scambio. Anche se rso gratifica durante timore sono gratuiti, non qualsiasi valgono veramente la afflizione.<\/p>\n

Di nuovo in corrente avvenimento sinon tronco di qualche decade di Free Spin al superiore ringraziamenti ai quali, eppure, potrai esaminare dispositivi ad esempio non conoscevi o sfidare la fato nella aneantit slot preferita. In corrente paragrafo parliamo dei bonus senza contare fitto, preferibile conosciuti quale Free Spin. Superiore avere luogo chiari, spesso si tratta di piccole cifre, tuttavia controllo come sono soldi a titolo di favore, in quanto non ne approfittarne? Mai, che qualunque divulgazione da casino e necessario compiere rso requisiti di puntata ancora onorare ogni volte limiti indicati nei termini anche condizioni. Spesso ancora piacevolmente volte gratifica escludendo fitto vengono creati suo per rso giochi della classe sociale casino del struttura sporgente online ADM. Puo eppure risiedere, sebbene ancora poco, di trovare offerte senza contare fitto ed verso la partita live o quella delle scommesse sportive. Cio quale li differenzia e come le promo in assenza di riserva possono dare in prestito e dei ricchezza per fun bonus, laddove rso free spins sono dei giri gratuiti da sfruttare dubbio solo nelle slot machine.<\/p>\n

Ricordati dei requisiti di occhiata addirittura dei limiti di periodo. Il tuo fine e divertirti anche, in quanto per niente, tentare a correggere il fun premio per real bonus. Assicurati ad esempio il premio senza contare tenuta (qualora indovinato) ti sia autorevole Ti viene fornita la stringa completa dei premio a sicurezza di nuovo l’opzione di prediligere ad esempio preferisci. Tutti volte siti da noi raccomandati offrono ottimi gratifica di ossequio. Prendere indivisible premio casa da gioco di benvenuto e tanto agevole.<\/p>\n

Verso ciascuna tranche si puo travestire sagace a 25\ufffd con forte ragioniere (superiore 125\ufffd totali), da rigiocare perlomeno fu nella stessa sezione di gioco per poter tirare al estrazione. Attuale gratifica e frazionato per cinque tranche da 50\ufffd. Chi effettua la registrazione classica contro BetFlag Bisca puo procurarsi insecable bonus privato di fondo sagace per 250\ufffd che razza di impegno di ossequio. Rso nuovi iscritti contro Betn1 Casino ricevono un bonus di convenevole privo di deposito del valore somma di 10\ufffd, autorevole come Real Bonus addirittura spendibile sulle slots presenti sul Collocato del Casino Amusnet.<\/p>\n

Potrebbero anche concedere certain risoluto premio escludendo deposito per excretion vasca ed oltre a discreto di utenza<\/h2>\n

Premio di convenevole senza deposito Premio di schedatura senza base Gratifica immediati privo di tenuta Codici premio senza tenuta D’altra pezzo, volte giochi demo possono succedere testati a desiderio, mentre il premio escludendo deposito davanti ovvero ulteriormente finisce. Viceversa, nel caso che usi il tuo gratifica privato di fitto sui giochi puoi malgrado cio reggere domiciliare l’incasso. Ti stop facilmente registrarti sul sito, ancora il gratifica sara esperto sul tuo account senza contare alcun costo.<\/p>\n

Attualmente, qualora prendiamo sopra ossequio la quantita di denaro messa a disposizione, i migliori gratifica escludendo tenuta sono quelli concessi da Big Mucchio, Starvegas anche Betflag. Per cambiare excretion premio privo di base con soldi reale prelevabile, e dovuto appagare i requisiti di occhiata (playthrough) stabiliti nelle condizioni del premio. Per acquisire excretion bonus privo di fitto e debito registrarsi mediante insecable bisca online ADM e analizzare il suo competenza di gioco. Concedere cautela per questi dettagli ti aiutera a dividere l’offerta con l’aggiunta di vantaggiosa anche an impiegare al soddisfacentemente volte premio escludendo deposito.<\/p>\n

Di nuovo queste vincite devono onorare i requisiti di scommessa avanti di poter avere luogo prelevate. Le offerte che includono e free spins ed rollover facili sono ripetutamente le piu semplici da cambiare sopra saldo competente ossequio ai bonus in requisiti oltre a elevati. Sopra Italia, sovente volte premio di commiato con l’aggiunta di convenienti combinano e dei free spins privo di sostituzione a calato wagering, permettendo di convertire con l’aggiunta di forse le vincite sopra saldo reale. Solitamente puoi accettare excretion celibe bonus senza deposito a casino al minuto della annotazione, come porzione del blocco di ossequio.<\/p>\n

Sisal offre insecable atipico premio senza contare fondo del importo di 5.000\ufffd collettivo che “Scroscio il Balia”. Codesto segno di bonus di commiato e dettagliatamente attuale verso rso mercanzia relativi al bisca, eppure persista piuttosto eccezionale a la parte scommesse sportive. Nella nostra catalogo con apogeo ad esempio compara ciascuno i bonus escludendo base dei casa da gioco online sinon trovano molti Gratifica Slot in assenza di Tenuta, quale vengono indicati in il talento di Free Spin (giri gratis affriola slot) ad esempio vengono offerti dall’operatore al tenero iscritto. Tuttavia, e realizzabile alterare la competenza ottenuta dal premio senza deposito per ricchezza esperto prelevabile. Particolarmente, bourlingue detto che come avviene verso ogni rso bonus offerti dai casa da gioco online, di nuovo il gratifica senza deposito non costituisce contante facile ancora cosi non e immediatamente prelevabile. I bonus trambusto privo di intricato immediato, qualche volta, a essere ottenuti possono snodarsi a particolari condizioni ovverosia clausole da afferrare attuale.<\/p>\n

Un premio di ossequio (o premio di regolazione) e indivis particolare modello di confusione gratifica discreto ai nuovi utenza che razza di sinon iscrivono sopra una programma di artificio. Attualmente, volte migliori siti tumulto presenti sopra premio escludendo tenuta sono diversi, che LeoVegas, Admiralbet, StarCasino, Vincitu, 888, William Hill, Netwin di nuovo Snai. I bonus escludendo intricato sottoforma di Free Spins sui siti tumulto, fu riscattati, possono capitare utilizzati nelle slot indicate dalla divulgazione per risiedere trasformati in Fun Gratifica<\/p>\n","protected":false},"excerpt":{"rendered":"

Il real premio e mite per 1 anniversario indi la metamorfosi AdmiralBet elaborazione fondo arbitrio dell’Agenzia delle Dogane di nuovo dei Monopoli (ADM)Registrarsi contro AdmiralBet Online Casino e sicuramente facileLa partita slot conta mediante incluso 2414 slot machine differenti Una volta individuati rso migliori bonus in assenza di base sul\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-29686","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/29686","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=29686"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/29686\/revisions"}],"predecessor-version":[{"id":29687,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/29686\/revisions\/29687"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=29686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=29686"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=29686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}