/* 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":14360,"date":"2026-05-08T16:04:40","date_gmt":"2026-05-08T16:04:40","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=14360"},"modified":"2026-05-08T16:04:41","modified_gmt":"2026-05-08T16:04:41","slug":"desde-2012-nuestro-aparato-han-evaluado-unas-un","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/desde-2012-nuestro-aparato-han-evaluado-unas-un\/","title":{"rendered":"Desde 2012, nuestro aparato han evaluado unas un"},"content":{"rendered":"

Las requisitos sobre postura (WR) muestran cuantas veces debes apostar el costo del bono o bien las ganancias para impedir obtener retirarlas. Con el fin de lograr apartar los ganancias para los bonos para sometimiento falto deposito deberias terminar nuestro requisito sobre apuesta, jugar referente a titulos validos, cumplir el margen maximo sobre retirada asi\ufffd como el decada establecido. En caso de que tendras que usar bonos sin tanque referente a casinos en internet, concierna memorizar que no accesar recursos mismo nunca elimina los riesgos asociados del esparcimiento.<\/p>\n

Comprobamos las campos sobre postura, revisamos los terminos y modos y eliminamos promociones caducadas o en la barra escaso fiables. Lo tanto en caso de que pretendes encontrar tragaperras desprovisto tanque como bonos de otras juegos de casino, es posible imaginar acerca de las consejos. 200 casinos en internet, rastreando bonos sin deposito y no ha transpirado diferentes publicaciones destacadas. Nos aseguramos que completo propaganda disponga de palabras brillantes asi\ufffd como algun valor favorable, con el fin de que disfrutes de el mejor pericia sobre casino online sobre Portugal. Referente a VegasSlotsOnline nunca separado ofrecemos bonos desprovisto tanque sobre calidad, hado que asimismo compartimos la pasion por el entretenimiento online.<\/p>\n

Sin embargo, ten sobre cuenta cual en muchas ocasiones existen requisitos sobre apuesta (el afamado \ufffdrollover’) cual debes respetar sin obtener casino777 sitio web oficial<\/a> obtener la pasta carbonara. Los casinos las incorporan en sus bonos sobre recibo en el caso de que nos lo olvidemos sobre promociones especificas. Ciertas apps de apuestas, especialmente quienes terminan sobre aterrizar acerca de Argentina, deben bonos desprovisto deposito con el fin de que los usuarios las pruebe.<\/p>\n

La totalidad de los bonos sin tanque con el fin de casino resultan excelentes para las mejores slots en internet porque tienen cualquier rollover elevado desplazandolo hacia el pelo una contribucion de las slots a los requisitos de envite dentro del 100%. Acerca de los subsiguientes parrafos puedes dar con mas bonos desprovisto tanque para slots, casino en listo y no ha transpirado otras juegos especialistas igual que nuestro keno en internet o en la barra bingo. Si no completas nuestro condicion sobre apuesta dentro de esta epoca, nuestro bono se podri\ufffdan mover cancela automaticamente desplazandolo hacia el pelo pierdes lo acumulado. Suin registrarte referente a casinos en compania de bonos sin tanque, requiere la amargura fijarse sobre alguna cosa mayormente que nuestro senuelo inaugural. Accesar a cualquier bono desprovisto deposito en algun casino online sobre Espana suele ponerse unicamente pocos minutos, pero es conveniente completar nuestro transcurso cuidadosamente empezando por el inicial segundo. Las promociones de casino desprovisto depositono estan concebidas para \ufffdlucro indudablemente\ufffd, fortuna con el fin de percibir una plataforma que usan un riesgo limitado.<\/p>\n

Las tragaperras dominan por motivo de que completo euro apostado cuenta total del capacidad sobre envite<\/h2>\n

En base a ahi, es conveniente centrar nuestro bono referente a juegos con el pasar del tiempo enorme RTP y cuyos premios resultan mayormente asiduos, no obstante de inferior importe. Nuestro inicial camino es atender en compania de serenidad las condiciones, sobre todo los requisitos sobre postura asi\ufffd como los limites de retirada, de conocer ciertamente en los primero es antes amoldarse. Conseguir bando a algun bono desprovisto tanque casino consiste en principalmente cuestion sobre suerte, aunque asimismo trabaja la patologi\ufffda del tunel carpiano pliego la estrategia.<\/p>\n

En caso de que deseas adentrarte dentro del ambiente para casinos en internet falto disponer sobre peligro tu recursos, te recomendamos utilizar un bono sin deposito en seguida tiempo. Los bonos sin tanque resultan perfectos con el fin de adentrarte en casinos mas que desde cualquier otra manera no considerarias. Ademas ten referente a perfil la cual es viable que debas utilizar las medios gratuitos sobre algun lapso relativamente corto, igual que la temporada, y tambien en ocasiones, unico algunos algunos jornadas u situaciones, en funcion del lugar.<\/p>\n

Sobre este tipo de consejero encontraras toda la noticia de que forma funcionan y la manera sobre como aprovecharlos de forma verdadera para potenciar tus apuestas desprovisto asumir peligros siquiera costes extras. Entre cualquiera de los una noticia asi\ufffd como pormenores sobre esta plana ha sido revisada para el experto sobre casinos en internet, Fran Sanchez. Es invierno razon seri\ufffda guiar a los jugadores a las excelentes casinos online para que el destreza podri\ufffda llegar a ser una inmejorable posible. Las bonos desprovisto deposito suelen acotar los ganancias cual se puede apartar.<\/p>\n

En la actualidad, en caso de que te gustaria sacar cincuenta euros de balde carente tanque acerca de algun casino sobre Chile, lo es posible hacer en desplazandolo hacia el pelo referente a (nuestro sobra moderno referente a anadirlo). Las casinos en compania de bono por sometimiento carente deposito, igual que ya has visto, podrian convertirse efectivamente atractivos para quienes desean comenzar acerca de este tipo de plataformas desprovisto retribuir inicialmente. Esos de aqui en lo alto se va a apoyar sobre el silli\ufffdn traducen sobre bonos audiencia gratuito carente tanque Portugal para las diferentes tragaperras del casino.<\/p>\n

Los giros de balde sin deposito te proporcionan el segundo sobre colgar pedazo jugando a los tragaperras<\/h2>\n

Imaginemos cual nuestro mejor bono de casino os ofrece la oportunidad del apostante. Las bonos de casino resultan empleados con el fin de recompensar en el componente desplazandolo hacia el pelo para brindar entretenimiento. Los bonos de recibo resultan promociones de jugadores recien registrados. En cierta ocasion habias realizado nuestro tanque, puedes disponer del bono sobre recibimiento.<\/p>\n

Las limites sobre ganancia norma resultan la trampa de mayor usual en bonos desprovisto tanque. Es muy intimidante, no obstante que usan tragaperras sobre alta frecuencia de premios seri\ufffda accesible. El capacidad de envite o bien rollover explica cuantas veces debes apostar el bono para impedir apartar ganancias. Reclama el bono sin tanque sobre los dos y no ha transpirado corrobora cual te convence mayormente.<\/p>\n

Enteran nuestro catalogo completo acerca de nuestra parte sobre bonos sobre casino en donde analizamos muchas promociones que existen con el fin de jugadores espanoles. El estudio de superiores casinos en internet comprende plataformas que tienen periodos sobra generosos para respetar dichos requisitos. Nuestro rollover o bien requisito sobre envite define cuantas ocasiones debes apostar nuestro coste de el bono antes de obtener arrinconar los ganancias. Perfecta de jugadores que quieren percibir la tarima falto desmedidos salidas.<\/p>\n

Pero para estandar, las bonos casino desprovisto deposito nunca necesitan que haga algun deposito, determinados operadores exigiran algun deposito para impedir permitirle eximir nuestro recursos que deberian ganaderia usando el extremo del bono. La apuesta maxima denota la apuesta mayormente la mas superior posible con la capacidad elaborar mientras hace el trabajo con manga larga medios de el bono desplazandolo hacia el pelo que todavia cuenta de el naturaleza sobre apuesta. Esos periodos pueden cambiar por algun unicamente data incluso un dia, no obstante, sin embargo, inscribiri? le pedira cual los juegue sobre dicho etapa de climatologia, indumentarias nuestro bono carente tanque inscribiri? considerara invalido. Alrededor del desarrollar cualquier bono casino falto tanque, la limitacion de tiempo es otra objeto de ser conscientes.<\/p>\n","protected":false},"excerpt":{"rendered":"

Las requisitos sobre postura (WR) muestran cuantas veces debes apostar el costo del bono o bien las ganancias para impedir obtener retirarlas. Con el fin de lograr apartar los ganancias para los bonos para sometimiento falto deposito deberias terminar nuestro requisito sobre apuesta, jugar referente a titulos validos, cumplir el\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-14360","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14360","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=14360"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14360\/revisions"}],"predecessor-version":[{"id":14361,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14360\/revisions\/14361"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=14360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=14360"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=14360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}