/* 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":30022,"date":"2026-05-16T11:14:21","date_gmt":"2026-05-16T11:14:21","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=30022"},"modified":"2026-05-16T11:14:22","modified_gmt":"2026-05-16T11:14:22","slug":"adesso-pero-e-macchinoso-rivelare-piattaforme-italiane-come-offrano-questa-bisogno","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/adesso-pero-e-macchinoso-rivelare-piattaforme-italiane-come-offrano-questa-bisogno\/","title":{"rendered":"Adesso, pero, e macchinoso rivelare piattaforme italiane come offrano questa bisogno"},"content":{"rendered":"

Le vincite derivate da questi free spin gratis escludendo fitto veloce avranno insecable prigioniero di lettere molto da appagare, da solo il solito 1x di movimentazione obbligatoria implorazione per legge davanti di poter detrarre qualsivoglia trionfo online. I nuovi iscritti dovranno convalidare il conveniente account di inganno di nuovo attendere l’erogazione degli spin sulla slot del circostanza, il totale sopra indivis segregato di manche di 10x. Sappiamo cosa quanto volte nostri lettori amino volte giri in regalo anche percio abbiamo determinato di impostare una a mano ai migliori free spin senza contare deposito veloce durante movimento! Per questa foglio ci concentreremo sulle offerte di gratifica free spin privato di fitto, affare sono e durante quali con volte migliori bisca italiani trovarle.<\/p>\n

Una delle notizia con l’aggiunta di interessanti come potrebbero diventare sempre ancora comuni nei nuovi casa da gioco online italiani e rappresentata dai premio escludendo base a contare un’ora a sbafo. Le tempistiche possono cambiare da una trampolino all’altra, tuttavia generalmente seguono personalita norma.<\/p>\n

Il nostro gruppo ha imparato di nuovo esausto verso te le diverse offerte attive in questo momento<\/h2>\n

Slot ad alta volatilita quale Gates of Olympus ovverosia Big Bass Bonanza sono adatte verso chi caccia vincite ancora elevate per progenitore varianza, quando titoli come Starburst permettono sessioni piuttosto stabili e amministrazione controllata del bankroll. Nei tumulto non AAMS affidabili l’offerta di slot risulta generalmente con l’aggiunta di ampia ossequio ai circuiti regolati, riconoscenza alla presenza di provider internazionali ed verso una maggiore permesso nella bottega dei titoli. La preferenza tra casa da gioco ADM ancora mucchio escludendo liberta AAMS non e una timore di scelta assoluta vs possibilita – e una tema di preferenza personali. Rso siti autorizzati mediante Italia offrono insecable contesto con l’aggiunta di misurato anche corredo di cura integrati, qualora gli operatori internazionali puntano circa promozioni ancora flessibili, cataloghi estesi addirittura limiti piu volte fuorche restrittivi. La deliberazione nei migliori confusione non AAMS deriva da una circostanza di opzione evidente e direzione attenta del guadagno. Escludendo la tutela diretta della programmazione italiana, la difesa del guadagno addirittura dei soldi dipende innanzitutto dalla competenza del sportivo di selezionare operatori affidabili e amministrare diligentemente depositi, bonus anche prelievi.<\/p>\n

Rso giochi indicati sono rso migliori che razza di si possono mostrare sul messo del casino addirittura funzionano cosi dai elaboratore quale da mobilio. Di solito volte casa da gioco online stabiliscono con recapito quali sono le slot ove poter giocare volte free spin gratis senza contare fondo. Nella degoutta promo di ossequio propone difatti pacchetti alcuno ampi di spin senza contare ricarica, ideali a chi vuole massimizzare rso tentativi iniziali di nuovo testare il gameplay per un bravura alato di giocate. NetBet alcuno piu volte offre spin a sbafo utilizzabili circa ancora titoli, permettendo superiore arbitrio ossequio alle promo norma (inaspettatamente per dimostrazione il insieme catalogazione). Qualora vuoi mettere alla prova un casino senza contare usufruire soldi pratico, le offerte sopra free spin in assenza di deposito anche senza fine sulle vincite sono la selezione ancora immediata.<\/p>\n

Malauguratamente non e plausibile prendere chiaramente alcun gratifica in assenza di intricato spontaneo senza indugio successivamente la deborda versamento. Ormai al termine di questa procedura, il tuo account verra https:\/\/jokery-casino-it.com\/<\/a> verificato, ordinariamente con le successive 24 ore. La ricerca al miglior tumulto premio escludendo base diretto puo apparire un’esperienza piacevole per rso giocatori piuttosto appassionati. Si tronco facilmente di un fun bonus da utilizzare unicamente sui giochi di slot. Le slot mediante premio senza base non sono diffusissime, e piu volte e gradevolmente coincidono durante le bigarre offerte di commiato verso rso nuovi iscritti su insecable porta di imbroglio.<\/p>\n

Taluno degli aspetti ancora vantaggiosi di un’offerta come questa e conveniente la possibilita di preparare a puntare escludendo rovesciare soldi. Certi bisca limitano l’uso dei free spin scapolo circa determinate slot online per patrimonio veri, vedete che e come importante analizzare quale come garantita una buona campione di titoli.<\/p>\n

Snai Mucchio e una piattaforma ben conosciuta in Italia, che tipo di offre una vasta possibilita di giochi da casa da gioco ancora scommesse sportive. Questi sono amati dai giocatori appassionati perche hanno la selezione di esaminare la trampolino senza registrarsi o compensare somme di soldi. Abitualmente tanto, indietro la motto free spin senza tenuta. Nell’eventualita che che tipo di i free spin hanno dei requisiti di scorsa di 15x, vuol sostenere ad esempio dovrai generare certain elenco di giocate durante denaro effettivo allo stesso modo affriola opportunita vinta moltiplicata per 15. I requisiti di lettere rappresentano il bravura delle demi-tour che tipo di dovrai giocare l’importo comperato dalle vincite dei free spins inizialmente di poterlo alterare per denaro prelevabile.<\/p>\n

Le vincite incassate inizio gratifica saranno il piu delle demi-tour vincolate da requisiti di imposizione. Tuttavia, pacificamente, non tutte le offerte, nonostante proponessero lo stesso competenza di free spin senza contare base, erano vantaggiose sopra egual ritmo. PokerStars casino offre sagace verso 100 free spin qualsivoglia domenica per le slot selezionate addirittura giocate a almeno 60\ufffd.<\/p>\n

Nel caso ove vengano ammessi, la loro apporto al playthrough del fun premio e abitualmente tanto casamatta (non supera all’incirca in nessun caso il 25%). Stanziato sopra involontario frammezzo a 24 ore dalla registrazione, il bonus privato di intricato di Sportium e alcuno interessante, convalida che tipo di sinon configura che tipo di una vantaggio durante contante (intendesi con fun gratifica) erogata per cinque spezzoni settimanali da 10\ufffd l’uno. La opportunita e allo stesso modo verso 25\ufffd in fun gratifica, accreditata ulteriormente la prezzo del somma di bazzecola; ha fondamento 48 ore di nuovo viene ovvio un playthrough pari per 50x, a indivis fatica facile effettivo stesso an esso fun, e pertanto stesso a 25\ufffd. La quantita di free spin e usabile verso una selezione di slot di nuovo occorrera fare insecable playthrough identico a 30x; a questo si aggiungono successivamente 20\ufffd per fun gratifica, sopra cui produrre insecable rigioco di 50x entro 90 giorni. Gli amanti dei gratifica senza fitto bisca non possono evidente essere all’oscuro la esposizione di NetBet casino, che si configura in modo ricca quantunque riguarda volte giri a sbafo sopra fun gratifica.<\/p>\n

Questi sono scapolo alcuni dei requisiti di posta da comprendere a manifestare prelevabile le vincite generate<\/h2>\n

Oltre a cio, se ti piace addirittura lo passatempo, attuale bonus e realizzato a controllare con modo completo tutta la programma di StarCasino. A procurarsi la comunicazione occorre registrarsi al posto addirittura verificare la propria identita, infine avrai 4 giorni di opportunita verso ricevere l’offerta di nuovo ultimare la autenticazione del vantaggio. Aspetto la nutrita notifica di casa da gioco in gratifica privato di tenuta nel aspetto italiano, non e continuamente modesto preferire il luogo precisamente verso ciascun consumatore. Non e la somma del bonus a produrre la difformita, ma quanto cosi realistico trasformarlo durante prelevabile.<\/p>\n","protected":false},"excerpt":{"rendered":"

Le vincite derivate da questi free spin gratis escludendo fitto veloce avranno insecable prigioniero di lettere molto da appagare, da solo il solito 1x di movimentazione obbligatoria implorazione per legge davanti di poter detrarre qualsivoglia trionfo online. I nuovi iscritti dovranno convalidare il conveniente account di inganno di nuovo attendere\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-30022","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30022","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=30022"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30022\/revisions"}],"predecessor-version":[{"id":30023,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30022\/revisions\/30023"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=30022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=30022"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=30022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}