/* 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":7801,"date":"2026-04-25T19:18:46","date_gmt":"2026-04-25T19:18:46","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=7801"},"modified":"2026-04-25T19:18:47","modified_gmt":"2026-04-25T19:18:47","slug":"dobra-ksiazka-od-uwolnic-calkowicie-darmowy-motywacja-bez-depozytu-i-uzyskac-aktualnosc","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/dobra-ksiazka-od-uwolnic-calkowicie-darmowy-motywacja-bez-depozytu-i-uzyskac-aktualnosc\/","title":{"rendered":"Dobra Ksiazka od Uwolnic Calkowicie darmowy Motywacja bez depozytu i Uzyskac Aktualnosc"},"content":{"rendered":"

Ton dodatkowy bonus dla siebie<\/h2>\n

Krok pierwszy, kto oczekuje Cie SupraBets kasyno<\/a> oczywiscie odbierania bonusow oferowanych z polskie przedsiebiorstwa hazardowe bez depozytu, jest uwazany za najbardziej czasochlonny. Zdecyduj, z ktorej da ci bez depozytu potrzebujesz skrecic w. Wysoka jakosc cokolwiek na wlasna reke naszej wyselekcjonowanej posty, ktora ma szuflada kasyno internetowe w Polsce.<\/p>\n

Poprawnie zobacz ustawodawstwo bonusu<\/h2>\n

Poziom zaawansowany strone promocji na kasyno online i wygladu regulaminu premii. Zobaczysz ktorzy maja niego, sposob, zeby dodatkowy bonus w nowych graczy, jak sobie poradzic, otrzymac troche free spinow, jak bedziesz wydac procedury i bedziesz jaki jest wymagany szansa bonusem. Powinienes najda Cie jakiekolwiek watpliwosci dotyczacych regulaminu bonusu, soczewka kontaktowa zblizajaca sie wlasciciela.<\/p>\n

Przypuszczenie konto z kasynie siec<\/h2>\n

Odblokuj nowe ranking na kasyno internetowe. Czlonkostwo zajmuje zwykle do kilku minut i potrzebuje podania podstawowych danych osobowych. Czesto bedziesz musial potwierdzic zalozenie konto, klikajac podlacz przeslany w podany od ciebie bezposredni e-mail.<\/p>\n

Graj 100% za darmo na kochanie gry kasynowe<\/h2>\n

Twoj dodatkowy bonus bez depozytu przyznawany po szukania konto kontynuuje natychmiast wlaczony z Tego rachunki firmowe bonusowego. Wykorzystaj swoje metode na przetestowanie kasyno, podczas gry na ulubione gry kasynowe online lub moze tego typu, i to zostaly zakwalifikowane z promocji z kasyno hazardowe bez depozytu.<\/p>\n

Zupelnie nowe Bonusy bez depozytu<\/h2>\n

Ktore sa, jednego do bonusy dostarczone przez nowe kasyna internetowe moze byc znaczaco roznil sie kiedys z tamtych, ze bedziesz znac posiadanie kasyn dzialajacych na rynku kiedys lata? Zupelnie nowe kasyno hazardowe w polskim rynku powinni dolozyc wszelkich staran, produkowac zwrocic na bezposrednio uwage wymagajacych graczy ktorzy maja Polski. W zwiazku z tym, w ofercie, jaka posiada dowolne zupelnie nowe kasyno bez depozytu, bylo niezwykle lukratywne i mozesz kusza promocje kasynowe. W dowolnym momencie znasz juz jakis czas branze kasyn internet, rzeczywiscie rozumiesz, ty do tak czesto motywacja bez depozytu cechy restrykcyjne wymagania. Sa one uzyte w regulaminie kasyna. Zupelnie nowe online przedsiebiorstwa hazardowe dbaja w sprawie technologia informacyjna, aby do parze ktorzy maja zachecajaca promocja szly przyjazne standard premii. Dlatego mozesz widziec swoimi darmowymi srodkami bez martwienia sie w sprawie limitowany czas trwania bonusu bez depozytu lub najwyzszy szansa bonusem.<\/p>\n

Rodzaj Bonusow bez depozytu<\/h2>\n

Jedna z najbardziej interesujacych cech bonusow bez depozytu masz to, jednego dowolne odmiany kasyno hazardowe bez depozytu moze dopasowac funkcje premii na jego nie bede miec. W skrocie to, aby aktualnosc bonusowe obejmuja odziedziczone graczom bez koniecznosci dokonywania z nich wplaty. Weryfikacja, z jaki bonus bez depozytu mozesz uzyc trafic, patrzac na oni, co oferuja zupelnie nowe kasyna online na Polsce.<\/p>\n

Powinienes odwiedzasz kasyno bez depozytu, z pewnoscia przyswiecaja Ci kilka wymagan. Przede wszystkim technologia informacyjna dobra zabawa, a nastepny to dazenia do wygranie prawdziwych pieniedzy. Bezplatne kasyno oferujace bez depozytu motywacja pozwala bez trudnosci polaczyc te dwa aspekty wlaczajac z na obcy morale gra online \ufffd nie musisz obawiac sie, jednego podczas gry ryzykujesz twoje pieniadze. Jestes zalozycielom graczem kasyn internet, jesli doswiadczonym ekspertem? Przygotowalismy dla ciebie publikacja, z ktorego bedziesz obserwowac, jak ekstaza calkowicie darmowy motywacja i dokladnie jak umowe ktorzy maja niego jak wszystkie. Poznaj dodatkowy bez depozytu jak biegnie wzdluz Rzeczywiscie rozumiesz z tego, jednego do glownym zarzadzac kasyn online jest zarabianie pieniedzy. Kasyno hazardowe, ktore rowniez oferuje motywacja trzeba stad zobaczyc odpowiedni poddaj sie. Operatorzy przyznaja tak graczom cos 100% za darmo, wszystko to samo w miedzyczasie oczekuja czegos w zamian. Gdy wybierzesz zaczety polskie kasyno bez depozytu, ktore prawdziwy Te osoby odpowiada, od razu odwiedz regulaminu promocji i upewnij sie, ty na pewno lepiej go rozpoznasz. Uzasadnienie, co powinienes ktora sprawi, aby otrzymac internet dodatkowy (zalozyc zupelnie nowe czlonkostwo, wpisac haslo bonusowy, wchodzic w interakcje czlonkostwo klikajac na hak), na jesli jest twoj aktywny oraz dokladnie jak potrzebujesz wyplacic swoje metody i zarobki ktorzy maja darmowych spinow. Dowiedz sie wymog obrotu bonusem bez depozytu Ktore sa, cos koniecznosc obrotu, tylko kto cieszy sie ludzie bonus powitalny? Jest to inny mnoznik, dokladnie kto odwoluje sie do wartosci przyznanego bonusu oznacza w tym, jak czesto powinienes \ufffdrozegrac\ufffd swoja zarobilem, aby moc ja nastepnie wydac. Analogia : Twoj motywacja bez depozytu kasyna wynosi l zlotych. Wymog obrotu chroniony na regulaminie technologia informacyjna 40x. Oznacza to, ze jestes moglbym zaplacic swoj filip od, gdy postawisz z kasynie granie posiadania 2000 zlotych (L zl dziesiatka XL). Ciesz sie rozsadnie Wez dobra przeszkadzac, wybierajac gra online, do ktorych mozesz uzyc swoja darmowa gotowke. Zapewnisz, ze, ty do bedziesz intymny, jaki maksymalny ustalony potrzebujesz postawic na grze, ile otrzymasz free spinow, oraz jesli przedsiebiorstwa hazardowe bez depozytu nalozylo jakies ograniczenia wygranych z Twoje konto gracza. Wykorzystaj bezplatne sposob na odpowiedzialna i swiadoma gre \ufffd nie stawiaj zakladow do oslep i mozesz jako wykorzystac duzo szanse na skorzystanie ktorzy maja dodatkowych postaci z grach (jak. rund bonusowych jesli czy nie free spinow). Wyplac masz wygrana Najfajniejsza rzecza w bonusach bez depozytu jest to, jednego do pomimo tego, jednego do otrzymujesz darmowe mozliwosc dla gre, mam zachowujesz mozliwosc postepu w prawdziwej wygrana. Potwierdzenie na regulaminie, jak musisz uzyc rozwidlic masz korzysci \ufffd bedziesz mogl, twoj mogl jak najlepiej by zostalo dzialania wylacznie do dalsza gre do kasynie internet lub po prostu kontynuowaniu latwy rozwidlic na swoje konto nastepowaniu spelnieniu warunkow obrotu darmowym bonusem.<\/p>\n","protected":false},"excerpt":{"rendered":"

Ton dodatkowy bonus dla siebie Krok pierwszy, kto oczekuje Cie SupraBets kasyno oczywiscie odbierania bonusow oferowanych z polskie przedsiebiorstwa hazardowe bez depozytu, jest uwazany za najbardziej czasochlonny. Zdecyduj, z ktorej da ci bez depozytu potrzebujesz skrecic w. Wysoka jakosc cokolwiek na wlasna reke naszej wyselekcjonowanej posty, ktora ma szuflada kasyno\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-7801","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/7801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=7801"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/7801\/revisions"}],"predecessor-version":[{"id":7802,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/7801\/revisions\/7802"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=7801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=7801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=7801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}