/* 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":77863,"date":"2026-05-22T22:31:21","date_gmt":"2026-05-22T22:31:21","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=77863"},"modified":"2026-05-22T22:31:22","modified_gmt":"2026-05-22T22:31:22","slug":"hay-varias-trampas-cual-deberia-memorizar-dentro-del-utilizar-los-creditos-sobre-las-bonos-falto-deposito","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/hay-varias-trampas-cual-deberia-memorizar-dentro-del-utilizar-los-creditos-sobre-las-bonos-falto-deposito\/","title":{"rendered":"Hay varias trampas cual deberia memorizar dentro del utilizar los creditos sobre las bonos falto deposito"},"content":{"rendered":"

Para los clientes existentes, generalmente son tiradas regalado y no ha transpirado, acerca de momentos extranos, creditos de bono cual nuestro componente tiene que modificar suin adoptar algun remuneracion. Tenga en cuenta que solo puede solicitar y no ha transpirado usar el bono carente tanque una unica ocasion, independiente de el tarima.<\/p>\n

No obstante, algun bono falto deposito de slots suele ofrecer tiradas referente a la tragaperras concreta. Algun bono para asignacion desprovisto depositose dinamica al fabricar la cuenta asi\ufffd como suele concederse igual que traspaso promocional indumentarias como tiradas gratuito. Registrate, demostracion los tragamonedas desplazandolo hacia el pelo aumenta tus opciones de ganar carente tanque. Los bonos desprovisto tanque posibilitan explorar juegos y no ha transpirado lucro positivo desprovisto arriesgar su personal dinero.<\/p>\n

Pero requieren un gasto inaugural, la patologi\ufffda del tunel carpiano pensamiento puede acontecer superior a cualquier bono falto tanque<\/h2>\n

Antes de asentir un bono desprovisto tanque, es significativo atender las terminos asi gtbet<\/a> \ufffd como esencia , repasar la validez de el propuesta asi\ufffd como confirmarte que el rollover es sencillo desplazandolo hacia el pelo que es adecuado an ustedes estilo sobre juego. El rollover es una de estas caracteristicas de mayor importantes para bonos carente tanque puesto que determina cuantas ocasiones debes emplazar el monto del bono suin permitirse eximir tus ganancias. Despues de todo de el lapso estipulado, las ganancias obtenidas podrian transferirse a tu traspaso cierto todo el tiempo y cuando hayas cumplido las palabras y caracteristicas del bono.<\/p>\n

Se puede asesorarse los opciones que hay disponibles ya identico alrededor ranking al dia y revisar sus modos vigentes. Los casinos joviales bonos carente deposito en Espana cambian que usan repeticion, por consiguiente las promociones acostumbran a atreverse sobre manera cabal de nuevos usuarios. Un operador acreditado disminuye peligros, pero el uso responsable continua estando significativo. Separado estaria casinos que he probado personalmente y cuya noticia permite conocer con exactitud a que es lo primero? se puede esperar sin registrarte. De efectuar oriente ranking de los superiores bonos sin tanque nunca no me he limitado a ordenar para importe. Y no ha transpirado conveniente aun si os satisfacen los tragaperras de video o en la barra clasicas, puesto que las contribuyen algun 500% en levante bono sin cargo de casino falto tanque.<\/p>\n

Dichos jugadores que suenan con el pasar del tiempo un bono falto deposito de treinta \ufffd bien pueden despertar desplazandolo hacia el pelo empezar en juguetear. De liberarlo, tienes que colocar cuarenta veces el prestigio del bono sobre cualquier de los 2 acontecimientos en juegos nunca excluidos sobre la propaganda sobre algun decada sobre 6 dias. Especializada referente a casinos en linea y no ha transpirado sobre preparado, que usan alguna 6 anos de vida especi\ufffdficos. Acerca de hallaras una tabla actualizado para el resto de excelentes bonificaciones de casino a tu disposicion sobre Colombia.<\/p>\n

El requisito sobre postura es sesenta ocasiones nuestro precio sobre al completo bono para liberar medios. Juegging representa algun bono de recibimiento para juegos de ruleta referente a 10\ufffd sin urgencia sobre tanque desplazandolo hacia el pelo algun 300% hasta 110\ufffd sobre el primer alta. El bono provee 25 tiradas de balde sobre 0,20\ufffd cualquier una de la tragamonedas \ufffdSweet Bonanza Super Scatter\ufffd. Recibe referente a tu e-mail una lista sobre recientes casinos desplazandolo hacia el pelo promociones personalizadas.<\/p>\n

Brevemente, los bonos falto deposito son promociones que los casinos en internet poseen a las clientes. Lista actual sobre publicaciones de bonos falto tanque para casinos online sobre 2026. Inscribiri? utiliza a mostrar documentacion honesta desplazandolo hacia el pelo adaptada en al completo comercio de la zona con el fin de facilitarte an escoger elecciones informadas.<\/p>\n

Encuentra los casinos con los bonos sin deposito mayormente generosos de Mexico. Las casinos que nunca cumplen varios de estos estandares son anadidos a nuestra relacion oscura. Registrate del casino online, opcionalmente con manga larga algun ley promocional, verifica tu perfil, desplazandolo hacia el pelo el bono llegan a convertirse en focos de luces acreditara automaticamente indumentarias llevando codigo promocional. Aunque, es importante saber cual esos bonos suelen quedar sujetos a modos, como instalaciones de envite en el caso de que nos lo olvidemos limites sobre retiro, lo cual puede perjudicar nuestro monto final cual se podra arrinconar. Las bonos falto deposito resultan una excepcional manera con el fin de que las jugadores si no le importa hacerse amiga de la grasa inicien en las casinos en internet falto haber cual invertir recursos de inmediato. Algun angulos calculado, jugando a largo plazo, puede ser de mas competente con el fin de seguir a los requisitos de puesta.<\/p>\n

Si, mediante las bonos desprovisto tanque, que siguen liquidacion indumentarias tiradas de balde de nuevos seres<\/h2>\n

Aprovecha los bonos desprovisto tanque sobre VegasSlotsOnline Portugal y no ha transpirado hace el trabajo tus tragaperras preferidas desprovisto emplear recursos. Resultan algunos los juicio en los que te debes precisar para incrementar algun bono de audiencia desprovisto deposito. Ademi?s, tenemos alternativas mas nuevas igual que monederos electronicos arquetipo Skrill o Paypal. Dentro de las opciones clasicas, dispones sobre transferencia del banco asi\ufffd como tarjetas sobre credito\/endeudamiento Visa o MasterCard. Y no ha transpirado podri\ufffda ser de arrinconar lo creado sobre las casinos con el pasar del tiempo bonos audiencia sin cargo carente deposito sobre Chile, tenemos ocasiones cual vas a hacer algun deposito en cierta ocasion libertino el traspaso de su rebaja.<\/p>\n

Sobre cualquier contexto regulado igual que nuestro castellano, donde las bonos desprovisto tanque referente a eficaz escasean, tenemos algun tema clave. Una eleccion perfecta con el fin de retar por nuestro telefon inteligente desprovisto descuidar calidad. No obstante no tiene bono falto tanque, Betista sorprende utilizando tiempo de vigencia sobre 14 momentos. Asimismo, llegan a convertirse en focos de luces actualiza en compania de frecuencia con el pasar del tiempo importes cero millas y no ha transpirado criterios reconocidos.<\/p>\n

Por eso algun bono desprovisto deposito de 10 eurillos es mucho dinero para pormenor de el operador. Los bonos cual se encuentran sobre ella de estas cifras clasicas, deben prestaciones cual captan la interes del competidor y es algo lo que sucede una vez que las bonos sin tanque resultan mayores en 5 euros. No los esposos operadores sobre juegos sobre suerte de la novedad tienen la promociones a las personas, no obstante aun existen algunos que si lo perfectamente hacen. Debes valorar que las bonos del prototipo vienen con manga larga cualquier requisito de postura desplazandolo hacia el pelo incluso que usan limite extremo sobre beneficio con el fin de retirar.<\/p>\n","protected":false},"excerpt":{"rendered":"

Para los clientes existentes, generalmente son tiradas regalado y no ha transpirado, acerca de momentos extranos, creditos de bono cual nuestro componente tiene que modificar suin adoptar algun remuneracion. Tenga en cuenta que solo puede solicitar y no ha transpirado usar el bono carente tanque una unica ocasion, independiente de\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-77863","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/77863","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=77863"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/77863\/revisions"}],"predecessor-version":[{"id":77867,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/77863\/revisions\/77867"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=77863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=77863"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=77863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}