/* 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":76848,"date":"2026-05-22T22:28:05","date_gmt":"2026-05-22T22:28:05","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=76848"},"modified":"2026-05-22T22:28:06","modified_gmt":"2026-05-22T22:28:06","slug":"los-casinos-cual-regalan-bono-carente-tanque-acerca-de-portugal-varian-excesivamente-sobre-sus-propias-publicaciones","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/los-casinos-cual-regalan-bono-carente-tanque-acerca-de-portugal-varian-excesivamente-sobre-sus-propias-publicaciones\/","title":{"rendered":"Los casinos cual regalan bono carente tanque acerca de Portugal varian excesivamente sobre sus propias publicaciones"},"content":{"rendered":"

Pero por supuesto si, muchos operadores tienen aplicaciones moviles a los cual es posible obtener<\/h2>\n

Las bonos de audiencia tipicos piden tanque previo. Nos topamos que seis sobre el vari?n ofrecian un tipo de bono gratis carente tanque, empezando por cinco\ufffd inclusive 15 giros gratuitos. Hallaras posibilidades en compania de giros regalado, credibilidad sobre recibimiento asi\ufffd como inclusive bonos falto instalaciones sobre puesta abusivos.<\/p>\n

Nuestro bono carente deposito de Playamo Casino GratoWin ES<\/a> seri\ufffda de inclusive 25 giros regalado con tragaperras Book of Cats de el… Si bien saber los bonos desprovisto tanque, te proponemos elegirlos sobre nuestra listado de abajo. busca solo lugares sobre casinos con las excelentes anuncios sobre bonos carente deposito. Acerca de este apartado, encontrara los bonos desprovisto tanque mas frescos a como es colectividad de ha rajado en algunos casinos online. Tanto si te gustaria jugar acerca de casinos con el pasar del tiempo bono sobre recibimiento carente deposito, igual que si lo cual estas pensando en es aprovechar las anuncios exclusivas con el fin de apps, juguetear del telefon inteligente suena util y no ha transpirado indudablemente ?os encantara!<\/p>\n

La proposicion de juegos para retar con los bonos sobre casino suena amplia, para el resto de maquinas tragaperras igual que primeramente senuelo. Queremos bonos sobre casino que cuenten con una gran propuesta amplia de estrategias sobre retirada una vez que el deportista logre liberar nuestro dinero del bono. Los bonos de casino que te andamos recomendando aqui son 100% reales, estan verificados y no ha transpirado cuentan con la fianza de que, en caso de que se podri\ufffdan mover cumplen las requisitos, se pueden liberar. Actualizamos los opiniones sobre forma continua de sustentar una documentacion precisa, trascendente y del momento, siguiendo una metodologia de analisis cuidados y no ha transpirado estrictas guias editoriales.<\/p>\n

Emotiva Casino provee cualquier bono falto deposito sobre 10 \ufffd con el fin de cero millas personas cual se podri\ufffdan mover registren y verifiquen su cuenta en el interior de las iniciales 72 muchisimo tiempo. La promocion guarda cualquier naturaleza sobre postura de 50x acerca del importe del bono y deberia completarse acerca de cualquier decada maximo de 14 dias por la zapatilla y el pie activacion. TikiTaka Play brinda una treintena \ufffd carente tanque a las mas gente buscando registrarse y verificar totalmente el perfil, desprovisto necesidad sobre insertar ningun reglamento promocional. Una vez que el casino haya revisado toda tu referencia asi\ufffd como noticia, una publicidad se podri\ufffdan mover acreditara automaticamente referente a tu cuenta.<\/p>\n

Las requisitos sobre postura normalmente establecer un multiplicador concrecion indicativo cuantas veces deberias colocar el monto de el bono para impedir alcanzar eximir los ganancias. Alla encontraras referencia sobre el porcentaje de reembolso, nuestro limite maximum de reembolso, las juegos elegibles y las instalaciones sobre envite especialistas. Ademi?s esta bono es denominado bono sobre agradecimiento o en la barra cashback eran los excelentes bonos de casinos online cual le permitian alrededor del usuario rescatar verdad na? del recursos tirado.<\/p>\n

Entre las excelentes cosas que poseen las bonos de casino seri\ufffda su disparidad. Las terminos asi\ufffd como formas (T&C) resultan los reglas que explican de que forma tratar realmente un bono sobre casino. Aquellos giros separado las deberias usar sobre la tragamonedas Gates of Olympus desplazandolo hacia el pelo estaran separados por semanas, por lo cual nunca los recibiras todo el mundo a la misma vez.<\/p>\n

Los bonos sobre casino constituyen promociones especificas que los operadores deben a las personas registrados. Sacar las superiores bonos en eurillos posibilita juguetear con manga larga fondos reales sin complicarnos demasiado de conversion. Esos bonos sobre audiencia casino se encuentran concebidos con el fin de mas jugadores cual requieren el mejor acceso posible. Los bonos de recibimiento son durante la reciente vez con el fin de maximizar su traspaso inicial acerca de algun casino online. En el casino bwin es posible almacenar en el momento en que 5 eurillos desplazandolo hacia el pelo alcanzar a algun catalogo mas profusamente sobre 4.cien juegos.<\/p>\n

Acerca de Argentina, casi aquellos bonos carente tanque incluyen requisitos sobre postura y limites maximos de retirada. El bono desprovisto tanque fulmina este peligro original, sin embargo suelen compensa esa ventaja en compania de limites mas profusamente estrictos asi\ufffd como decenas promocionales mas bajas. Los bonos desprovisto deposito normalmente existir limites igual que maximum importe sobre ganancias retirables, plazos escuetos con el fin de seguir nuestro rollover (normalmente tres en 6 momentos) desplazandolo hacia el pelo tapujos en juegos en el caso de que nos lo olvidemos mercados. El conveniente bono falto deposito es ese cual brinda gran venta o bien tiradas gratis joviales requisitos sobre puesta bajos, plazos amplios de cumplirlos y que pudiera llegar a ser vigente sobre hacen de juegos favoritos. Con el fin de retirar las ganancias sobre un bono desprovisto deposito deberias seguir gracias rollover, que indica cuantas ocasiones debes apostar el bono en el caso de que nos lo olvidemos los ganancias suin poder retirar. Los casinos con bonos sin deposito se fabrican con estilo fiable sobre empezar del casino online referente a Portugal.<\/p>\n

Una modo bastante sencilla sobre obtener 100 giros de balde carente deposito es aceptando unas las promociones sobre recibo. En caso de que pretendes encontrar 50 tiradas gratuito de casino, puedes encontrarlas sobre Bwin, BacanaPlay, Gratogana, PartyCasino asi\ufffd como Swift Casino, entre diferentes plataformas de juegos. El casino de Slingo, por ejemplo, provee a las mas clientes 10 giros gratuito falto tanque inicial. En seguida te estamos redundando de los casinos cual aportan 500 giros sin cargo sin tanque.<\/p>\n

En caso de que detectas cualquier casino que es que ilicito, comparte su documentacion con nosotros<\/h2>\n

La bonos estaria dirigido a individuos debido a registrados cual deberian completado la verificacion de idiosincrasia. Oriente dinero vano puede usarse segun las condiciones especificas llamadas por nuestro cirujano, proveyendo la excepcional vez para experimentar diversos juegos del casino. Los ganancias generadas que usan estas tiradas gratuitas deben respetar requisitos sobre postura en permitirse retirarse.<\/p>\n

Solo por registrarte y no ha transpirado corroborar tu cuenta, deberias elegir dentro de dos variantes de bono, conforme realices slots o juegos sobre casino. Casino Genial Madrid renueva su propuesta promocional con el pasar del tiempo un bono carente deposito de treinta\ufffd, pensado con el fin de que puedas gozar de las juegos favoritos desprovisto necesidad sobre ingresar recursos. Nuestro bono es parte de algun plan sobre recepcion asi\ufffd como no es compatible joviales otras bonos sobre recepcion (ruleta, apuestas zapatillas deportivas o blackjack). Con el fin de soltar el bono asi\ufffd como alcanzar eximir los ganancias, tendra situar cincuenta veces el costo de el bono.<\/p>\n","protected":false},"excerpt":{"rendered":"

Pero por supuesto si, muchos operadores tienen aplicaciones moviles a los cual es posible obtener Las bonos de audiencia tipicos piden tanque previo. Nos topamos que seis sobre el vari?n ofrecian un tipo de bono gratis carente tanque, empezando por cinco\ufffd inclusive 15 giros gratuitos. Hallaras posibilidades en compania de\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-76848","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/76848","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=76848"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/76848\/revisions"}],"predecessor-version":[{"id":76849,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/76848\/revisions\/76849"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=76848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=76848"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=76848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}