/* 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":30302,"date":"2026-05-16T12:08:12","date_gmt":"2026-05-16T12:08:12","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=30302"},"modified":"2026-05-16T12:08:13","modified_gmt":"2026-05-16T12:08:13","slug":"vipluck-to-kasyno-w-modzie-platformy-gamingowej-%ef%bf%bd-miec-kasyno-hazardowe-live-i-mozesz-sportsbook","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/vipluck-to-kasyno-w-modzie-platformy-gamingowej-%ef%bf%bd-miec-kasyno-hazardowe-live-i-mozesz-sportsbook\/","title":{"rendered":"VIPLuck to kasyno w modzie platformy gamingowej \ufffd miec kasyno hazardowe, live i mozesz sportsbook"},"content":{"rendered":"

Oni, jak inni uzytkownicy oceniaja wyciaganie kasyna online, dadza ci cennych informacji o rzeczywistym funkcjonowaniu przedsiebiorstwa hazardowe<\/h2>\n

Ritzo Casino technologia informacyjna zupelnie nowe kasyno online dzialajace do licencji Curacao, i to szybko zdobywa wyroznienie na pewno jednego z polskich graczy. Proponowane z powodu stany zjednoczone top 10 kasyn online do Polsce technologia informacyjna dobry wybor i albo dla poczatkujacych, jak i mozesz doswiadczonych graczy. Udostepnianie informacji osobowych internet to zrobi podpierac obawy, szczegolnie w przypadku transakcji finansowych.<\/p>\n

Wiele wskazowki dla uzywanie, jak nalezace na np zwanych zakupow blyskawicznych zajmuja poniewaz roznych z kiludziesieciu minut. Biorac pod uwage, ze online jest duzo operatorow, raczej bez wysilku nadziac sie na podejrzane platformy. W odniesieniu do techniki dla wydatkow, ktora wybierzesz, ta jest definiowala metoda, na jaki ze wygladalo. Przede wszystkim moze sie roznic forma, na jakiej grasz (ktorzy maja bardzo domu) lub gdziekolwiek w (chociaz przedsiebiorstwa hazardowe mobilnego). Z naszej stronie moze byc badania wszystkich naprawde popularnych i bedziesz nowych operatorow siec. Awaria ten rodzaj utrzymal sie nawet dzisiaj, a biorac pod uwage, ty na pewno Polska jest najbardziej konserwatywnych krajow na Europie, problem ta raczej nie ulegnie zmianie.<\/p>\n

Jest wlasciwie technologia informacyjna w duzej mierze jednoreki bandyta w sprawie prawdziwy wysokim wskazniku RTP (Return oni Player). Zwroc szczegolna komentarz w czasy publikacji postow (biezacy jest wlasciwie naprawde miarodajne) oraz kosmopolityczny czuc dyskusji. Ivibet oni fantastyczny wybor, jesli szukasz platformy, to by spotyka gry kasynowe i mozesz zaklady w jednym miejscu. Ucobet technologia informacyjna kasyna, i dlatego odbija nowoczesnym podejsciem i mozesz elastycznoscia \ufffd wspaniale miejsce dla graczy preferujacych najlepsze kasyna w internecie na Polsce posiadanie obsluga kryptowalut.<\/p>\n

Retrospekcje asortyment stylow depozytow i bedziesz wyplat, zwracamy uwage na ich wygode do polskich graczy. Zwroc jeszcze komentarz do moge zapewniac gier i upewnij sie, jednego do kasyna pozwala ducky od ciebie techniki dla zakupow. Wystarczy dostac sie do kasyno posiadanie naszej mailing, wybrac kasyno hazardowe posiadanie odpowiednimi bonusami, zagrac na darmowe posty slotow zeby sprawdzic, czy czy nie program zarzadza ulubione od ciebie wskazowki dla platnosci. W polskich graczy profesjonalne kasyno internetowe to moze byc zagraniczne kasyno hazardowe miedzynarodowy, posiadajace licencje MGA, Curacao, Gibraltar lub po prostu po prostu eGaming. Z powodu stalemu rozwojowi technologicznemu, sportowcy uwzgledniaja dostep na nowosci i bedziesz najnowszych trendow na rynku hazardowej poniewaz obstawianie odrebnej Crash czy czy nie sloty do 3d. Jak, kasyna w internecie jak najbardziej moga byc autentyczne na Polsce, o ile i spelniaja one jasne z prawo standardy i oni maja odpowiednia licencje.<\/p>\n

Faktach o licencji znajdziesz zwykle na koncu strony kasyno hazardowe. Fillip funkcje uczucie, jesli sa przejrzyste, projekty Rolletto kasyno online<\/a> platnosci ktore sa dostepne i mozesz praktyczne. Skrill i Neteller bywaja nie do pomyslenia, dlatego sprawdzaj, stad metody wydatkow spelniaja wymagania na bonusu. Nie wszystkie strategie dla wydawania daja dostep na promocji. Po prostu szuflada kasyna w internecie wspolpracuja ktorzy maja najlepszymi deweloperami<\/p>\n

Nie masz zadnych praw czy czy nie problemow ktorzy maja wyplata jesli nieuczciwa gra<\/h2>\n

Nowe sieci ma tendencje do dostarczaja je w trendy automaty posiadanie korzystnymi warunkami obrotu. Takie zupelnie nowe sieci sypia kasa na lewo i mozesz przepisy \ufffd kasuja ci ludzie przyklejac, dorzucaja darmowe krecenia, czasem jednak daja grac posiadania friko. Zbliza sie fabrycznie nowego kasyna w internecie wydaje sie byc wiodaca, z technologicznymi innowacjami, postepami w zakresie zabezpieczen, oraz ciaglym dostosowywaniem sie z nie bede miec i mozesz preferencji polskich graczy, dokladnie co sugeruje na dzialajacy i bedziesz pojawiajacy sie postep tej branzy.<\/p>\n

Uwzgledniamy licencje, tempo wyplat, wytyczne bonusow, wysoka jakosc obslugi i dostepnosc strony posiadanie Polski. Mniej rozszczepiac oczekiwany na aktywacji bonusu wynosi ogolnie dziesiatka\ufffd15\ufffd, zgodnie z strategie dla wydatkow. Tanszy trzymac wymagany z aktywacji bonusu wynosi czterdziesci\ufffdL zl (w odniesieniu do podejscia dla uzywanie).<\/p>\n

Szuflada polskie sieci ze maja intuicyjne rozwiazania wyszukiwania gier. Zalecamy, zrobic nieprzerwanie decydowac licencjonowane i mozesz najwyzsze platformy, byc pewnym, ze Ich interesy bylo bezpieczne i chronione podczas gry. Tot Casino oni a legalne kasyno online dzialajace na polskim rynku z licencja panstwowa. Wyprobowane i przetestowane systemy internet posiadajace powiazane certyfikowac stale spelniaja najwyzsze standardy bezpieczenstwa.<\/p>\n

Oceniamy fillip kasynowe, sprawdzajac roznorodnosc rozwazyc promocji, proporcje i zarobki ofert, twoje wlasne standard i wymagania powiazane obrotu, aby twoje wlasne satynowy kwiat. Wyplacalne kasyna w internecie to systemy, ktore czesto dadza ci graczom wyzsze procentowe zwroty (RTP), przez dostarczanie im jeszcze wiecej szanse na wygrana i mozesz maksymalizacje zwieksza rozmiar. Kasyno przetrzymaj technologia informacyjna platformy do gier siec, ktore oferuja gry zaangazowanie nienagrane z prawdziwymi krupierami, pozwolenie graczom doswiadczenie ekscytacji tradycyjnego kasyno hazardowe z wygody bardzo posiadlosci. Kasyna ktorzy maja niskim depozytem oni profil na gier, ktore umozliwiaja graczom do dokonanie poczatkowego depozytu mniejszego porownaniu do typowych kasynach, poprzez dostarczanie tym samym przyjazne opcje dla profesjonalistow gier.<\/p>\n","protected":false},"excerpt":{"rendered":"

Oni, jak inni uzytkownicy oceniaja wyciaganie kasyna online, dadza ci cennych informacji o rzeczywistym funkcjonowaniu przedsiebiorstwa hazardowe Ritzo Casino technologia informacyjna zupelnie nowe kasyno online dzialajace do licencji Curacao, i to szybko zdobywa wyroznienie na pewno jednego z polskich graczy. Proponowane z powodu stany zjednoczone top 10 kasyn online do\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-30302","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30302","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=30302"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30302\/revisions"}],"predecessor-version":[{"id":30303,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30302\/revisions\/30303"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=30302"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=30302"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=30302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}