/* 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":14540,"date":"2026-05-08T16:36:43","date_gmt":"2026-05-08T16:36:43","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=14540"},"modified":"2026-05-08T16:36:44","modified_gmt":"2026-05-08T16:36:44","slug":"la-plataforma-emplea-ciencia-sobre-encriptacion-ssl-de-proteger-hacen-de-informaciones-asi%ef%bf%bd-como-transacciones","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/la-plataforma-emplea-ciencia-sobre-encriptacion-ssl-de-proteger-hacen-de-informaciones-asi%ef%bf%bd-como-transacciones\/","title":{"rendered":"La plataforma emplea ciencia sobre encriptacion SSL de proteger hacen de informaciones asi\ufffd como transacciones"},"content":{"rendered":"

Betsson es cualquier casino online una buena coleccion sobre juegos inimaginable desplazandolo hacia el pelo la seccion de apuestas deportivas anadida. 888 Casino resulta una de las marcas comerciales de casino en internet mas profusamente reconocidas a nivel ecumenico. Apuntate nuestro relacion que hemos escrito desalinado de impedir a toda costa esos bonos desprovisto tanque que tienen penosa reputacion indumentarias cual sencillamente no tienen modos que te convengan. En caso de que lees los palabras desplazandolo hacia el pelo formas para los bonos falto tanque de algun casino desplazandolo hacia el pelo no deseas ahora el correo, es algo mala senal. Relacion simple asi\ufffd como rapido seri\ufffda efectuar el procedimiento de verificacion (sufrir tu temperamento con el fin de arrinconar las ganancias), de mayor salubre seri\ufffda para ti porque mejora demasiado el test.<\/p>\n

Con generalidad para momentos, el problema no se encuentre durante proposicion, suerte acerca de un camino que no se completo de forma correcta a lo largo de el procedimiento. Los bonos sin tanque acerca de Ciertas zonas de espana son promociones legitimas una vez que provienen sobre casinos con el pasar del tiempo facultad DGOJ, aunque invariablemente deben analizarse las terminos completos en aceptarlos. Nuestro bono falto deposito elimina aquel riesgo inaugural, pero acostumbran a compensa la ventaja joviales limites sobra estrictos desplazandolo hacia el pelo miles promocionales inferiores.<\/p>\n

Los bonos sobre admision carente https:\/\/kirolbetcasino.com\/<\/a> tanque, como podri\ufffda ser, permitian a los nuevos jugadores participar con manga larga dinero otorgado por la pagina carente siquiera encontrarse introducido un perfil bancaria, cartulina de reputacion en el caso de que nos lo olvidemos existir distinguido otro doctrina sobre pago. Resultado al , en todo nuestro demarcacion espanol estuviese prohibida una propaganda sobre bonos sobre las casinos en linea, desplazandolo hacia el pelo referente a las casas sobre apuestas. Si no le importa hacerse amiga de la grasa toa de juegos, y no ha transpirado la zapatilla y el pie folleto, los bonos y promociones que ofrecen, la confianza sobre sus plataformas, los metodos sobre pago desplazandolo hacia el pelo el servicio de servicio al cliente. Intentas los mejores casino falto tanque que obsequian bonos debido al facil hecho sobre participar habias llegado dentro del espacio perfecto. Este tipo de plana y tambien en la referencia que contiene fue revisada para Rosa Lopez, especialista acerca de casinos en internet de Mexico, De cualquier parte del mundo asi\ufffd como LATAM.<\/p>\n

Algun bono carente tanque resulta una propaganda de casino cual deja participar carente invertir recursos propio<\/h2>\n

Las bonos sin jackpot charm Bonificacion sobre Castellano deposito continuan existiendo, no obstante nuestro opciones depende del villa, la autorizacion del casino desplazandolo hacia el pelo inclusive en la campana energica. Oriente pagina web usa Google Analytics con el fin de compendiar referencia anonima, como la cuantia de visitantes alrededor lugar desplazandolo hacia el pelo las redes de mas esgrimidas. Deberas seguir de requisitos sobre puesta (rollover) desplazandolo hacia el pelo se podri? cual huviese cualquier limite maximum durante numero sobre ganancias que se podri? arrinconar de cualquier bono vano. Por ejemplo, cualquier rollover de 5x sobre cualquier bono de $500 MXN quiere decir cual debes elaborar apuestas por algun pleno sobre $500 MXN antes de obtener eximir los ganancias por en compania de aquel bono.<\/p>\n

Aquellos campos acostumbran a variar entre x10 y x60 en funcii?n de una propaganda. Es posible escoger recursos sin cargo, giros indumentarias cartas que podemos utilizar acerca de tragaperras, ruleta, blackjack asi\ufffd como otros juegos sobre casino. Los bonos falto tanque son promociones que los casinos online ofrecen carente necesidad obsequiar con cualquier tanque inicialprobamos las campos sobre apuesta, revisamos los terminos desplazandolo hacia el pelo situaciones y perdamos promociones caducadas indumentarias poco fiables. Lo tanto si quieres tragaperras sin deposito igual que bonos de otros juegos sobre casino, se podri? creer referente a modelos sugerencias.<\/p>\n

Los bonos desprovisto deposito funcionan como cualquier liquidacion de competir sobre el casino, o bien una serie sobre tiradas gratuitas que la parentela concede tras nuestro asignacion. Aca se especifican las campos sobre puesta, las juegos utiles para liberar el bono, las limites sobre retirada y tambien en la decadencia de el bono. El sobre cualquier bono sin tanque tiene que ser gozar de la prueba de manera fiable, serio asi\ufffd como conocedor. Utilizar estas alternativas no nos referimos a una senal sobre aficion, destino un modelo sobre compromiso. En la consiliario sobre bonos carente tanque insistimos sobre cualquier principio elemental, que es situar separado asi\ufffd lo que individuo suele obtener dejar, sin efectuarse conmocion sobre obligacion.<\/p>\n

Hay muchos casinos cual ademi?s son casa sobre apuestas zapatillas de deporte y se fabrican con dos bonos sobre recibo. Suin guardar, lee con precaucion las campos de el bono sobre recepcion, pues estos necesitan un deposito infimo de activarse. Cuando tu bono debido a se mantenga activado, se puede empezar en apostar desplazandolo hacia el pelo intentar seguir tus instalaciones de apuesta. Hoy en dia, es posible encaminarse bonos sin tanque extras, como bonos sobre aniversario y no ha transpirado bonos para invitacion (referidos). ?Es posible coger bonos sin tanque adicionales seguidamente del sobre audiencia? Comunmente, las bonos carente tanque solo se pueden utilizar acerca de juegos especializados seleccionados debido al casino, como tragaperras o en la barra ruleta.<\/p>\n

Las ganancias van a reclamar respetar los instalaciones sobre postura generados para la pri?ctica de su libertad<\/h2>\n

Por otro lado, nuestro galardon siquiera coadyuda en ella division a los campos sobre apuesta sobre los casos. Una vez que te registres en uno de los superiores casinos con el pasar del tiempo bono sobre recibimiento, ten sobre cuenta que el desarrollo sobre adquisicion de el bono desprovisto tanque con el fin de casino acerca de Argentina puede diferir. Naturalmente, de conseguir arrinconar con manga larga normalidad nunca unicamente lo perfectamente creado con el bono sobre casino sin tanque elegido, suerte que usan cesion mismo, vas a comprobar tu idiosincrasia.<\/p>\n

De arrinconar los ganancias, no disponen nadie exigencia sobre envite. Aunque, si fueras atleta cual expectativa prestaciones atrayente asi\ufffd como una jugabilidad activa, es conveniente echarse cualquier mirada acerca de posibilidades igual que tragamonedas Megaclusters. Resulta ordinario es que todos estos bonos de casino si no le importa hacerse amiga de la grasa traten de bonos de recepcion en casinos giros regalado, dinero favorable o bien cashback tal como serian acreditados a la cuenta de el usuario detras de cual levante permite un deposito inaugural.<\/p>\n","protected":false},"excerpt":{"rendered":"

Betsson es cualquier casino online una buena coleccion sobre juegos inimaginable desplazandolo hacia el pelo la seccion de apuestas deportivas anadida. 888 Casino resulta una de las marcas comerciales de casino en internet mas profusamente reconocidas a nivel ecumenico. Apuntate nuestro relacion que hemos escrito desalinado de impedir a toda\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-14540","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14540","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=14540"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14540\/revisions"}],"predecessor-version":[{"id":14541,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14540\/revisions\/14541"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=14540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=14540"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=14540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}