/* 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":140634,"date":"2026-06-11T00:52:19","date_gmt":"2026-06-11T00:52:19","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=140634"},"modified":"2026-06-11T00:52:19","modified_gmt":"2026-06-11T00:52:19","slug":"ho-provato-la-sincronia-cross-device-di-spingranny-casino-in-svizzera","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/ho-provato-la-sincronia-cross-device-di-spingranny-casino-in-svizzera\/","title":{"rendered":"Ho provato la sincronia cross-device di Spingranny Casino in Svizzera"},"content":{"rendered":"
\n

Sono un giocatore svizzero e vivo la mia vita tra computer, telefono e tablet https:\/\/sspingranny.com\/it-ch\/<\/a>. Per me, \u00e8 indispensabile che un casin\u00f2 online mi segua senza problemi da uno schermo all’altro. Per questo ho voluto provare di persona quanto garantisce Spingranny Casino. Per diverse settimane ho scommesso dal mio laptop a Zurigo, dallo smartphone sul treno per Losanna e dal tablet in salotto. Volevo capire se il salvataggio automatico dello stato di gioco, l\u2019aggiornamento del saldo e l\u2019accesso immediato risultassero reali o solo slogan. Ecco cosa ho scoperto, con pregi, difetti e qualche imprevisto, spostandomi tra le Alpi e l\u2019Altipiano.<\/p>\n

La prima registrazione: configurazione account e verifica su diversi device<\/h2>\n

Ho registrato il mio account su Spingranny Casino dal computer di casa. La registrazione \u00e8 stata rapida, con la verifica d\u2019identit\u00e0 stabilita dalla legge svizzera. Appena operativo, ho tentato ad accedere dall\u2019app sul telefono. Primo vantaggio: non ho dovuto rifare alcuna verifica. Le stesse credenziali hanno operato subito. La piattaforma mi ha identificato senza esitazione. Uguale situazione sul tablet. Ho gradito il sistema di autenticazione a due fattori, che ha funzionato in modo uniforme su ogni dispositivo, aggiungendo sicurezza senza trasformarsi in un impedimento. La cosa fondamentale era che questi accessi multipli non creassero sessioni in conflitto tra loro.<\/p>\n

Verifica reale: transitare da desktop a mobile senza interruzioni<\/h2>\n

Questa eralla prova fondamentale. Ero intento a giocare a un videopoker a pi\u00f9 mani sul portatile, nel mezzo di una mano promettente. Chiusi il browser senza uscire dal gioco. Quando ho aperto l\u2019app di Spingranny sul cellulare poco dopo, pensavo di tornare all’inizio. Al contrario, nella sezione “Videopoker”, il gioco appariva ancora in “sessione attiva”. Facendo clic, si \u00e8 riavviato proprio nel punto in cui l\u2019avevo abbandonato: medesimo saldo, medesima mano in pausa. Si \u00e8 rivelato un passaggio naturale. Con le slot machine \u00e8 successo in modo simile: non in tutti i casi la rotazione si riprendeva al centesimo, ma il saldo totale si allineava istantaneamente. In questo modo ho potuto proseguire in pausa pranzo a Berna la partita iniziata a casa.<\/p>\n

La gestione di saldo e bonus istantanea<\/h3>\n

Su questo punto si decide la partita della coerenza. Mentre testavo ho fatto un deposito dal telefono durante un viaggio in tram. Il saldo \u00e8 stato visibile immediatamente persino sul desktop, che ho acceso pochi secondi dopo. Anche l\u2019uso di un bonus di free spin \u00e8 stato lineare. Ho avviato l\u2019offerta dal tablet, ho impiegato qualche giro, e quelli ancora disponibili erano gi\u00e0 presenti sul cellulare. Non si \u00e8 verificato disallineamento nella tracciamento delle vincite conseguite. Il portafoglio unico di Spingranny si presenta come un\u2019unica fonte della verit\u00e0. Questo elemento \u00e8 cruciale per il gioco responsabile, perch\u00e9 garantisce una visione completa e in tempo reale di quanto si ha a disposizione, senza il caos di sommare mentalmente tra vari dispositivi.<\/p>\n

Per quale motivo la sincronizzazione cross-device \u00e8 fondamentale per i utenti svizzeri<\/h2>\n

In Svizzera siamo sempre in movimento. Un momento siamo in ufficio a Ginevra, poco dopo su un regionale per Bellinzona, o in pausa a Basilea. Anche l\u2019intrattenimento deve adattarsi. Se la sincronizzazione cross-device non funziona, succede di perdere un bonus su cui si stava giocando, di ricominciare una sessione di videopoker, o ancora peggio, di vedere due saldi diversi su due dispositivi. La frustrazione \u00e8 subitanea e l\u2019esperienza di gioco si interrompe. Io desidero un servizio che mi identifichi come lo stesso utente, a qualunque schermo io stia usando. Visto che operiamo in un contesto normato (IPSR), dove sicurezza e trasparenza sono la norma, mi aspetto che questa tecnologia sia curata nei dettagli, tutelando dati e operazioni a ogni cambio di schermo.<\/p>\n

Suggerimenti utili per ottenere il meglio da la sincronizzazione<\/h2>\n

In base alla mia esperienza, ecco come trarre il massimo dalla sincronizzazione dei dati su Spingranny. Utilizzate sempre la identica email e sistema di login su tutti i device. Sembra ovvio, ma un errore qui fa saltare tutto. Prima di disattivare o passare a un altro device, assicuratevi che la connessione di rete sia attiva, affinch\u00e9 l\u2019ultimo stato di gioco possa memorizzarsi adeguatamente sul cloud. Per operazioni importanti, come depositi o prelievi, scegliete una connessione affidabile, tipo il WiFi di casa, per prevenire differenze. Se utilizzate l\u2019applicazione, assicuratevi che sia aggiornata. Gli creatori distribuiscono spesso migliorie alla logica di sincronizzazione. In ultimo, se notate problemi ricorrenti nel conto, contattate il supporto clienti, presente in italiano per la Svizzera. Nel mio caso hanno risposto prontamente e hanno sanato un minimo ritardo che avevo comunicato.<\/p>\n

Punti di attrito e scenari estremi che ho trovato<\/h2>\n

Nessun sistema \u00e8 infallibile, e nel test ho avuto qualche intoppo. Il pi\u00f9 importante concerne il live casino. Se giochi a blackjack live su un apparecchio e tenti ad collegarti allo stesso tavolo da un altro, vieni disconnesso dal primo. Ma non in tutti i casi vieni riammesso in automatico nella lista d\u2019attesa sul secondo. A volte occorre avviare manualmente il gioco. In aggiunta, in rare occasioni con connessione internet ballerina, come in certe zone di montagna, l\u2019aggiornamento del saldo ha evidenziato un ritardo di 10-15 secondi. Niente di serio, ma \u00e8 utile esserne a conoscenza. Per concludere, le impostazioni personali, come i limiti di deposito, sono sempre sincronizzate. Per\u00f2 le impostazioni audio o video di un gioco specifico a volte devono essere reimpostate quando si passa a un altro dispositivo.<\/p>\n

L’applicazione mobile vs. browser: divergenze nell’esperienza utente<\/h2>\n

Spingranny mette a disposizione sia un\u2019app dedicata per iOS e Android, sia un sito adattato per browser mobile. Le ho testate entrambe. L\u2019app, prelevata dagli store ufficiali, garantisce prestazioni un po\u2019 pi\u00f9 veloci e notifiche push sulle promozioni, un vantaggio. La sincronizzazione opera allo stesso modo in entrambe le versioni. Per\u00f2 ho notato che l\u2019app gestisce meglio i cambi di rete, come il passaggio dal WiFi domestico alla rete mobile Swisscom, riducendo il rischio di disconnessione. Il browser mobile, pur essendo totalmente funzionale, a volte esigeva un nuovo login dopo essere rimasto a lungo in background. Se puntate spesso in mobilit\u00e0, l\u2019app offre una coerenza pi\u00f9 stabile e una risposta pi\u00f9 rapida.<\/p>\n

Parere definitivo: Spingranny \u00e8 all’altezza della vita mobile svizzera?<\/h2>\n

Dopo questo test posso confermare che Spingranny Casino presenta un\u2019esperienza cross-device ben fatta, che si adatta al ritmo svizzero. La sincronizzazione di saldo, bonus e stato di gioco funziona nella maggior parte dei casi, specialmente su slot e videopoker. Le criticit\u00e0 si trovano in alcuni dettagli dei giochi con dealer live, dove il passaggio non \u00e8 sempre cos\u00ec immediato. Tuttavia, la promessa fondamentale \u2013 poter smettere di giocare su un dispositivo e riprendere su un altro senza perdere soldi o progressi \u2013 viene mantenuta. Per un giocatore come me, che richiede la flessibilit\u00e0 di giocare dall\u2019ufficio, in treno o dal divano, Spingranny offre una piattaforma coerente. Ha quella precisione che ci si aspetta dai servizi pensati per il mercato elvetico.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"

Sono un giocatore svizzero e vivo la mia vita tra computer, telefono e tablet https:\/\/sspingranny.com\/it-ch\/. Per me, \u00e8 indispensabile che un casin\u00f2 online mi segua senza problemi da uno schermo all’altro. Per questo ho voluto provare di persona quanto garantisce Spingranny Casino. Per diverse settimane ho scommesso dal mio laptop\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-140634","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=140634"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140634\/revisions"}],"predecessor-version":[{"id":140635,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140634\/revisions\/140635"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=140634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=140634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=140634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}