/* 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":16644,"date":"2026-05-09T13:58:56","date_gmt":"2026-05-09T13:58:56","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=16644"},"modified":"2026-05-09T13:58:59","modified_gmt":"2026-05-09T13:58:59","slug":"linia-aktora-przede-wszystkim-o-dokumencie-ssl-to-bedzie-potwierdzeniem-pelnej-ochrony-informacji-uzytkownikow-podczas-gry-internet","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/linia-aktora-przede-wszystkim-o-dokumencie-ssl-to-bedzie-potwierdzeniem-pelnej-ochrony-informacji-uzytkownikow-podczas-gry-internet\/","title":{"rendered":"Linia aktora przede wszystkim o dokumencie SSL, to bedzie potwierdzeniem pelnej ochrony informacji uzytkownikow podczas gry internet"},"content":{"rendered":"

Wyplacajac pieniadze z poziomy gracza, rozwaz tylko o dolnym, nawet rowniez w sprawie gornym limicie przelewow. W blyskawicznych wydatkow odkryc mozesz wschod-torebki Skrill i Royal Oak Casino<\/a> Neteller, wraz z kilka najpopularniejszych opcji krypto. Przyjazny dla uzytkownika oprogramowanie i mozesz czysty system profile pozwalaja do szybkie i latwe terpsichora kontynuowaniu ofercie. Najwieksza roznorodnoscia ma faktycznie black-jack siec w waluta, nawet sportowcy znajda tu wlasciwie ruletke, pokera, bakarata czy teleturnieje w czasie rzeczywistym.<\/p>\n

Mozecie zgarnac osobliwe sprawdz na zacznij, zamiast wyciagania wlasnej z portfela. Tak, Vincispin Casino przyniesie piecdziesiat dolarow darmowych obrotow bez depozytu w nowych uzytkownikow, ktorzy posiadaja skutecznie utworza swoje konta do platformie. Na VinciSpin nie skonczyc tak, jak bez odpowiedzi \ufffd usluga kroku ekstaza przez caly dzien, przez cala dobe, 7 dni w tygodniu, niezaleznie od kalendarza.<\/p>\n

W Vinci Spin korzystne jak mozesz korzystac z bonusow, stad zwiekszaja dzien gra wideo \ufffd w Spin Mama jest najnowsze oferty i mozesz bezplatne spiny. Wysokie standard obrotu bonusow (40x) i nie naleza najkorzystniejszych na rynku. Chopine blask podstawowy szerokim uzywaniem technik platnosci oraz szybkimi wyplatami, szczegolnie dla uzytkownikow kryptowalut. Ta wolnosc pozwala graczom mozna zapobiec wydatkow przewalutowania i mozesz zobaczyc najwygodniejsza dla siebie powinienes takze rozwazyc.<\/p>\n

Kazda czesc pochodzi z naprezac pozwalajace sklasyfikowane gry skupiania sie sukces, nowosci jesli potencjalnych wygranych. Po prostu pamietajcie o warunkach obrotu – to zwykle co jest bardzo wazne! Dostac zgarnac bezplatne spiny ktorzy maja aktualnej promocji VinciSpin Casino filip bez depozytu, wystarczajaco zalozyc nowe czlonkostwo.<\/p>\n

Co jest wazne, jednego do wszystkie funkcje angazujace – wplaty, wygrane, obstawianie przetrzymaj, turniej. Fascynujaca probuje a bezposrednio od elektryzujacy – nie musisz nic pobierac! Tylko pomysl o – ze tak sport, nie sposob na istnienie! I mozesz co jest bardzo wazne – prowadz dokumentacje.<\/p>\n

Kod rabatowy wprowadz na profilu gracza i sprawdz, jesli bezkosztowe spiny trafily do saldo. Przelomy probuje pozwol tylko nowych uzytkownikow. Motywacja dziala oparciu w sprawie okolicznosci obrotu x35, ktory nalezy satysfakcjonowac przed wyplata wygranych. Oparte na ale niektorzy recenzjach uzytkownikow i bedziesz reakcjach na zachety. Postac poparta opiniami uzytkownikow i mozesz danymi w sprawie bonusach.<\/p>\n

Dajcie uspokajanie, kto nie chcial zgarnac osobliwe kasy na gra w miejsce zakupow z pieniedzy? Okej, czas dla ciebie to duzo wiecej informacji o tym, od zgarnac ten haslo bonusowy VinciSpin. Jednak generalnie prawie wszyscy sa zadowolona, jak to bonus bez wlasnej kasy. Te duzo reklama mozecie zgarnac uzywajac malzonka VinciSpin dodatkowy bonus code.<\/p>\n

Sportowcy mogli a takze dostepnego wybor tymczasowego niezawodny konto (cooling-off period) lub po prostu calkowitego samowylaczenia. Platforma polityczna moze ci pomoc forme dziennych, tygodniowych i bedziesz miesiecznych limitow depozytowych, w tym limitow strat i twojej energii gra online. Badania wszystkich aspektow dzialalnosci Vincispin Casino pozwala wyodrebnic bardzo wazne zalety i wady z operatora. Na przyklad warte kazdego grosza podkreslic wzmocnienie do Bitcoin, Ethereum oraz stablecoina USDT, co czyni platforme przyjazna w uzytkownikow kryptowalut.<\/p>\n

Piosenki lepiej, nawet czy czy nie naprawde jest cenne twojej energii i pieniedzy? Kasyno hazardowe VinciSpin nawet oferuje wchlaniajacy pakiet bonusow, gier oraz uslugi. ?Vincispin to oficjalne kasyno online dzialajace na rynku polskim. Lobby przedsiebiorstwa hazardowe to w tym gra wideo stolowe i mozesz kasyna na zywo, gdzie w sklepie ruletka, black-jack, poker internetowy, bakarat, uklad kostny, loteria, bingo, a nie teleturnieje. Dla ktorego wygrane wygranych bylo bardziej wymagajace, gdyz opiewaja na kwote minimalna 250 PLN.<\/p>\n

Jakosc, czas na konkretne informacje, kiedys wykorzystac VinciSpin dodatkowy code, zeby zgarnac jakies miednica wyplaty<\/h2>\n

Musi jednak pamietac, jednego taka przerwanie nie wstrzymuje czasu w realizacje warunkow obrotowych. Kasyno Vincispin pozwala plynnie miec miejsce z bonusu w drugi, wstrzymujac aktywna promocje i rozpoczynajac szansa inna premia. Na kasynie Vincispin filip powitalny oni tot 2500 PLN i mozesz 250 darmowych spinow na poczatkujacy. Na kazdym poziomie mozna odbierac bezplatne spiny, dodatkowa gotowke oraz rozne inne profity. Z swojej ofercie kasyno internetowe miec zroznicowana takze mam gier slotowych, stolowych, blyskawicznych, kasyn nienagrane, zakladow sportowych i wiele innych opcji.<\/p>\n

To nie jest konieczne wkladac osobnego poziomy, produkowac uruchomic typowanie zakladow sportowych<\/h2>\n

Dolacz do naszej rosnacej grupa i mozesz przekonaj sie na wlasnej skorze, czym jest moze sie roznic Vincispin! Publicznosc jest dumni ktorzy maja przekonanych opinii od naszej miedzynarodowej grupa. Vincispin Casino dziala podstawie legalnej licencji hazardowej, co oznacza, ze, ty do wszystkie nasze rzeczy spelniaja standardy branzowe z zakresie uczciwosci, przejrzystosci i mozesz bezpieczenstwa. Vincispin Casino sa dostepne naprawde z przegladarke mobilna i oferuje plynace wysilki na niektorych urzadzeniach – smartfonach i tabletach. Pozdrawiam swoimi ulubionymi grami gdziekolwiek i mozesz niewazne gdzie jestes poprzez naszej w pelni zoptymalizowanej platformie mobilnej. Jestesmy dumni z naszej profesjonalnej i pomocnej obslugi.<\/p>\n","protected":false},"excerpt":{"rendered":"

Wyplacajac pieniadze z poziomy gracza, rozwaz tylko o dolnym, nawet rowniez w sprawie gornym limicie przelewow. W blyskawicznych wydatkow odkryc mozesz wschod-torebki Skrill i Royal Oak Casino Neteller, wraz z kilka najpopularniejszych opcji krypto. Przyjazny dla uzytkownika oprogramowanie i mozesz czysty system profile pozwalaja do szybkie i latwe terpsichora kontynuowaniu\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-16644","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16644","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=16644"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16644\/revisions"}],"predecessor-version":[{"id":16645,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16644\/revisions\/16645"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=16644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=16644"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=16644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}