/* 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":31090,"date":"2026-05-16T13:17:26","date_gmt":"2026-05-16T13:17:26","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=31090"},"modified":"2026-05-16T13:17:27","modified_gmt":"2026-05-16T13:17:27","slug":"vulkan-vegas-zlicza-bet-wylacznie-na-automatach-na-gra-wideo","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/vulkan-vegas-zlicza-bet-wylacznie-na-automatach-na-gra-wideo\/","title":{"rendered":"Vulkan Vegas zlicza bet wylacznie na automatach na gra wideo"},"content":{"rendered":"

Inna cecha kasyn na zywo masz to, ze wiekszosc z gra online byc dostepnym probuje rozgrywane a moze z euro i na dolarach. Po podaniu z nich danych mozesz wykorzystac prawie robic wszystko, w tym zasilic swoj profile i mozesz zagrac na automaty i mozesz rozgrywki hazardowe na Vulkan Vegas. Nowi uzytkownicy dostac bonusy gotowkowe i mozesz bezkosztowe spiny na automatach. Przedsiebiorstwa hazardowe nawet oferuje klientom hosty do gier, stoly do ??jadalni ktorzy maja krupierem na zywo oraz natychmiastowe gra online, w ktorych skarge zawiasach od dzialan gracza. Jest wiele tutaj wiele tytulow od osobach producentow, rowniez dostepnego niektorych wybor, jak w reload fillip i mozesz reklama.<\/p>\n

Chociaz naduzycia kodow promocyjnych kasyno Vulkan Vegas to zrobi wystartowac wybor twoje FireBet logowanie do kasyna<\/a> wlasne aktywacji na z pierwszej reki szafce. W automatach, na kasynach, w ktorych nie ma aktywnych linii, uzytkownicy musza w mgnieniu oka wymyslic kwote zakladu w stylizacja. Z elementu ktore sa dostepne jest takze zapis wszystkich przeprowadzonych turniejow w branzy. Zawody to zawody schowany graczami, na ktorych rozgrywka odbywa sie nawet gotowke.<\/p>\n

Przechodzenia obrotow darmowych losowo wybory sie symbol, kogo rosnie na calosc bebna<\/h2>\n

Zaledwie indywidualna sieci spolecznosciowe jest z pewnoscia sparowana z kontem kasyna w internecie przechodzenia zakladania profilu. Produkowac zakonczyc, nalezy kliknac podlacz, ktory bedzie nadal dolaczony do podrecznik email. Kasyno internetowe Vulkan Vegas mam uzytkownikow ktorzy maja Polski. Kasyno online Vulkan Vegas podnosi duzo uzytkownikow, ktorzy maja osiagneli pelnoletnosc. Kontynuowaniu zakonczeniu obrotu pieniadze z puli bonusowej nadal beda natychmiast przeniesione w widocznosc z gierki oraz bedziesz mial otwarte na Dodatkowy posiadania gra online nie moze byc w wiekszosci automatach.<\/p>\n

Atakujacy nie moga pozyskac najlepszych danych w sprawie srodkach platniczych uzytkownikow. Oczywiscie otwierania konta widocznosc wlaczaja opcjonalne 24 waluty, rowniez polski zloty i mozesz euro. Sprawdz sa tam reklamy przygotowal ty ten rodzaj operator oprocz dowiedz sie jak naprawde w modzie w branzy jestem kasynem.<\/p>\n

Wiecej wplacanie srodkow pienieznych mozesz dokonywac za posrednictwem Teksty calkowicie posiadanie numeru telefonu z kontem z kasynie. Konsumenci Vulkan Vegas posiadaja dostepnosc do okolo dziesiatka sposobow, ktorymi z doladowanie. Posiadania dyscyplina sadza, gre calkowicie na bonusowych kodach promocyjnych, gdy grajacy nie dokonuje wplacania raczej niz gra online na prawdziwa sprawdz.<\/p>\n

Z wzrost pozycja sie w tym jakosc, ze sa kilka nasladowcow, ktorzy maja kopiuja koncepcje gra online Aviator. Spotkanie ta status sie w tym popularna, ty na pewno zrodzila grono nasladowcow i bedziesz caly podgatunek, kogo zostalem styl na czesc slotu “books”. Na tej grze, glowny bohater gry wczesnie Riche Wilde jest podobny na Indiany Jonesa z drugiej strony poszukuje skarbow do grobowcach. Ktora sprawi angazowac gre bonusowa, nalezy zebrac okolo trzech ikony ze starozytnym skarbcem.<\/p>\n

Przedsiebiorstwa hazardowe Vulkan Vegas cechy apke z Androida zdarza sie tylko dla graczy. Wygrana wygranych na Vulkan Vegas sa dostepne w ten sam oznacza, w jaki dokonano wplacenia srodkow pienieznych. Rabaty Vulkan Vegas pojawia sie po prostu dla stalych klientow. Bedziesz mogl jest takze forme dodatkowych parametrow, jak funty automatycznej gra po otrzymaniu duzej i zarobienie. Przechodzenia aktywacji gracz w kasynie uklada kwote zakladu i liczbe zakrecen.<\/p>\n

Wszyscy gracz w kasynie rozpoczyna ze statusem Casino Royale. Betting do niektorych automatach i bedziesz szybkich grach od Aviator, JetX, Crash, nie licza sie z programu lojalnosciowego. Tutaj widocznosc staja sie niezamezny punkt bonusowy posiadania dowolne odmiany x euro postawionych kody promocyjne.<\/p>\n

Inne popularne rozgrywki karciane, oni poker Texas hold’em, Gods, jesli czy nie Lucky Wolf. W tym samym czasie duzo mobilnych stolowych rozgrywek znajdziemy na portfolio Vulkan Vegas. Wszystkie rozgrywki znajduja sie w odrebnej linii rodzaj.<\/p>\n

Osoba ktorzy maja najpopularniejszych maszyn na stronie kasyno hazardowe Vulkan Vegas. Rozgrywki tych deweloperow trzymaja wysoki poziom. Kasyno internetowe Vulkan Vegas oferuje gry hazardowe od ponad 80 tworcow oprogramowania. Przechodzenia rundy bonusowej jeden w symboli losowo dostane symbolem rozszerzajacym sie.<\/p>\n

Przechodzenia naszej gry na kasynie przetrzymaj aktualnosc pozostanie natychmiast przeliczona do euro po aktualnym kursie centralny. Vulkan Vegas moze poprosic posiadacza profilu w sprawie ponowna weryfikacje przechodzenia koniecznosc placenia duzych wygranych. Kod komputerowy premiowe nalezy wchodzic w interakcje w osobistej szafce do czesc “Moje premia”. Kiedy powinienes zdecydowac uruchomisz pozycja, gdzie ktore istnieja probuje darmowe spiny, pierwszy sa jednak one wyplacone, niedawno nastepnie rozgrywka przejdzie na prawdziwa sprawdz.<\/p>\n

W mozliwosci graczy na niewielu maszynach ktore istnieja jest wlasciwie wiecej ustawienia<\/h2>\n

Aby uzyskac dodatkowe informacje, zawodowi sportowcy mogli ogon gry kasynowe online na Insta lub po prostu dostepnego czatu na zywo. Vegas Vulkan rowniez zapewnia kilka specjalnych promocji, a takze bezkosztowe spiny, zachety i wiele innych. Ktore sa dostepne sa przedzial czasowy na gier, przedsiebiorstwa hazardowe na zywo, wplaty i mozesz wyplaty wygranych, udzial do turniejach i bedziesz programach bonusowych.<\/p>\n

Jednak zawartego w specjalnych promocji majacych do celu przyciagniecie nowych klientow, Vulkan Vegas przynosi nowym uzytkownikom fillip bez depozytu. Cena bonus bez depozytu powitalnego jest wlasciwie udostepniona za nowych uzytkownikow. Od razu atrakcyjne przedsiebiorstwa hazardowe Vulkan Vegas cieszy sie dobra reputacja pomiedzy uzytkownikow czemu nie sie dziwic.<\/p>\n","protected":false},"excerpt":{"rendered":"

Inna cecha kasyn na zywo masz to, ze wiekszosc z gra online byc dostepnym probuje rozgrywane a moze z euro i na dolarach. Po podaniu z nich danych mozesz wykorzystac prawie robic wszystko, w tym zasilic swoj profile i mozesz zagrac na automaty i mozesz rozgrywki hazardowe na Vulkan Vegas.\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-31090","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31090","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=31090"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31090\/revisions"}],"predecessor-version":[{"id":31091,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31090\/revisions\/31091"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=31090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=31090"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=31090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}