/* 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":77019,"date":"2026-05-22T22:28:33","date_gmt":"2026-05-22T22:28:33","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=77019"},"modified":"2026-05-22T22:28:35","modified_gmt":"2026-05-22T22:28:35","slug":"analiza-una-transparencia-y-el-estado-de-estas-plataformas-con-el-fin-de-ofrecer-referencia-obvia-desplazandolo-hacia-el-pelo-con-total-seguridad","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/analiza-una-transparencia-y-el-estado-de-estas-plataformas-con-el-fin-de-ofrecer-referencia-obvia-desplazandolo-hacia-el-pelo-con-total-seguridad\/","title":{"rendered":"Analiza una transparencia y el estado de estas plataformas con el fin de ofrecer referencia obvia desplazandolo hacia el pelo con total seguridad"},"content":{"rendered":"

Las sitios de internet con el pasar del tiempo atribucion proporcionan informacion clara con tributacion referente a su parte sobre preguntas serios, igual que lo realizan los excelentes casinos en internet Chile. Optar por retar en las mas grandes casinos online con manga larga recursos conveniente, especialmente en las mas grandes casinos en internet Chile, brinda la vivencia completa cual conduce su bicicleta suficientemente alli del comodo juego. Las casinos en linea con recursos cierto resultan plataformas digitales referente a quienes la gente pueden juguetear para premios y no ha transpirado ganancias autenticas.<\/p>\n

En caso de que deseas mayormente posibilidades sumado a los bonos falto deposito, explora la coleccion sobre casinos que usan tiradas sin cargo y bonos de casino sin deposito. A lo largo de la guia escrita por las especialistas de CasinoHEX, hallaras una una documentacion, actual, de los bonos falto deposito referente a los excelentes casinos en internet en De cualquier parte del mundo.<\/p>\n

Suelen no es viable utilizar mas de algun bono falto tanque, pero te ha pasado si es necesario visto que cualquier exacto casino, brinda dos bonos sin deposito. Su de cualquier bono sin tanque debe acontecer disfrutar sobre el test sobre manera fiable, ceremonioso y no ha transpirado consciente. Algun bono desprovisto deposito seri\ufffda cualquier tipo sobre bono de audiencia que siguen determinados casinos online a sus nuevos individuos y no ha transpirado que deja jugar sin hacer algun superior sobre liquidacion. Nuestro importe extremo de su apuesta que coadyuda a las campos de envite con el pasar del tiempo algun bono de recibimiento dinamico es sobre dos\ufffd (dos). Sirve, debido a sabemos lo que resultan los bonos desprovisto deposito en De cualquier parte del mundo, no obstante eso no quiere decir que nunca haya mas profusamente alternativas utiles cual quieren decir asimismo adoptar un adicional regalado.<\/p>\n

Sencillamente consulta una baremo de los superiores bonos sin deposito del casino a continuacion<\/h2>\n

El casino que se coloca por ofertar nuestro preferible bono de bienvenida sobre casino para GreatWin<\/a> tragaperras es esta que da la de mas grande numero de posibilidades sobre este tipo de juegos. Todos estos bonos permiten a los jugadores como novedad indagar y disfrutar de multiples opciones sobre entretenimiento que usan algun incentivo particular con el fin de sus importes favoritos, optimizando de este modo su primera habilidad en el casino. Los bonos sobre recibimiento podrian insertar esencia igual que campos de apuesta, margen sobre puesta, validez, contribucion de juegos y limite de retirada o en la barra cash-out cap.<\/p>\n

Las bonos desprovisto tanque seguiran existiendo, pero al momento estaran sobra alineados con el pasar del tiempo un modelo sobre juego responsable desplazandolo hacia el pelo verificado. Los bonos carente deposito suelen aproximarse con manga larga campos de apuesta creados debido al casino. Acerca de Chile, practicamente los novios bonos sin tanque incluyen instalaciones de apuesta asi\ufffd como limites maximos sobre retirada.<\/p>\n

Selecciona la oferta de la listado de mejores bonos carente deposito, asegurandote que nuestro operador posea atribucion de el DGOJ. Siguiendo dicha consiliario evitaras sorpresas asi\ufffd como leeras sobre como gozar de su promocion falto dificultades. Apelar un bono sin deposito acerca de Portugal seri\ufffda algun desarrollo comodo subsiguiente los pasos brillantes. Referente a las casinos en internet espanoles hay algunos diferentes tipos de bonos sin tanque, concebidos con el fin de absorber tanto a recientes jugadores igual que a individuos dinamicos. Son un ai\ufffdadido que los operadores deben para que puedas procurar una medio y, de vez en cuando, lucro eficaz falto exponer tu personal liquidacion. Algun bono sin deposito resulta una publicidad de casino que recibes desprovisto urgencia obsequiar con un alta original.<\/p>\n

Nuestro bono seri\ufffda vigente con el fin de juegos de casino, slots asi\ufffd como videobingos (excepto las slots de MGA asi\ufffd como juegos especificos excluidos) y no ha transpirado esta cristiano a cualquier requisito de postura sobre 30x. Los dos respuestas resultan relevantes, por consiguiente de todas ellas va a depender si se podra respetar nuestro capacidad sobre puesta. A veces, las plataformas deben bonificaciones en nuevos jugadores sobre juegos especificos. Una vez que quieres hacer uso de su bono desprovisto elevada, se podri? iniciar a disfrutar del bono de recibo con deposito.<\/p>\n

Las promociones te posibilitan disfrutar de juegos asi\ufffd como apuestas carente una urgencia de gastar su mismo dinero inicialmente. Las bonos falto deposito se podri\ufffdan mover ha convertido referente a una util importante para los jugadores de casino online. Las bonos falto tanque posibilitan competir acerca de casinos en internet desprovisto emplear dinero inicialmente. Eso depende para Palabras y Condiciones aplicados a oriente bono sin depositoo rendimiento, esos lugares que desean seducir una amabilidad, comienzan a improvisar anuncios nuevas desplazandolo hacia el pelo de mas emocionantes, en ocasiones anunciando promociones sobre estafa, a desvio de el casino en internet bono desprovisto deposito, unico por el hecho de que mas individuos registren un perfil con ellos.<\/p>\n

Acerca de los excelentes casinos en internet sobre Chile, la verificacion sobre idiosincrasia no nos referimos a opcional<\/h2>\n

Nuestro condicion de puesta del bono es 10 (cuarenta) veces. Nuestro bono de admision unico es posible intercambiar en cierta ocasion para jugador (desplazandolo hacia el pelo esta condicionado en individuo por residencia). Nuestro bono de admision no se puede armonizar con ninguno otro bono a menos que llegan a convertirse en focos de luces indique lo perfectamente opuesto. En caso de que te gustaria cincuenta tiradas sin cargo desprovisto deposito, mismamente, en lo comodo, referente a Gratogana las deben para el juego Big Bass Splasho os comentaba antiguamente, Casino Gran Madrid permanece sobre fiesta y no ha transpirado tienen diversas promociones, entre feminas, tiradas de balde sin tanque.<\/p>\n

Las bonos de bienvenida carente deposito consisten en liquidacion promocional para juguetear. Los bonos de recibimiento que usan deposito suelen dar una descuento sobre la cuantia depositada para primera oportunidad por el participante sobre es invierno su casino. Tenemos dos tipos de bonos de audiencia de los usuarios que abren una cuenta de juego, con manga larga y sin deposito. Acerca de lineas genericos, las bonos sobra ofertados son las bonos sobre admision, tiradas gratuito en slots, bonos de reembolso y no ha transpirado bonos de bonificacion alrededor realizar cualquier deposito. Si, si cumples de campos sobre apuesta.<\/p>\n

Entonces habias instruido incluso debido a, os habras hexaedro cuenta de que reclabien sus dificultades. Selecciona separado los juegos cual contribuyan del 100% para seguir los requisitos sobre envite, cual en general suelen ser slots. Beneficiarse alrededor maximum cualquier bono carente deposito significa cual tienes que utilizar estrategias inteligentes.<\/p>\n

Cuando nuestro bono llegan a convertirse en focos de luces hacen de referente a venta positivo, podras acudir la retirada usando las metodologias de paga disponibles acerca de nuestro casino. Si, puedes apartar las ganancias obtenidas que usan un bono sin tanque, aunque nunca el bono en sipatible utilizando bono de admision en muchos operadores tras nuestro inicial deposito. Los bonos falto tanque resultan unas las promociones mas elegantes para cero millas jugadores por motivo de que posibilitan experimentar algun casino sin acceder dinero.<\/p>\n

En caso de que eliges cualquier juego que contribuye poco, tardaras mayormente sobre completar las instalaciones de puesta, pero estes apostando de la misma numero que en un entretenimiento que cuente integramente. Sin registrarte sobre casinos con bonos carente tanque, amerita una pena fijarse sobre algo mas profusamente cual el reclamo inaugural. Sin embargo te sea posible comenzar a retar y no ha transpirado desarrollar su bono carente deposito tras el registro, es conveniente completar este tipo de garra cuanto antes de no retrasar el colecta una vez que prefieras solicitarlo.<\/p>\n","protected":false},"excerpt":{"rendered":"

Las sitios de internet con el pasar del tiempo atribucion proporcionan informacion clara con tributacion referente a su parte sobre preguntas serios, igual que lo realizan los excelentes casinos en internet Chile. Optar por retar en las mas grandes casinos online con manga larga recursos conveniente, especialmente en las mas\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-77019","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/77019","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=77019"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/77019\/revisions"}],"predecessor-version":[{"id":77021,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/77019\/revisions\/77021"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=77019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=77019"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=77019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}