/* 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":28724,"date":"2026-05-15T18:52:03","date_gmt":"2026-05-15T18:52:03","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=28724"},"modified":"2026-05-15T18:52:04","modified_gmt":"2026-05-15T18:52:04","slug":"las-requisitos-de-postura-15x-resultan-asequibles-asi%ef%bf%bd-como-los-limites-sobre-jubilacion-son-relativamente-altos","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/las-requisitos-de-postura-15x-resultan-asequibles-asi%ef%bf%bd-como-los-limites-sobre-jubilacion-son-relativamente-altos\/","title":{"rendered":"Las requisitos de postura (15x) resultan asequibles, asi\ufffd como los limites sobre jubilacion son relativamente altos"},"content":{"rendered":"

Las bonos sobre casino desprovisto tanque resultan promociones cual permiten juguetear falto acceder recursos mismo tras terminar el sometimiento. Si, se podri? lucro real utilizando algun bono sin deposito, siempre que cumplas a los requisitos sobre apuesta generados debido al casino. Los bonos sin deposito significarian usados sobre la diversidad de juegos, permitiendo a los jugadores procurar otras alternativas falto riesgo. Los probables ganancias por con estos giros deben un margen sobre retiro de inclusive 100 eurillos asi\ufffd como se encuentran sujetas a cualquier requisito sobre apuesta distinguido sobre 15 veces dicho valor.<\/p>\n

Suele sonar grandioso, aunque de este modo llegan a convertirse en focos de luces establecen de que ninguna persona abuse de el propaganda<\/h2>\n

Sin embargo lo cual no nos referimos a todo, hay otras impedimentos a los cual deberias prestar amabilidad para impedir lanzarte a pedir cualquier bono desprovisto deposito referente a uno de los casinos online disponibles referente a su paiso tercer tema a tener referente a perfil, vale que estes al tanto que muchos casinos piden que prefieras un pequeno deposito baratos antes de apartar las ganancias obtenidas utilizando bono. Lo primero cual debes saber podri\ufffda ser las bonos carente deposito acerca de casinos online se encuentran programados solamente para cuando un jugador. Algunos de los casinos de su DGOJ cual aparecen seguidamente resultan usuarios sobre Casinos-De cualquier parte del mundo que, a veces, podrian pagar la contribucion por salir durante calculo de numeracion. Los bonos sin deposito referente a los casinos online son creditos sin cargo cual se puede usar de emplazar falto existir que obtener recursos conveniente previamente.<\/p>\n

Si decides competir con manga larga un bono falto tanque, leer ahora el limitado y no ha transpirado revisa en que consiste nuestro monto extremo de los premios. En el comercio para jungliwin inicio de sesi\u00f3n en el casino<\/a> bonos falto deposito hallaras de cualquier, en el momento en que bonos de cinco Eurillos hasta sobre miles sobre Euros. Las tragaperras suelen ser los juegos favoritos para casinos, con el fin de que nosotros aprovechemos los bonos desprovisto tanque. Seri\ufffda un decenio que deberias haber claro, si deseas disfrutar de cualquier bono desprovisto tanque asi\ufffd como arrinconar tus ganancias.<\/p>\n

Si, referente a Portugal tenemos bonos sobre casino gratuitos amigos igual que “bonos sin deposito”. El superior bono sobre casino seri\ufffda nuestro bono sobre recibo sobre Casino777. Los superiores bonos sobre casino son las bonos de recibimiento sobre Casino777, Enorme Madrid Casino En internet asi\ufffd como bwin. Atane recalcar esto por motivo de que no realiza tanto una posicion de las bonos sobre casino en internet era una diferente. Desplazandolo hacia el pelo las famosos torneos, sobre algunos que compites cuanto otras personas referente a juegos sobre casino en internet de sacar una mayor calificacion y no ha transpirado aumentar durante clasificacion. Los ofertas sobre bonos sobre casino suelen ser con el fin de slots, aunque te prefiero echarse atencii?n a este tipo de plana siempre para saber si deberian aparecido otra publicidad de dichos juegos.<\/p>\n

Existe diferentes alternativas que dan mayormente, no obstante en caso de que os los regalan no debes rechazarlos. Una plataforma sobre juegos 888 Casino provee a sus como novedad usuarios algun bono sobre tiradas sin cargo a los maquinas tragaperras. Nuestro rollover del bono sin deposito es gran, pero al menos no deberas apostar la cantidad muy la mas superior (350\ufffd) con el fin de liberarlo, por consiguiente una beneficio principio seri\ufffda sobre 12\ufffd. Las tragaperras lo hacen usando 500% de las ganancias, entretanto cual las juegos sobre bandada (ruleta, blackjack) y casino sobre directo lo perfectamente hacen en algun 15% sobre ambos sucesos. Si, separado cuando hubieran confirmado tu temperamento asi\ufffd como perduracion tu cuenta estara verificada, desplazandolo hacia el pelo es por lo tanto cuando recibiras nuestro bono sin deposito ?? Nuestro participante dispondra de seis momentos de fomentar nuestro bono desplazandolo hacia el pelo treinta dias con el fin de completar las instalaciones sobre apuestas.<\/p>\n

Hay demasiadas posibilidades para coger y podemos tener la sensacion de estar abrumados por eso<\/h2>\n

A pesar de que nos chiflan los bonos sin tanque, hay ciertas razones para quienes quiza desearias sufrir otra clase sobre experiencias. A pesar para los hipoteticos requisitos sobre postura asi\ufffd como demas desafios, gran cantidad de jugadores logran sacar ganancias que posteriormente podrian apartar. Para comenzar, los bonos regalado falto tanque sobre casinos acerca de De cualquier parte del mundo resultan la excelente modo de probar nuevos casinos carente riesgo. Posteriormente, es necesario desglosado las motivos por las que debes aceptar un bono gratuito sin deposito, desplazandolo hacia el pelo ciertas razones para las que podras optar para no efectuarlo.<\/p>\n

Alojamos tragamonedas onlin sobre muchos para los principales niveles sobre aplicacion, lo que diri\ufffda las temas y tambien en la jugabilidad son extremadamente diversos. Los bonos sin cargo de casino si no le importa hacerse amiga de la grasa usan principalmente acerca de juegos sobre tragamonedas y no ha transpirado Chipy os brinda miles sobre tragamonedas gratuito de juguetear para pasatiempo. Una vez completado el proceso de asignacion y activada tu perfil de casino, reclama una proposicion sobre adquiere gratuito sin tanque alrededor lugar en la red de el casino.<\/p>\n

Luckia guarda algunos de los bonos sobre casinos en internet sobra completos con manga larga inclusive doscientos\ufffd desplazandolo hacia el pelo 20\ufffd sin cargo sin deposito de casino. Es invierno bono sobre casino en internet sobre inclusive 140\ufffd por primer deposito lo perfectamente se podri? sacar nadie pondri\ufffda en duda desde unicamente diez\ufffd. Yo creo personal Seri\ufffda uno de los mas grandes bonos carente tanque cual he visto, con manga larga 20\ufffd gratuito para juguetear a los slots en el caso de que nos lo olvidemos para utilizar alrededor del resto de juegos sobre casino. Las tragamonedas suelen ser su mejor decision, por consiguiente contribuyen de mas a las requisitos de envite. Sin embargo, sabemos ser conscientes que todos estos bonos suelen quedar tipos a formas, como requisitos sobre postura o en la barra limites sobre retiro, lo que suele afectar nuestro monto extremo cual puedes eximir.<\/p>\n

Acerca de este cosmos continuamente se va a apoyar sobre el silli\ufffdn habla del famoso condicion sobre puesta, o en la barra rollover, que es ni mas ni menos que una tipo sobre prueba sobre fuegoo acontece en compania de casi cualquier con biografia, despues de cada genial publicidad suele encontrarse palabras y no ha transpirado situaciones.<\/p>\n

Esos bonos son doctrinas para percibir una medio de esparcimiento por un lapso restringido. Los bonos desprovisto deposito son promociones cual se fabrican con las casinos en internet de juguetear desprovisto necesidad sobre pagar su recursos. Por otra parte, no obstante los bonos falto tanque resultan oportunidades emocionantes para percibir recientes casinos y juegos, es crucial entender de que manera hacen el trabajo bien en cooperar en el vari?n. Los bonos falto deposito se va a apoyar sobre el silli\ufffdn ha transformado en una utensilio atractiva de los jugadores sobre casino en linea. Las bonos carente tanque permiten competir sobre casinos en internet sin invertir recursos inicialmente.<\/p>\n","protected":false},"excerpt":{"rendered":"

Las bonos sobre casino desprovisto tanque resultan promociones cual permiten juguetear falto acceder recursos mismo tras terminar el sometimiento. Si, se podri? lucro real utilizando algun bono sin deposito, siempre que cumplas a los requisitos sobre apuesta generados debido al casino. Los bonos sin deposito significarian usados sobre la diversidad\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-28724","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28724","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=28724"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28724\/revisions"}],"predecessor-version":[{"id":28725,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28724\/revisions\/28725"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=28724"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=28724"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=28724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}