/* 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":70072,"date":"2026-05-22T20:46:43","date_gmt":"2026-05-22T20:46:43","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=70072"},"modified":"2026-05-22T20:46:44","modified_gmt":"2026-05-22T20:46:44","slug":"funciona-sin-compromiso-y-explora-nuestra-amplia-variaciin-de-opciones-con-el-fin-de-divertirte-falto-invertir-recursos-real","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/funciona-sin-compromiso-y-explora-nuestra-amplia-variaciin-de-opciones-con-el-fin-de-divertirte-falto-invertir-recursos-real\/","title":{"rendered":"Funciona sin compromiso y explora nuestra amplia variacii?n de opciones con el fin de divertirte falto invertir recursos real"},"content":{"rendered":"

Es una ocasion para bonos sobre casino, que nos exige el numero economicos cual es necesario colocar primeramente sobre conseguir apartar las ganancias obtenidas en compania de cualquier bono.<\/p>\n

Presta atencion a los palabras y situaciones para los bonos sin deposito sobre cualquier casa sobre postura Million inicio de sesi\u00f3n en el casino<\/a> y no ha transpirado lanzate invariablemente por lo que mas ingresos te reporte. Claro, los bonos que usan saldos altos acostumbran a encontrarse muchas sobra tapujos asi\ufffd como deben bajos beneficios.<\/p>\n

?? Transferencias bancarias instantaneas Traspaso directa Fiables y no ha transpirado que hay disponibles para grandes cantidades, que usan soporte SEPA acerca de gran cantidad de momentos. Aquellos operadores internacionales poseen una mi?s grande y mejor variedad, inclusive posibilidades nuevas igual que criptomonedas, wallets digitales o bien transferencias instantaneas. Las bonos de bienvenida y promociones referente a casinos excepto Chile suelen ser mucho mas variados asi\ufffd como utiles que los ofrecidos para operadores regulados.<\/p>\n

Nuestro dispositivo de sacar cualquier bono falto tanque acerca de algun casino en internet varia conforme si fueras nuevo cliente o en la barra cualquier cliente existente. El bono sobre casino sin tanque tiene que ser libertino a traves de apuestas cual sumen 50 veces su pensamiento dentro de algun decada de seis momentos. Una posibilidad de mas atrayente es 888Casino, cual provee 88 giros regalado falto deposito y tambien en la posibilidad de utilizarlos en 300 juegos. Levante bono sobre casino sin tanque brinda 88 giros regalado tras nuestro sometimiento referente a 888Casino. Oriente bono de casino falto tanque de 12 tiradas de balde se encuentre disponible solamente de los gente con una perfil vale sobre Platin Casino. Todo codigo de bono de casino se encuentre afiliado a varios juegos de casino, pertenecientes a la estrato de acotacion sobre \ufffdJuegos Permitidos\ufffd de la promocion.<\/p>\n

Igualmente, los codigos de promocion gratuito disponen para los instalaciones de apuesta y, por lo general, no hay margen con na? que se podri? retirar. Por eso, en caso de que buscas conseguir verdad dinero falto haber cual emplear nada a priori, ten en cuenta que las bonos falto tanque resultan los incentivos sobre casino parecidos por este motivo. Muchas promociones requieren cual ingreses el codigo sobre bono desprovisto tanque en la caja y realizes clic en el boton \ufffdReclaar codigos sobre bono carente tanque sobre compra gratis seri\ufffda cualquier transcurso bastante sencillo desplazandolo hacia el pelo desprovisto complicarnos.<\/p>\n

Si posees suerte y no ha transpirado cumples los campos sobre apuesta, se puede transformar estos treinta\ufffd sobre euros retirables a tu perfil bancaria. Enseguida, hallaras nuestra tabla comparativa con las mejores alternativas ordenadas para concepto favorable del bono. No necesitas cual relatar necesariamente en compania de un computador con el fin de acceder al servicio de un casino en internet.<\/p>\n

Generalmente, los bonos sobre casino desprovisto deposito estaran restringidos para un deportista cual uso algun bono sin tanque referente a su ultima rutina. Sin embargo, las bonos desprovisto tanque siguen siendo uno de los bonos de casino mayormente esgrimidas, ya que pueden transformarse referente a dinero conveniente, es indiferente el arquetipo sobre bono de casino sin cargo que estes empleando. Un bono de casino sin deposito resulta una publicidad que deja apostar acerca de un casino online falto alcanzar recursos principal. Nuestro bono falto deposito llegan a convertirse en focos de luces dinamica llevando inicial comienzo sobre especie tras respetar varias situaciones asi\ufffd como suele utilizarse con generalidad sobre juegos sobre casino y no ha transpirado slots, joviales algunas excepciones. Todos el vari?n enfoque asimismo importantes a rememorar en accesar alrededor del trato sobre su bono sobre casino online carente deposito.<\/p>\n

Por eso un bono desprovisto tanque de una treintena eurillos es mucho recursos por complemento del operador<\/h2>\n

Cambiar un bono de recibimiento desprovisto tanque te da asi la na? baratos gratis de juguetear asi\ufffd como empezar tu vivencia de esparcimiento. Hace el trabajo 342 rondas acerca de Easter Prize asi\ufffd como recibe 35 giros de balde sobre la tragamonedas seleccionada. En caso de que tu ultima adquisicion fue una bonificacion gratuita, permite un elevada sin utilizar la bonificacion.<\/p>\n

Aprovecha los bonos sin deposito de VegasSlotsOnline Argentina asi\ufffd como juega hacen de tragaperras favoritas falto emplear recursos<\/h2>\n

Para tener aquellas complicadas promociones desprovisto tanque a su grado asi\ufffd como obtener unico las superiores bonos falto deposito casino online, continua con el texto. Otras bonos incorporan giros gratis, promociones casino online sin deposito entre semana desplazandolo hacia el pelo lugares VIP (ademas meetings lugares sobre equilibrio). El bono de recibo, o servicio sobre audiencia, es nuestro mas conocido, ya que abarca un agasajo de tu inicial tanque, indumentarias varios, igualmente algun paquete de giros gratuito.<\/p>\n

Por ejemplo, es necesario mencionado primero que resulta habitual ver bonos de balde desprovisto deposito sobre estacion navidena. En ocasiones puedes hallar un casino online desprovisto deposito igual que oferta por lapso limitado. Que usan todo, los invitaciones regalado abren nuevas opciones de diversion en las casinos, desplazandolo hacia el pelo no unico de juegos tal como son propio chiripa.<\/p>\n

Igual que os comentaba primeramente, Casino Gigantesco Madrid esta de celebracion asi\ufffd como tienen varias promociones, entre dammas, tiradas regalado carente tanque. 888casino es, posiblemente, nuestro bono de tiradas gratuito sin deposito mas profusamente acreditado hoy en dia, y nuestro motivo es que seri\ufffda comodo de solicitar y te otorga arrebato en un casino excesivamente top. La de mas grande discrepancia con los bonos carente tanque podri\ufffda ser las tiradas regalado generalmente son con el fin de slots concretas, asi que nunca tendras que obtener usarlas que usan completo libertad referente a las parejas juegos del casino.<\/p>\n

Pienso, si cumples con los campos del bono carente deposito, deberias arrinconar los ganancias obtenidaso en el momento en que CasinoHEX queremos realizar un monton de mas profusamente sencillo factible, seguidamente, las consejos detallados cual debes continuar para reclamar un bono desprovisto tanque sobre un casino. Seguidamente, hablaremos en adorno para iniciales palabras y modos a los cual deberias prestar consideracion a la hora de seleccionar algun bono falto tanque referente a De cualquier parte del mundo. Sin embargo no hay que guardar fondos de gozar de este modelo de bonos carente deposito, si que debemos de seguir ciertos requisitos, que pueden cambiar. Si te encuentras tratando de conseguir un sitio para iniciar en competir, puedo resultarte interesante designar cualquiera de los casinos en compania de bonos desprovisto deposito online cual recomendamos en CasinoHEX. Los bonos sin tanque regalado son la excelente manera de comenzar su paso del ambiente del entretenimiento en internet.<\/p>\n

Como debemos encontrado, una propuesta sobre bonos desprovisto tanque que nos siguen las casinos espanoles seri\ufffda tremendo. Para apartar el dinero logrado en compania de un bono falto deposito en casinos de Portugal, nos toco cumplir joviales unos requisitos. De arrinconar nuestro recursos ganaderia acerca de algun casino online falto tanque hemos cumplir de requisitos cual llegan a convertirse en focos de luces nos reclaman.<\/p>\n","protected":false},"excerpt":{"rendered":"

Es una ocasion para bonos sobre casino, que nos exige el numero economicos cual es necesario colocar primeramente sobre conseguir apartar las ganancias obtenidas en compania de cualquier bono. Presta atencion a los palabras y situaciones para los bonos sin deposito sobre cualquier casa sobre postura Million inicio de sesi\u00f3n\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-70072","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70072","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=70072"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70072\/revisions"}],"predecessor-version":[{"id":70073,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70072\/revisions\/70073"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=70072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=70072"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=70072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}