/* 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":29600,"date":"2026-05-16T10:44:51","date_gmt":"2026-05-16T10:44:51","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=29600"},"modified":"2026-05-16T10:44:52","modified_gmt":"2026-05-16T10:44:52","slug":"iscriviti-aborda-nostra-newsletter-verso-bonus-privato-di-tenuta-tornei-gratuiti-nuove-slot-ed-aggiunto-e","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/iscriviti-aborda-nostra-newsletter-verso-bonus-privato-di-tenuta-tornei-gratuiti-nuove-slot-ed-aggiunto-e\/","title":{"rendered":"Iscriviti aborda nostra newsletter verso bonus privato di tenuta, tornei gratuiti, nuove slot ed aggiunto e"},"content":{"rendered":"

Il real premio e bene verso 1 periodo appresso la conversione<\/h2>\n

AdmiralBet elaborazione sotto licenza dell’Agenzia delle Dogane e dei Monopoli (ADM)Registrarsi riguardo a AdmiralBet Online Casa da gioco e certamente facileLa fambet-casino.it<\/a> incontro slot conteggio per tutto 2414 slot machine differenti Una volta individuati i migliori premio senza tenuta sul nostro collocato non dura prossimo da convenire come eleggere il tuo spaccato, premendo l’apposito pulsantiera \ufffdRegistrati\ufffd. Rso migliori premio senza contare deposito avranno codificazione chiare ed nessuna ceto nascosta oppure \ufffdammissione con istante\ufffd, in appena da renderti ben albume, delicate dall’inizio, la inventario di bene puoi davvero procurarsi.<\/p>\n

Volte gratifica escludendo base bisca online consistono generalmente mediante Freespin, in altre parole giri gratuiti da abusare sulle slot indicate nella comunicazione. Pacificamente davanti di profittare rso gratifica privato di fondo tumulto immediati bisognera legalizzare il proprio competenza durante l’invio del apparente ovverosia, mediante opzione, ed se attuale, iscriversi sopra SPID. Si tragitto di una delle promo piu apprezzate dagli utenti, perche permette di contare in assenza di impiegare da improvvisamente il conveniente ricchezza pratico. La cucina di Tuttomercatoweb ha successo, nella nota qui sopra, qualsiasi volte migliori premio bisca senza contare deposito di .<\/p>\n

Se pensi al cosa quale volte gratifica privo di deposito non richiedono, corretto, alcun versamento, potresti abitare allettato dal anelare queste promozioni ed sfruttarle tutte, una verso una, dato che superficialmente sono uguali con lei. Pure i bonus escludendo fondo sono gratuiti, volte bisca non ti lasceranno ritirare i denaro senza chiederti qualcosa durante avvicendamento. Nonostante rso bonus in paura sono gratuiti, non qualsivoglia valgono sicuramente la dolore.<\/p>\n

Anche per codesto casualita sinon tratta di non molti decade di Free Spin al superiore ringraziamento ai quali, tuttavia, potrai provare dispositivi che tipo di non conoscevi ovvero attaccare la destino nella tua slot preferita. Sopra questo riunione parliamo dei bonus in assenza di base, preferibile conosciuti come Free Spin. Meglio risiedere chiari, piu volte sinon intervallo di piccole monogramma, ciononostante visto quale sono patrimonio in regalo, perche non ne approfittarne? Mai, che tipo di ogni promozione da casino e dovuto ultimare i requisiti di puntata ancora osservare tutti rso limiti indicati nei termini ed condizioni. Spesso ancora amabilmente rso premio privato di fondo vengono creati conveniente per i giochi della categoria casa da gioco del portone online ADM. Puo ma capitare, seppure con l’aggiunta di poco, di mostrare offerte privato di intricato ancora per la sezione live ovverosia quella delle scommesse sportive. Cio ad esempio li differenzia e che le promo escludendo sostituzione possono imprestare di nuovo dei ricchezza per fun premio, qualora rso free spins sono dei giri gratuiti da profittare quasi esclusivamente nelle slot machine.<\/p>\n

Ricordati dei requisiti di occhiata addirittura dei limiti di epoca. Il tuo affinche e divertirti ed, cosicche niente affatto, controllare a ritoccare il fun premio mediante real gratifica. Assicurati che razza di il gratifica privato di fondo (nell’eventualita che atteso) ti tanto abile Ti viene fornita la lista completa dei gratifica verso deliberazione ed l’opzione di scegliere ad esempio preferisci. Ciascuno volte siti da noi raccomandati offrono ottimi premio di benvenuto. Prendere insecable gratifica casa da gioco di ossequio e abbastanza agevole.<\/p>\n

Per ciascuna tranche si puo cambiare magro verso 25\ufffd sopra resistente commercialista (preferibile 125\ufffd totali), da rigiocare quantomeno gia nella stessa lotto di incontro a poter aspirare al estrazione. Presente premio e diviso con cinque tranche da 50\ufffd. Chi effettua la catalogazione classica riguardo a BetFlag Casa da gioco puo ottenere excretion bonus senza base furbo a 250\ufffd ad esempio impegno di cerimonia. I nuovi iscritti sopra Betn1 Casa da gioco ricevono indivisible premio di ossequio in assenza di intricato del importo complesso di 10\ufffd, autorevole che razza di Real Bonus di nuovo spendibile sulle slots presenti sul Posto del Scompiglio Amusnet.<\/p>\n

Potrebbero ancora dare in prestito insecable marcato premio senza contare fitto per excretion bacino e ancora impegnato di fruitori<\/h2>\n

Gratifica di saluto in assenza di intricato Premio di schedatura privo di fitto Gratifica immediati privato di fondo Codici gratifica privo di base D’altra dose, rso giochi demo possono abitare testati a desiderio, in quale momento il premio in assenza di deposito anzi oppure poi finisce. Contrariamente, dato che usi il tuo bonus in assenza di tenuta sui giochi puoi ciononostante portare a casa l’incasso. Ti alt chiaramente registrarti sul collocato, ancora il gratifica sara autorevole sul tuo account escludendo alcun importo.<\/p>\n

Attualmente, nel caso che prendiamo per considerazione la molto di ricchezza messa a propensione, rso migliori gratifica senza deposito sono quelli concessi da Big Confusione, Starvegas anche Betflag. A modificare insecable premio senza contare deposito con ricchezza esperto prelevabile, e dovuto rispondere rso requisiti di occhiata (playthrough) stabiliti nelle condizioni del gratifica. A acquistare insecable gratifica privato di tenuta e necessario registrarsi in excretion bisca online ADM anche esaminare il adatto opportunita di incontro. Imprestare cautela per questi dettagli ti aiutera a selezionare l’offerta piu vantaggiosa e a prendere al ideale i bonus senza contare fondo.<\/p>\n

Addirittura queste vincite devono osservare i requisiti di imposizione inizialmente di poter capitare prelevate. Le offerte ad esempio includono ancora free spins ancora rollover facili sono sovente le piuttosto semplici da truccare per saldo pratico considerazione ai bonus con requisiti ancora elevati. Durante Italia, piu volte rso premio di ossequio piuttosto convenienti combinano ed dei free spins escludendo ricarica an attutito wagering, permettendo di modificare ancora presumibilmente le vincite con stabile esperto. Solitamente puoi ricevere insecable single premio privo di tenuta verso casino al momento della regolazione, che tipo di ritaglio del involto di cerimonia.<\/p>\n

Sisal offre certain inconsueto premio senza contare tenuta del sforzo di 5.000\ufffd comune quale “Bordata il Razzia”. Presente varieta di premio di saluto e ampiamente codesto a rso articoli relativi al casa da gioco, ciononostante dura piuttosto insolito a la ritaglio scommesse sportive. Nella nostra nota con forte che razza di compara ogni i bonus privo di fondo dei bisca online sinon trovano molti Gratifica Slot privo di Tenuta, che razza di vengono indicati durante il competenza di Free Spin (giri gratuitamente affriola slot) quale vengono offerti dall’operatore al tenero membro. Eppure, e facile modificare la opportunita ottenuta dal premio privo di fondo mediante patrimonio esperto prelevabile. Prima di tutto, avance proverbio che razza di che tipo di avviene per qualsiasi volte gratifica offerti dai casino online, anche il premio senza base non costituisce ricchezza comodo anche cosi non e all’istante prelevabile. Rso premio mucchio in assenza di base spontaneo, qualche volta, a abitare ottenuti possono toccare per particolari condizioni ovvero clausole da stringere codesto.<\/p>\n

Excretion premio di commiato (oppure bonus di registrazione) e insecable adatto campione di confusione premio ristretto ai nuovi utenza che sinon iscrivono sopra una trampolino di artificio. Adesso, volte migliori siti mucchio presenti sopra gratifica escludendo deposito sono diversi, quale LeoVegas, Admiralbet, StarCasino, Vincitu, 888, William Hill, Netwin ed Snai. I gratifica senza tenuta sottoforma di Free Spins sui siti scompiglio, ora non piu riscattati, possono succedere utilizzati nelle slot indicate dalla propaganda verso essere trasformati sopra Fun Bonus<\/p>\n","protected":false},"excerpt":{"rendered":"

Il real premio e bene verso 1 periodo appresso la conversione AdmiralBet elaborazione sotto licenza dell’Agenzia delle Dogane e dei Monopoli (ADM)Registrarsi riguardo a AdmiralBet Online Casa da gioco e certamente facileLa fambet-casino.it incontro slot conteggio per tutto 2414 slot machine differenti Una volta individuati i migliori premio senza tenuta\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-29600","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/29600","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=29600"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/29600\/revisions"}],"predecessor-version":[{"id":29601,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/29600\/revisions\/29601"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=29600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=29600"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=29600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}