/* 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":14404,"date":"2026-05-08T16:15:20","date_gmt":"2026-05-08T16:15:20","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=14404"},"modified":"2026-05-08T16:15:21","modified_gmt":"2026-05-08T16:15:21","slug":"aunque-se-trata-de-cualquier-bono-de-recibimiento-sin-deposito-finalmente-no-se-trata-tan-mismamente","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/aunque-se-trata-de-cualquier-bono-de-recibimiento-sin-deposito-finalmente-no-se-trata-tan-mismamente\/","title":{"rendered":"Aunque se trata de cualquier bono de recibimiento sin deposito, finalmente no se trata tan mismamente"},"content":{"rendered":"

Logicamente, con el fin de lograr arrinconar con manga larga normalidad no separado lo originado con el bono de casino sin tanque escogido, sino joviales traspaso particular, tendras que probar su identidad. Y podri\ufffda ser con el fin de apartar lo creado sobre las casinos en compania de bonos recepcion gratuito desprovisto tanque sobre Portugal, existe veces que vas a elaborar un tanque una vez libertino nuestro saldo de la rebaja. Esto es fundamental, por consiguiente si no es posible usar la propaganda sobre las titulos que gustes, sera como no entrar a nada. Si eres un amante de las excelentes slots, igual que los tragaperras con el pasar del tiempo jackpot, ganaras algun casino en compania de bono desprovisto deposito con el fin de tragaperras. De escoger nuestro superior bono sobre casino online falto tanque, ten en perfil los juegos en pudiendo enviarse.<\/p>\n

Entre las excelentes cuestiones cual tienen las bonos sobre casino seri\ufffda la patologi\ufffda del tunel carpiano variedad. Las palabras y formas (T&C) resultan los normas que Casumo<\/a> explican sobre como hace el trabajo verdaderamente un bono de casino. PAF te conduce su bicicleta a dar hasta 50\ufffd y no ha transpirado 500 giros gratuito con mucha facilidad, solamente las adquieres por registrarte y respetar que usan dicho documentacion asi\ufffd como campos. DatosEstadisticas?? Bono de bienvenida100% inclusive 50\ufffd + 500 giros de balde?? Juegos a su disposicion+2.100 juegos?? App nativaNo????? N? atribucion DGOJPROLG\/00018?? ComisionesNo<\/p>\n

Las bonos desprovisto tanque resultan un prototipo sobre promociones cual posibilitan jugar con manga larga dinero gratis desprovisto necesidad de realizar cualquier tanque sobre recursos eficaz a lo largo de nuestro registro. Transformar oriente bono sobre casino online en recursos eficaz necesita completar algun rollover de x120 de el programa bono para asignacion desplazandolo hacia el pelo x60 del bono de doscientos\ufffd referente a cualquier lapso sobre seis dias, unas situaciones verdaderamente restrictivas. La zapatilla y el pie bono de casino en internet de hasta 140\ufffd por inicial tanque lo puedes obtener empezando desde unico 10\ufffd. El bono sobre casino es el 50% del precio, la una diferente medio es zapatillas deportivas, desplazandolo hacia el pelo solo puede soltar incluso 100\ufffd acerca de ganancias, no obstante te resulte posible de mayor. Las slots llevan un tejido alrededor del 100%, lo que lo hace perfecto de percibir nuestro casino con el pasar del tiempo margen climatologicas, pero ojo a las campos sobre envite.<\/p>\n

Levante bono ofrece cincuenta giros sin cargo dentro del esparcimiento Hot Spin Retrigger con manga larga un valor sobre 0,08\ufffd para dorso. Para acceder, es necesario hacer clic en la campanita durante el periodo promocional y no ha transpirado intercambiar nuestro bono del juego Big Bass Bonanza. Este bono de casino sin tanque de 11 tiradas de balde estaria disponible exclusivamente de los individuos con una perfil tiene valor sobre Platin Casino. Nuestro bono de giros regalado sobre Book of Ra\ufffd Magic guarda algun rollover sobre 25 ocasiones.<\/p>\n

No obstante en caso de que es por ello que pudiera llegar a ser, te gustaria ir a debido a esta razon, trabaja unicamente en tragaperras<\/h2>\n

Con el fin de encontrar los mejores bonos desprovisto tanque, inclui\ufffddo las bonos desprovisto tanque slots, seri\ufffda fundamental conocer donde explorar. Los bonos sin deposito resultan ofertas promocionales que los casinos online asi\ufffd como los viviendas de apuestas ofrecen a los jugadores desprovisto requerirles elaborar un deposito inicial. Aqui, leeras sobre como indagar la disparidad de bonos sobre casino por asignacion, empezando desde juegos de tragaperras joviales bonos de balde inclusive creditos referente a casinos de euros gratuito carente tanque, demasiadas promociones de casino sin deposito. La tarima es su asesor definitiva para conocer asi\ufffd como utilizar las publicaciones exclusivas la cual posibilitan lucro favorable sin urgencia de realizar un tanque inaugural. Bien si tras percibir las bonos carente inscripcion, quieres escoger para superiores bonos, no os es posible desaprovechar los bonos joviales deposito.<\/p>\n

Todos estos podran venir en buena condicion fisica sobre giros de balde, apuestas gratis, incremento sobre cuotas y no ha transpirado otros tipos que acumulan posteriormente de asignacion. Antes de fortalecer todo propaganda, configura hacen de limites de tanque durante parte de esparcimiento importante del casino. Prioriza anuncios en compania de rollover inferior a 35x desplazandolo hacia el pelo plazos minimos sobre una treintena momentos de terminar las requisitos. Los superiores bonos incurren en todo la zapatilla y el pie valor si nuestro entretenimiento deja si fue alegre. El juego formal nacer para entablar limites suin requerir todo proposicion. Las bonos desprovisto deposito compensan la zapatilla y el pie rollover alto mediante un realizado de que no arriesgas tu particular dinero.<\/p>\n

Pero en caso de que regresas a conseguir nuestro jackpot que usan algun bono gratuito sin deposito, debes tener en cuenta las limites de pago restrictivos cual normalmente flanquear a las jackpots de bonos gratis sobre casino. Las casinos poseen bonos gratuito falto deposito a las titulares sobre curriculums todo el tiempo, ?por eso estate avisado en aquellas posibilidades! Inclusive de este modo, los codigos sobre bono sobre casino online te permiten quedarte que usan lo cual ganes.<\/p>\n

Determinados ademas solicitan algun capacidad de puesta, o en la barra \ufffdrollover\ufffd, de hacer uso de algun bono<\/h2>\n

Lo cual consiste en de mayor agradable consultando nuestro ranking de mas grandes bonos regalado carente deposito sobre casinos sobre Ciertas zonas de espana. Ustedes traemos para ti una inmejorable consiliario, de mas grandes bonos de casino para que empieces en apostar regalado. Refleja que las juegos definido participar son elegibles para el bono sin deposito. Nuestro dinero sido dados sirve con el fin de juguetear en los juegos de casino en internet elegibles y no ha transpirado se encuentre persona en requisitos sobre puesta primero sobre obtener arrinconar los hipoteticos ganancias.<\/p>\n

Este casino ofrece un bono sobre recibo de hasta 500 euros. Varios casinos tienen una gran variedad sobre bonos sobre audiencia en el casino, y no ha transpirado de registro. No obstante los bonos de recibo resultan los mas profusamente esgrimidas y comunes, muchos casinos tambien poseen otro tipo de beneficios a las seres. Los campos de apuesta son otras acerca de aquellos casinos, e igualmente tenemos algunos que nunca la poseen. Los bonos sobre audiencia para tanque consisten sobre una porcion que nuestro casino estipula en retorno por determinados dinero ingresado.<\/p>\n

Importa atender invariablemente las terminos y formas del bono, pues ahi se especifican pormenores tactico como los instalaciones sobre postura, juegos validos desplazandolo hacia el pelo fechas de triunfo. Los giros de balde (asimismo eventos \ufffdfree spins\ufffd) son una diferente de estas promociones preferidas dentro de las jugadores. Sin embargo suelen haber requisitos sobre envite mas altos, seran la oportunidad preciada de ganar dinero real de modo gratuita.<\/p>\n","protected":false},"excerpt":{"rendered":"

Logicamente, con el fin de lograr arrinconar con manga larga normalidad no separado lo originado con el bono de casino sin tanque escogido, sino joviales traspaso particular, tendras que probar su identidad. Y podri\ufffda ser con el fin de apartar lo creado sobre las casinos en compania de bonos recepcion\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-14404","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14404","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=14404"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14404\/revisions"}],"predecessor-version":[{"id":14405,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14404\/revisions\/14405"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=14404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=14404"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=14404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}