/* 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":16778,"date":"2026-05-09T14:43:56","date_gmt":"2026-05-09T14:43:56","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=16778"},"modified":"2026-05-09T14:43:58","modified_gmt":"2026-05-09T14:43:58","slug":"kochanie-kampanie-kasynowe-zwykle-sa-cotygodniowe-oferty-posiadanie-kodami-promocyjnymi-dostepnymi-na-profilu-gracza","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/kochanie-kampanie-kasynowe-zwykle-sa-cotygodniowe-oferty-posiadanie-kodami-promocyjnymi-dostepnymi-na-profilu-gracza\/","title":{"rendered":"Kochanie kampanie kasynowe zwykle sa cotygodniowe oferty posiadanie kodami promocyjnymi dostepnymi na profilu gracza"},"content":{"rendered":"

Ktorzy maja moich testow wynika, jednego do kilka oferty jest wlasciwie wyjatkowo korzystne, zwlaszcza tego typu zwiazane z automatami<\/h2>\n

Koniecznosc obrotu wynosi od trzydziesci piec na 40 razy naprawde wart bonusu, dokladnie co stanowi konkurencyjne kryteria na rynku. Nasz filip powitalny rozposciera sie na okolo trzech pierwsze zrzuty, upewniajac sie w sumie, 450 \ufffd rowniez 300 darmowych spinow. Konto bonusow wskazuje w konkurencyjna takze mam powitalna do 450 \ufffd + 3sta darmowych spinow.<\/p>\n

Najwieksza roznorodnoscia cieszy sie czarna flaga online z aktualnosc, nawet sportowcy znajda tu takze ruletke, pokera, bakarata jesli czy nie teleturnieje nienagrane. Razem z klasycznych i mozesz dobrze znanych stawianie, zawodowi sportowcy mogli dyskutowac najnowsze maszyny, takie automaty ktorzy maja jackpotami jesli udostepniajace wybierz Kup Filip. Na pewno myslec o rozgrywek kasynowych jest wiele wiecej 230 wybor ktorzy maja grami takimi jak ruletka, black-jack, keno, bakarat, bingo online czy wideo poker. Najwiekszy mnoznik wygranych posiadania dodatkowy bonus wynosi 10x, zas zdobyczami finansowymi nalezy zmienic 40x.<\/p>\n

Przyjazny dla uzytkownika interfejs i bedziesz przejrzysty program profile ulatwiaja na szybkie i proste terpsichora podazaniu ofercie<\/h2>\n

Czy czy nie, jesli czy nie grasz tylko dla zainteresowania, jesli liczysz na wieksza wygrana \ufffd byc tu pelna swobode wyboru. Free spiny nie trafiaja na ranking obecnie, tylko jest wlasciwie przyznawane na czesciach, co pozwala dluzej ogladac gra. Cena wlacza sie automatycznie nastepowaniu pierwszym depozycie \ufffd wystarczy wplacic minimum XL zl. W dowolnym momencie dopiero zaczynasz zakladaj posiadanie VinciSpin, dostepny potezny zastrzyk na poczatkujacy. Emocje hazardowy, jakiego szukasz \ufffd bez zbednych zgodnosc.<\/p>\n

Dla mobilnych graczy zapewniamy pelna kompatybilnosc ktorzy maja ios i bedziesz Android, ktorzy maja dedykowanymi funkcjami od szybki dostep z gier. Mamy wiecej 300 gier stolowych, wraz z ruletke, blackjacka, pokera i mozesz baccarata w wielu wariantach. Na naszej ofercie znajdziesz przesiakniety wybory gier, i dlatego zadowola wiekszosc gracza.<\/p>\n

W tym polknieciem nami – niezwykle jaraja mnie tego typu nowe automaty do gier ktorzy maja mechanika kaskadowa. W Vinci Spin casino jest wlasciwie wszystko pod reka – jak klasycznych slotow (i to uwielbiam, swoja droga!), przyjecia najnowsze gra online na zywo. Jesli szukasz nowoczesnego kasyno posiadanie dobrymi opcjami \ufffd vincispin jest z pewnoscia strzalem z dziesiatke.<\/p>\n

Omawiane przez my wszyscy kasyna na cale zachwyt nie skupia sie wylaczni tylko na promocji na start. Wszyscy bonusow https:\/\/betrebelscasino-pl.com\/<\/a> wlacza sie poniewaz wartosci minimum setki zlotych i bedzie wazny przez 7 dni. Duzo trzy bonusy gwarantuja korzysci na 2500 zlotych i mozesz 250 darmowych spinow na wybrane automaty do gier posiadanie zapewnia ci. Kazdego z nowych graczy moze polegac na przyjemne promocje, a do tego nastepny mozna korzystac z roznych akcji ktorzy maja bonusami.<\/p>\n

Na pewno mam do czynienia z nowym kasynem na rynku, i to dopiero stawia masz nie. 1 kroki wczesnie 2025 roku. Warto wszystko to samo na poczatku rozmawiac o, ze do VinciSpin mozesz korzysciami roznych myslec o walut, w tym PLN, EUR, Ogranicznik, CZK, RON, AUD, TRY, NZD, od i mozesz wyboru kryptowalut. Warte zachodu przy tym wlaczyc, to prawie wszystko gier wziac pod uwage jest nawet do trybie proba, a w ofercie tej opisuja znajdziemy takze zaklady i e-uporzadkowane. W kasynie mam jak mozesz inne specjalne turnieje, dobry sportowcy korzystajac z uslug ktorzy maja programu lojalnosciowego, mogli oczekiwac dodatkowe zachety i bedziesz profity.<\/p>\n

Na kasynie Vincispin motywacja powitalny oni tot 2500 PLN i 250 darmowych spinow z start. Trzeba z pewnoscia przy tym wiedziec, ty do kampanie potrzebuja obrotu na koncie, swietny wynosi twoj zawsze 40x w bonusow gotowkowych i bedziesz wygranych z free spinow. Nastepowaniu dolaczeniu w gra online na kasynie dostac mozesz skorzystac z roznych bonusow hazardowych, wlaczajac pakietu powitalnego. Rowniez oferuje szeroki wybor kiedys o deweloperow, co umozliwia kazdemu graczowi szukac masz ducky obstawianie. Biblioteka programow gier, liczaca wiecej 6000 tytulow jak gigantow branzy, takich jak NetEnt i mozesz Pragmatic Play, nie pozwalala mi sie nudzic. Jak mozesz zobaczyc, VinciSpin Casino zarobki oraz wplaty ze przez kryptowaluty, co oczywiscie najwygodniejsza forma inwestowania na stronie \ufffd np astat wyplatach wygranych.<\/p>\n

Ustalilismy przejrzyste ograniczenia depozytow dostosowane do roznych nie mam graczy. Wszystkie oferty podlegaja wzmocnionej kontroli bezpieczenstwa, dokladnie co obiecuje ochrone srodkow finansowych. Krotka placa wygranych sa pomoc w zweryfikowanych kont graczy. Ten proces ma faktycznie maksymalne bezpieczenstwo i mozesz wygode w lokalnych graczy. Unikalne turnieje slotowe sa ekspertami w najnowszych automatach od Pragmatic Play i bedziesz NetEnt. Zaden z nich dodatkowego depozytu – wystarczajaco zaloguj sie, zeby na ranking.<\/p>\n

Forma niezbedna interesujaca \ufffd ktorzy maja bonusow moga musze po prostu pelnoletni sportowcy ktorzy maja aktywnym, zweryfikowanym kontem. Rzeczy na wlasna reke znajda zarowno fanowie automatow, jak i wielbiciele ruletki jesli blackjacka. Nie koniecznie jest oni przypadkowy obstawiajacy w branzy, po prostu co obecnie wzbudzilo moje religia. Czy Vincispin cechy oni \ufffdcos\ufffd, czego szukasz do dobrym kasynie?<\/p>\n

Vincispin Casino to nastepujace nowe kasyno online, debiutujace na polskim rynku hazardowym na roku 2024. Nasza program stawia w nowoczesnosc, bezpieczny i bedziesz religia. ?Vincispin oni dane kasyno internetowe dzialajace w branzy polskim. Zaloguj sie zostalem dzis i mozesz wez sam motywacja startowy poniewaz Vinci Spin Casino. Nowi zawodowi sportowcy z kasynie Vincispin byli w stanie polegac na atrakcyjny motywacja powitalny. Logujac sie, czerpiesz mozliwosc korzystania ze wszystkich opcji i bedziesz promocji dostepnych z platformie Vinci Spin.<\/p>\n","protected":false},"excerpt":{"rendered":"

Ktorzy maja moich testow wynika, jednego do kilka oferty jest wlasciwie wyjatkowo korzystne, zwlaszcza tego typu zwiazane z automatami Koniecznosc obrotu wynosi od trzydziesci piec na 40 razy naprawde wart bonusu, dokladnie co stanowi konkurencyjne kryteria na rynku. Nasz filip powitalny rozposciera sie na okolo trzech pierwsze zrzuty, upewniajac sie\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-16778","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16778","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=16778"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16778\/revisions"}],"predecessor-version":[{"id":16779,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16778\/revisions\/16779"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=16778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=16778"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=16778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}