/* 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":28726,"date":"2026-05-15T18:52:11","date_gmt":"2026-05-15T18:52:11","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=28726"},"modified":"2026-05-15T18:52:12","modified_gmt":"2026-05-15T18:52:12","slug":"los-casinos-cual-regalan-bono-carente-deposito-acerca-de-portugal-varian-extremadamente-en-sus-publicaciones","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/los-casinos-cual-regalan-bono-carente-deposito-acerca-de-portugal-varian-extremadamente-en-sus-publicaciones\/","title":{"rendered":"Los casinos cual regalan bono carente deposito acerca de Portugal varian extremadamente en sus publicaciones"},"content":{"rendered":"

Claro que si, gran cantidad de operadores ofrecen aplicaciones moviles a los que puedes entrar<\/h2>\n

Las bonos sobre recibimiento clasicos reclaman deposito precedente. Conocemos que seis sobre gama masculina ofrecian cualquier clase de bono regalado carente deposito, empezando desde cinco\ufffd incluso 30 giros gratuitos. Encontraras alternativas con manga larga giros gratuito, credibilidad sobre recepcion desplazandolo hacia el pelo incluso bonos desprovisto requisitos de puesta abusivos.<\/p>\n

Nuestro bono falto deposito sobre Playamo Casino es de inclusive 25 giros gratuito con tragaperras Book of Cats del… En caso de que bien saber los bonos carente deposito, os ofrecemos elegirlos sobre nuestra relacion sobre debajo. busca solo sitios sobre casinos con las superiores ofertas sobre bonos desprovisto https:\/\/kinbet-casino-es.com\/es-es\/<\/a> deposito. En esta categoria, encontrara las bonos sin deposito de mayor frescos que la colectividad sobre hallan despejado en varios casinos en internet. Lo tanto en caso de que te gustaria jugar acerca de casinos que usan bono sobre audiencia falto tanque, como en caso de que lo cual te mueves es utilizar los anuncios exclusivas con el fin de apps, participar en el telefon inteligente es funcionan asi\ufffd como indudablemente ?te encantara!<\/p>\n

La oferta de juegos con el fin de apostar con los bonos de casino pude ser amplia, con las maquinas tragaperras como primeramente senuelo. Buscamos bonos sobre casino que cuenten una oferta amplia sobre metodos sobre retirada una vez que nuestro participante logre soltar nuestro recursos de el bono. Los esposos bonos sobre casino que te estamos recomendando aca resultan 100% reales, estan verificados desplazandolo hacia el pelo poseen la credibilidad de que, en caso de que se va a apoyar sobre el silli\ufffdn cumplimentan los instalaciones, es posible liberar. Actualizamos las resenas de forma continuada para sustentar una informacion necesita, trascendente desplazandolo hacia el pelo del momento, siguiendo una metodologia de estudio peculiar y no ha transpirado estrictas guias editoriales.<\/p>\n

Emotiva Casino ofrece cualquier bono carente deposito de diez \ufffd de nuevos seres que si no le importa hacerse amiga de la grasa registren desplazandolo hacia el pelo verifiquen su perfil adentro de las principales 72 situaciones. Una publicidad posee cualquier condicion de postura sobre 50x sobre el coste del bono y deberia completarse en algun division maximum sobre 14 las jornadas en el momento en que dicho activacion. TikiTaka Play ofrece 30 \ufffd carente tanque a las cero millas seres buscando registrarse y repasar totalmente la cuenta, carente urgencia sobre entrar ningun estatuto promocional. Cuando el casino haya revisado semejante su noticia desplazandolo hacia el pelo referencia, una publicidad se acreditara automaticamente en tu cuenta.<\/p>\n

Las requisitos de apuesta suelen entablar un multiplicador especifico que indica cuantas veces deberias emplazar nuestro monto del bono en permitirse arrinconar las ganancias. Alli encontraras referencia sobre el proporcii?n sobre reembolso, el limite maximum de reembolso, los juegos elegibles asi\ufffd como las campos sobre envite especificos. Asimismo la bono es denominado bono sobre reconocimiento o en la barra cashback estaban elaborados las excelentes bonos sobre casinos online que le permitian al consumidor recobrar alguna numero del recursos tirado.<\/p>\n

Una de las mas grandes disciplinas cual poseen las bonos de casino es la zapatilla y el pie variacii?n. Los palabras asi\ufffd como formas (T&C) son los normas que explican de que manera soluciona realmente cualquier bono sobre casino. Estos giros separado los deberias usar durante tragamonedas Gates of Olympus desplazandolo hacia el pelo estaran divididos por semanas, entonces nunca las recibiras todos a la vez.<\/p>\n

Los bonos de casino constituyen promociones especiales que los operadores tienen a sus gente registrados. Conseguir los superiores bonos sobre eurillos hace posible competir que usan recursos reales carente complicarnos sobre conversion. Todos estos bonos sobre audiencia casino se encuentran concebidos de cero millas jugadores cual solicitan nuestro preferiblemente acceso posible. Las bonos sobre bienvenida resultan durante la reciente ocasii?n de incrementar su liquidacion inaugural en un casino online. Alrededor casino bwin se puede almacenar empezando desde 5 eurillos y no ha transpirado acceder a algun folleto sobra de 4.100 juegos.<\/p>\n

Acerca de Ciertas zonas de espana, practicamente aquellos bonos sin tanque incluyen requisitos de envite y limites maximos sobre retirada. El bono desprovisto deposito elimina esta riesgo original, pero normalmente compensa esa utilidad en compania de limites de mas estrictos y no ha transpirado decenas promocionales inferiores. Las bonos falto deposito suelen tener limites igual que maximum precio sobre ganancias retirables, plazos de verano con el fin de seguir nuestro rollover (acostumbran a 3 a seis jornadas) y no ha transpirado restricciones referente a juegos o en la barra mercados. El superior bono carente tanque es esta cual ofrece mayor traspaso en el caso de que nos lo olvidemos tiradas gratis con requisitos sobre puesta bajos, plazos amplios para cumplirlos y cual resulte vivo acerca de las juegos favoritos. De jubilar las ganancias sobre un bono desprovisto tanque deberias respetar mediante un rollover, que indica cuantas ocasiones debes emplazar nuestro bono en el caso de que nos lo olvidemos los ganancias para impedir lograr retirar. Las casinos con manga larga bonos falto deposito siguen forma segura sobre empezar en el casino online sobre Ciertas zonas de espana.<\/p>\n

La manera muy simple sobre adquirir 500 giros gratuito carente tanque seri\ufffda aceptando una de los promociones sobre recepcion. Si quieres cincuenta tiradas gratuito de casino, se puede encontrarlas sobre Bwin, BacanaPlay, Gratogana, PartyCasino asi\ufffd como Swift Casino, dentro de diferentes plataformas sobre juegos. Nuestro casino sobre Slingo, por ejemplo, brinda a sus recientes usuarios 12 giros sin cargo carente deposito previo. Hoy os andamos hablando para los casinos cual aportan 100 giros sin cargo desprovisto tanque.<\/p>\n

Si detectas algun casino cual es que ilegal, comparte tu referencia aqui<\/h2>\n

La bonos permanece dirigido a personas bien registrados que ha completado una demostracion sobre temperamento. Este dinero gratuito suele usarse conforme la prediccion especificas indicadas para nuestro operador, proporcionando una excelente ocasion de probar distintos juegos de el casino. Las ganancias generadas con estas tiradas gratuitas poseen respetar instalaciones sobre postura en poder retirarse.<\/p>\n

Solo para registrarte y no ha transpirado repasar tu perfil, leeras sobre como elegir entre 2 clases de bono, conforme prefieras slots en el caso de que nos lo olvidemos juegos de casino. Casino Genial Madrid renueva el proposicion promocional con manga larga cualquier bono desprovisto deposito de 30\ufffd, disei\ufffdado con el fin de que te sea posible gozar de tus juegos favoritos falto urgencia de alcanzar recursos. El bono seri\ufffda la totalidad de algun pack sobre admision y no ha transpirado no seri\ufffda compatible que usan otros bonos de recibo (ruleta, apuestas deportivas indumentarias blackjack). Para soltar nuestro bono y conseguir retirar las ganancias, debera apostar cincuenta veces el valor del bono.<\/p>\n","protected":false},"excerpt":{"rendered":"

Claro que si, gran cantidad de operadores ofrecen aplicaciones moviles a los que puedes entrar Las bonos sobre recibimiento clasicos reclaman deposito precedente. Conocemos que seis sobre gama masculina ofrecian cualquier clase de bono regalado carente deposito, empezando desde cinco\ufffd incluso 30 giros gratuitos. Encontraras alternativas con manga larga giros\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-28726","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28726","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=28726"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28726\/revisions"}],"predecessor-version":[{"id":28727,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28726\/revisions\/28727"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=28726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=28726"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=28726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}