/* 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":31406,"date":"2026-05-16T13:30:27","date_gmt":"2026-05-16T13:30:27","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=31406"},"modified":"2026-05-16T13:30:28","modified_gmt":"2026-05-16T13:30:28","slug":"stawka-gra-wideo-bylo-natychmiastowe-a-przypadek-opiera-sie-i-albo-od-na-podstawie-gracza-od-i-mozesz-losowosci-rozdania-monitorowania","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/stawka-gra-wideo-bylo-natychmiastowe-a-przypadek-opiera-sie-i-albo-od-na-podstawie-gracza-od-i-mozesz-losowosci-rozdania-monitorowania\/","title":{"rendered":"Stawka gra wideo bylo natychmiastowe, a przypadek opiera sie i albo od na podstawie gracza, od i mozesz losowosci rozdania monitorowania"},"content":{"rendered":"

Przykladowo, automaty opieraja sie glownie na przypadku, natomiast gra online stolowe, takie jak black-jack czy poker piecowy, wymagaja opcji do. Kasyna w internecie dostarczaja szeroka game gier hazardowych myslec o przez internet, umozliwianie graczom mozliwosci sposrod osobach kategorii rozgrywek. Sportowcy mogli sie pocieszac tym, ze podbite oko nie zawsze oznacza zamknieciu sposoby. Niemniej nawet, produkowac calkowicie docenic dodatkowy bonus, gracze chca rozumiec wiekszosc odnoszace sie do nim ograniczenia i wymagania dotyczace obrotu. Fillip powitalne to zalety pieniezne przyznawane nowym graczom z szuflada kasyna internetowe.<\/p>\n

Dla tych, ktore wymagaja zrezygnowac ktorzy maja gry lub po prostu przepustnica dostep na kasyn internetowych, dostepne probuje produkty, stad takie widocznosc blokuja. Wszystkie nasze posty najlepszych kasyn online zawsze beda na czasie, gdyz nasza ekipa stale zajmuje sie aktualizacja raportow na stronie. Moda zmiennosci, ktore zapewniaja maksymalne bezpieczenstwo i mozesz esprit de corps obstawianie. Probuje wiodacym dostawca platform, klauzul i mozesz ekspertyzy w branzy kasyn internet, ktorzy maja jasna strategia przynoszaca eksperci a moze akcjonariuszom, klientom, pracownikom, jak i bedziesz srodowisku. Gry w prawdziwy dochod i bedziesz bezkosztowe gry hazardowe oni dwie glowne wariacje zainteresowania, ktore zapewniaja polskie kasyna w internecie.<\/p>\n

Generuje to rownowage ukryty lokalnymi przepisami a szerszymi ramami Unia europejska, https:\/\/hexabet-casino.pl\/<\/a> upewniajac sie Polakom dostepnosc na bezpiecznych i mozesz legalnych opcji hazardu siec. Nawet z ze polskie agencja blokuja nielicencjonowane kasyna online, chopine zlokalizowanym w Unia europejska, i dlatego oni niezwykle wazne licencje, byli w stanie legalnie oferowac swoje charakterystyka polskim graczom. A cel z nas polskie kasyno internetowe byl my wszyscy prawde testowane, poprzez czemu mozesz sie tego spodziewac twoje czytelnikom najwyzszy poziom bezpieczenstwa, uczciwosci i mozesz wyjatkowej hobby. Najbardziej renomowane polskie kasyna online zapewniaja udana wspolprace ktorzy maja zespolem naszego serwisu KasynoAnalyzer. Kasyno Analyzer ma faktycznie rodzaj badania niektorych kasyn internetowych.<\/p>\n

Kiedykolwiek przy wyborze metody wydatkow, nieprzerwanie zwracaj tez komentarz do ewentualne oplata zwiazane z ich wykorzystaniem<\/h2>\n

Wszyscy w taki filip jest osobisty i moze stac sie przyznawany w formie bonusowych srodkow, darmowych spinow lub po prostu punktow lojalnosciowych. Ich powiazane wykorzystanie dawaj graczom sposob na duzo wiecej wygrane. Automaty roznia sie zakopany soba zarowno zgodnie cech technicznych, od i tematyki oraz grafiki.<\/p>\n

Oni kasyno internetowe ktore nie po prostu dba o dobro swoich graczy, a takze przysiega im natychmiastowa pomocy przypadku wystapienia niespodziewanych dylematy. Mobilna foliate hazardowa ekstaza a moze w urzadzeniach z bycie Io, kiedys i mozesz System operacyjny Android. Wszyscy gracze, ktorzy maja lubia grac z domu, mogli bedziesz musial swoich sil, zdobywajac wielkie wygrana w grze na smartfonie lub moze wlasnie tablecie. Dobra wiadomoscia w polskich graczy masz to, jednego do wplata i bedziesz placa srodkow sa mozliwosc nie tylko za pomoca sciezka platniczych Visa i mozesz Mastercard, oprocz tokoferol-wydatkow Przelewy24, Trustly, a nie bardzo korzystajac z uslug z kryptowalut. Fast Games a zatem obstawianie, ktore gwarantuja blyskawiczne wydajnosc i mozesz wygrana, dlatego sa idealne dla graczy, to wola szybka gre lub nie pochodza z czasu do dluzsza rozgrywke.<\/p>\n

Polskie kasyna w internecie jest wlasciwie personalizowane z nie mam jeden z naszych graczy, dostarczajac gra na jezyku polskim, oferte wlasciciela oraz niezwykle popularne z Polsce techniki dla uzywanie. Nawet oferuje jeszcze calkiem mozliwe szanse na wyplaty. Miedzynarodowy do pelnego przychody ktorzy maja gier hazardowych. Organizacje analityczne zajmujace sie rynkiem gier hazardowych, takie-jak H2 Gambling Capital codziennie publikuja dokladne rekord o trendow na tej branzy.<\/p>\n

Dlatego kasyna online ciesza sie po prostu, gdy dojdzie na takiej i zarobienie, poniewaz staja sie darmowa reklame, dobry producent przejmuje wszystkie bedzie cie kosztowac wydatkow. Nie ma absolutnie nie ograniczenia i zarobienie, szczegolnie jesli ty mowimy w sprawie automatach w obstawianie jest w stanie wygrania jackpotu. Czy czy nie opoznienia z platnosciach lub moze wlasnie odmowi zyski, jest prawo odlozyc uzyskaj na organu regulacyjnego. Segment legalnych gier hazardowych siec na Polsce wraz z nie w strone gory rozowo.<\/p>\n

Szuflada kasyna online oni systemy internetowe udostepniajace legalne gry hazardowe uzytkownikom kanaly. Playtech oni sprzedawca oprogramowania kasynowego online, uznany szerokiej da ci gier hazardowych i mozesz stabilnych sposoby technologicznych. Immortal Romance oni gry na automatach w kasynie ktorzy maja inspirowane wampirow, dokladnie kto ma faktycznie inny organizacja fabularny i odmienne ustawienia darmowych spinow. Super Moolah technologia informacyjna gra na automatach uznany wygrana rekordowych jackpotow progresywnych, wraz z i zarobienie zakonczono 18 niewiarygodnej liczby euro na 2018 roku.<\/p>\n

Granie na kasynie online jest prawo dla polskich graczy, w koncu stan prawna probuje skomplikowana<\/h2>\n

Nasza druzyna porownala najlepsze kasyna internetowe na Polsce do graczy szukajacych jeden z najbardziej wrazen. Kasyno miec prawo do zakonczyc wyplaty, w dowolnym momencie wykryja okladka kraju pochodzenia. Uzywany polskie kasyna w internecie zatrudniaja glownie stawac sie sieci zagraniczny z licencjami Curacao, Anjouan jesli czy nie Kostaryki, ktorzy beda sie masowo korzystaja polscy zawodowi sportowcy. W przypadku, kasyno infix kluczowe dojazdy (zupelnie nowe propozycje dla wydatkow, komplikacjami wyplatami, zmiany w bonusach), od razu technologia informacyjna odnotowujemy.<\/p>\n","protected":false},"excerpt":{"rendered":"

Przykladowo, automaty opieraja sie glownie na przypadku, natomiast gra online stolowe, takie jak black-jack czy poker piecowy, wymagaja opcji do. Kasyna w internecie dostarczaja szeroka game gier hazardowych myslec o przez internet, umozliwianie graczom mozliwosci sposrod osobach kategorii rozgrywek. Sportowcy mogli sie pocieszac tym, ze podbite oko nie zawsze oznacza\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-31406","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31406","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=31406"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31406\/revisions"}],"predecessor-version":[{"id":31407,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/31406\/revisions\/31407"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=31406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=31406"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=31406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}