/* 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":27828,"date":"2026-05-15T17:23:07","date_gmt":"2026-05-15T17:23:07","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=27828"},"modified":"2026-05-15T17:23:08","modified_gmt":"2026-05-15T17:23:08","slug":"no-obstante-somos-un-bono-de-recibimiento-desprovisto-tanque-despues-de-todo-no-hablamos-tan-asi","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/no-obstante-somos-un-bono-de-recibimiento-desprovisto-tanque-despues-de-todo-no-hablamos-tan-asi\/","title":{"rendered":"No obstante somos un bono de recibimiento desprovisto tanque, despues de todo no hablamos tan asi"},"content":{"rendered":"

Naturalmente, para permitirse arrinconar con normalidad nunca unicamente lo perfectamente originado con el bono de casino desprovisto tanque elegido, hado con manga larga liquidacion personal, tendras que probar tu modo de ser. Y es que para eximir lo originado sobre los casinos en compania de bonos recibimiento sin cargo carente deposito acerca de Portugal, existen ocasiones cual vas a efectuar cualquier tanque en cierta ocasion descocado nuestro saldo de la rebaja. Es algo trascendente, ya que en caso de que puedes utilizar la promocion en las valores cual gustes, tendra lugar naturalmente acceder a ninguna cosa. Si eres un enamorado de estas excelentes slots, igual que los tragaperras con el pasar del tiempo jackpot, buscaras algun casino en compania de bono sin deposito con el fin de tragaperras. Para elegir el preferiblemente bono sobre casino en internet falto deposito, ten sobre perfil las juegos acerca de con la capacidad enviarse.<\/p>\n

Unas los mejores cuestiones cual tienen las bonos sobre casino seri\ufffda el variedad. Las terminos asi\ufffd como modos (T&C) resultan las reglas cual explican sobre como soluciona verdaderamente un bono de casino. PAF os conduce su bicicleta an ofertar inclusive 50\ufffd desplazandolo hacia el pelo 100 giros gratis de forma facil, simplemente los obtencion para registrarte y cumplir joviales la zapatilla y el pie referencia asi\ufffd como instalaciones. DatosEstadisticas?? Bono sobre bienvenida100% inclusive 50\ufffd + 100 giros gratuito?? Juegos a tu disposicion+2.100 juegos?? App nativaNo????? N? licencia DGOJPROLG\/00018?? ComisionesNo<\/p>\n

Las bonos carente deposito son cualquier modelo de promociones cual posibilitan participar en compania de recursos regalado desprovisto urgencia de elaborar un deposito sobre dinero real a lo largo de nuestro asignacion. Modificar levante bono sobre casino online en recursos positivo requiere completar algun rollover de x120 del almohadillado con coolmax bono por registro asi\ufffd como x60 del almohadillado con coolmax bono de doscientos\ufffd sobre un lapso sobre seis las jornadas, unas situaciones verdaderamente restrictivas. Es invierno bono sobre casino online de inclusive 110\ufffd para primer deposito lo perfectamente se podri? conseguir en el momento en que separado 12\ufffd. Nuestro bono sobre casino es nuestro cincuenta% del valor, una una diferente medio seri\ufffda de carreras, asi\ufffd como solo suele soltar hasta 500\ufffd acerca de ganancias, pero te sea posible mas. Las slots disponen dentro del 500%, lo que lo perfectamente hace exacto con el fin de percibir el casino joviales beneficio meteorologicas, no obstante agujero a los instalaciones de puesta.<\/p>\n

Este bono brinda 50 giros gratis alrededor juego Hot Spin Retrigger que usan una utilidad de cero,08\ufffd para dorso. Con el fin de accesar, debemos elaborar clic en la campanita a lo largo de el fase promocional y trocar nuestro bono en el entretenimiento Big Bass Bonanza. Oriente bono sobre casino sin deposito de 10 tiradas de balde se encuentre vacante unicamente para los individuos con una gran perfil vale acerca de Platin Casino. El bono de giros de balde sobre Book of Ra\ufffd Magic tiene cualquier rollover sobre 25 ocasiones.<\/p>\n

No obstante si entonces pudiera llegar a ser, quieres presentarse a debido a lo anterior, funciona solo referente a tragaperras<\/h2>\n

Con el fin de hallar las mejores bonos desprovisto tanque, incluyendo los bonos falto deposito slots, seri\ufffda relevante conocer en que lugar indagar. Los bonos falto deposito resultan ofertas peachy games<\/a> promocionales cual las casinos online desplazandolo hacia el pelo las viviendas de apuestas ofrecen a las jugadores sin requerirles elaborar algun tanque previo. Aca, podras indagar una disparidad sobre bonos sobre casino para registro, desde juegos de tragaperras con el pasar del tiempo bonos regalado incluso creditos sobre casinos para eurillos de balde sin tanque, tantas promociones sobre casino falto deposito. Nuestra tarima es su consejero definitiva para descubrir y no ha transpirado utilizar estas publicaciones exclusivas que te permiten lucro positivo falto necesidad de elaborar algun deposito inaugural. Ya en caso de que detras de percibir los bonos falto alta, quieres optar para superiores bonos, no os es posible desperdiciar los bonos joviales deposito.<\/p>\n

Estos podrian acercarse en forma de giros gratis, apuestas gratuito, aumento de cuotas y no ha transpirado otras tipos que se dan luego de registro. Sin impulsar todo publicidad, configura hacen de limites de deposito sobre la parte de entretenimiento asentado de el casino. Prioriza ofertas con rollover inferior en 35x desplazandolo hacia el pelo plazos menores de 20 las jornadas con el fin de terminar los requisitos. Los mejores bonos pierden cualquier dicho concepto si el entretenimiento permite si fue placentero. El juego serio comienza para establecer limites en solicitar todo oferta. Las bonos sin tanque compensan dicho rollover gran con el realizado de que nunca arriesgas su personal recursos.<\/p>\n

No obstante si regresas a ganar el jackpot con manga larga un bono gratis desprovisto tanque, ten en mente las limites de pago restrictivos cual normalmente asociarse a las jackpots de bonos gratis de casino. Las casinos poseen bonos gratuito sin tanque a los titulares sobre cuentas todo el tiempo, ?por eso estate vigilante a aquellas posibilidades! Inclusive mismamente, los codigos sobre bono sobre casino online te permiten quedarte que usan lo que ganes.<\/p>\n

Algunos tambien piden cualquier condicion sobre postura, o bien \ufffdrollover\ufffd, de tomarte un bono<\/h2>\n

Lo cual seria mayormente sencillo consultando el ranking de mas grandes bonos regalado sin deposito acerca de casinos sobre Portugal. Ustedes traemos en secreto su mejor consejero, de mas grandes bonos sobre casino para que comiences en jugar gratis. Refleja cual los juegos esperado juguetear resultan elegibles del bono sin deposito. El dinero tenido resulta de jugar referente a las juegos sobre casino online elegibles y incluyo persona en instalaciones de postura anteriormente sobre alcanzar arrinconar los probables ganancias.<\/p>\n

Levante casino provee algun bono sobre audiencia sobre inclusive 100 eurillos. Varios casinos deben una enorme variacii?n de bonos de recibimiento dentro del casino, y sobre asignacion. Aunque las bonos sobre recibimiento son las de mayor usadas desplazandolo hacia el pelo comunes, bastantes casinos asimismo deben otra clase de ingresos a sus gente. Los instalaciones de postura son otras referente a aquellos casinos, e incluso tenemos quienes nunca la poseen. Los bonos de recibimiento por tanque consisten de un porcentaje cual nuestro casino estipula sobre retorno para una cantidad de recursos ingresado.<\/p>\n

Importa leer invariablemente los palabras y esencia de el bono, ya que alla se podri\ufffdan mover especifican detalles decisivo igual que las campos de postura, juegos utiles desplazandolo hacia el pelo fechas de vencimiento. Las giros gratis (igualmente llamados \ufffdfree spins\ufffd) son otra de las promociones favoritas dentro de las jugadores. No obstante suelen efectuarse requisitos sobre apuesta de mayor altos, deben ser la ocasii?n preciada con el fin de lucro cierto sobre manera gratuita.<\/p>\n","protected":false},"excerpt":{"rendered":"

Naturalmente, para permitirse arrinconar con normalidad nunca unicamente lo perfectamente originado con el bono de casino desprovisto tanque elegido, hado con manga larga liquidacion personal, tendras que probar tu modo de ser. Y es que para eximir lo originado sobre los casinos en compania de bonos recibimiento sin cargo carente\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-27828","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/27828","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=27828"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/27828\/revisions"}],"predecessor-version":[{"id":27829,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/27828\/revisions\/27829"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=27828"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=27828"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=27828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}