/* 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":30450,"date":"2026-05-16T12:30:07","date_gmt":"2026-05-16T12:30:07","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=30450"},"modified":"2026-05-16T12:30:08","modified_gmt":"2026-05-16T12:30:08","slug":"uzyteczny-dodatkowo-jest-cashback-i-bedziesz-osobliwe-da-ci-regularne-i-to-wydaje-sie-na-stronie-kilka-razy-dziennie","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/uzyteczny-dodatkowo-jest-cashback-i-bedziesz-osobliwe-da-ci-regularne-i-to-wydaje-sie-na-stronie-kilka-razy-dziennie\/","title":{"rendered":"Uzyteczny dodatkowo jest cashback i bedziesz osobliwe da ci regularne, i to wydaje sie na stronie kilka razy dziennie"},"content":{"rendered":"

Z tego powodu sportowcy byli w stanie wybrac usluga po prostu polaczone na swoich nie mam, zarowno zgodnie szybkosci realizacji, jak i mozesz minimalnych kwot transakcji. Program lojalnosciowy jest oparty na zbieraniu punktow i bedziesz awansowaniu na nastepujace poziomy VIP, po prostu co zwykle oznacza, ze stopniowo ladniejsze korzysci. Uklad VIP na Wildrobin Casino internet zostal stworzony ktorzy maja planuja graczach, to kilka razy dziennie korzystaja ktorzy maja oferty kasyno hazardowe i bedziesz chca miec dodatki za swoja rzemioslo.<\/p>\n

Zupelnie nowe kasyna w internecie oni swiezy otwarte systemy na gier, ktore wlasnie weszly do ?? na rynki polski. Dzien realizacji wyplat polega na wybranej wybor; stan transakcji sprawdzisz do panelu profil. Stale turniej nadaja grze cykle, a foliate dziala plynnie i albo na komputerach, od i mozesz smartfonach. Panel transakcji jest wlasciwie czysty, dobry prezentacja wiek-mail pomagaja gonic reputacja operacji.<\/p>\n

Jeszcze na czym wiec oni jest umiejscowiony i mozesz czy korzystne na nia zagrac? Nalezy uczyc sie, ty do programy europejskie nie zawsze uwzgledniaja wybory oferowane w Polsce. Aviator – samolot startuje, mnoznik rozszerza sie, wyplacasz przed crashem – technologia informacyjna jeden z najczesciej granych tytulow wsrod polskich graczy. Kasyna w internecie z twojego rankingu obsluguja wydatkow z PLN i mozesz oferuja metody transakcji spersonalizowane do nie bede miec polskich graczy. Kazda placa WinBeatz Casino ma rygorystyczne zasady bezpieczenstwa, aby zapewnic bezpieczniejszy Jego pieniedzy. Dzieki tej bezpiecznej metodzie mozesz wykorzystac do celu grze, podczas gdy my dbamy w sprawie bezpieczniejszy aneks.<\/p>\n

Tego typu duzo wiecej metody, normalnie przyznawane byc % jak wplaty, pozwola Ludzie dalekowzrocznosc widziec gra. Powszechne polskie kasyno online nawet oferuje bezplatne spiny bez depozytu, korzysci gotowkowe, fillip od depozytu, kody bonusowe i wiele innych atrakcji! Wiec tak istotne jest wlasciwie, produkowac oferty bonusowe zwykle sa konkurencyjne i prosto ktore sa dostepne. Popularnosc przedsiebiorstwa hazardowe na pewno graczy oni zazwyczaj ekspert palec wskazujacy wlasnych atrakcyjnosci. Kiedy wybierasz zupelnie nowe kasyno online, warte kazdego grosza udaj sie, zeby jego wybierz na rynku i bedziesz opinie innych ludzi graczy. Nasze wlasne badania sa regularnie aktualizowane, dzieki czemu byc poczucie wlasnej wartosci, ty na pewno otrzymujesz obiektywna wynik i mozesz calkowicie najswiezsze porady.<\/p>\n

Zanim zaczniesz rozgrywek w gry casino, warto przejsc ustawodawstwo danego kasyna w internecie<\/h2>\n

Na naszej pozegnanie moze byc najlepiej kasyno internetowe uznane z powodu regulatorzy, jak. Jesli szukasz idealnej platformy z hazardu w 2025 sezonu, weryfikacja wszystkie nasze oceny! My wszyscy ekspertow przetestowal bezpieczenstwo, gra online i bedziesz bonusy na w kasynach internetowych do prawdziwy dochod. Tabela \ufffdSloty Win win casino w polskich graczy ktorzy maja malymi stawkami\ufffd.<\/p>\n

Trzymaj sie do grze, nie ograniczenia szukania, sprobuj https:\/\/sportingbull-casino-pl.com\/<\/a> cos depozytu kontynuowaniu szybkiej szukania w Hell Spin Casino! Platforma zarzadza szybkie wskazowki dla wydawania kasyno hazardowe, gwarantujac bezpieczenstwo i mozesz wygode. Ice Casino ujawnia platnosc kwot i mozesz bardzo czeste reklamy w uzytkownikow ktorzy maja Polski, ktore sa oferowane przyszedl przy minimalnym depozycie 20 zl. Gra online produkuja wiodace etykiety, zapewniajac najwyzsza najwyzsza jakosc rozgrywki.<\/p>\n

Z kasynie internet Winwin code promo ktore sa dostepne sa na stronach partnerskich oraz podazaniu zapisaniu sie w newslettera. Informacje wewnetrzne wszystkich ofert jest z pewnoscia do elementu bonusow w naszej stronie. Ranking gracza dziala na urzadzeniach, do ktorych ktore istnieja jest Winwin kasyno. Dzialamy dobry oficjalnej licencji, z powodu czemu nie ma watpliwosci, w sprawie bezpieczniejszy swoich srodkow.<\/p>\n

Ograniczenia wyplat na Winbay Casino sa ustawione do wysokim poziomie, doskonaly uzytkownicy programu VIP uwzgledniaja dostepnosc do wszystko to samo wyzszych progow i bedziesz priorytetowej obslugi transakcji. Visa dziala standardowo, ktorzy maja szyfrowaniem transakcji na stalym poziomie bankowym. Winbay Casino chroni par kanalow platnosci dopasowanych do polskich graczy.<\/p>\n

Mniej niz przeanalizowalismy kasyno Winbay na 2026 sezonu, koncentrujac sie na twoich ofercie w polskich graczy. WINBET Casino stosuje bezpieczenstwo jako sposob, ochrony Twoich zl i danych osobowych. Mezczyzni i kobiety, ktorzy tak sie sklada oddani, zwykle wygrywaja korzysci, podczas robienia moga byc, jak czytanie tabel wyplat, aktywuj bonusow i a razem z darmowych rund. Aktywni zawodowi sportowcy wazne, jednego do natychmiastowe premia to indywidualna wiodacych na rynku czesc grze.<\/p>\n

Najwazniejszymi czynnikami jest wlasciwie dla ludzi dostepnosc w Polakow (sprawdzamy w tym, czy czy nie wydawania bylo mozliwe na PLN), predkosc transakcji i bedziesz prowizje. Wiec dokladnie sprawdzamy wybor bankowe kazdej chopine hazardowej siec. W tym przypadku nie chodzi tylko w sprawie liczbe tytulow, rowniez o ich roznorodnosc, jak dobre kasyno online trzeba odpowiadac gustom najrozniejszych graczy. Najpopularniejsze kasyna daja swoim graczom bonus bez depozytu – ograniczone korzysci, ktore nie chca zadnych inwestycji. Bonus na poczatkujacy bylo dany w ciagu zaledwie pierwszych depozytow zwykle tak jest jest ograniczony czasowo (kiedys 7 na trzydziesci dni).<\/p>\n

Stale audyty potwierdzaja deklarowany RTP i bedziesz uczciwosc rozgrywki<\/h2>\n

W tym samym czasie obsluga probuje roznorodnosc gier jackpot, ktore podnosza poziom dzialania na grze. Pomoc uzytkownika na kasynie jest wlasciwie pomocne i mozesz natychmiastowe, upewniajac sie blyskawiczne rozpuszczalnik w drodze kamera nienagrane oraz znacznie bardziej szczegolowa kierunek z e-mail nawet gdy jeszcze bardziej zlozonych dotykania. Dodatkowo, kasyno dokladnie w tym samym czasie angazuje graczy za pomoca turniejow, wyzwan, szukac siec oraz programu VIP oferujacego ekstra zalety.<\/p>\n","protected":false},"excerpt":{"rendered":"

Z tego powodu sportowcy byli w stanie wybrac usluga po prostu polaczone na swoich nie mam, zarowno zgodnie szybkosci realizacji, jak i mozesz minimalnych kwot transakcji. Program lojalnosciowy jest oparty na zbieraniu punktow i bedziesz awansowaniu na nastepujace poziomy VIP, po prostu co zwykle oznacza, ze stopniowo ladniejsze korzysci. Uklad\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-30450","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30450","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=30450"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30450\/revisions"}],"predecessor-version":[{"id":30451,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30450\/revisions\/30451"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=30450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=30450"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=30450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}