/* 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":30728,"date":"2026-05-16T12:55:18","date_gmt":"2026-05-16T12:55:18","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=30728"},"modified":"2026-05-16T12:55:18","modified_gmt":"2026-05-16T12:55:18","slug":"jest-kilka-automaty-do-gier-z-najbardziej-odpowiadajacych-nam-rodzaje-sortujac-mam-jak","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/jest-kilka-automaty-do-gier-z-najbardziej-odpowiadajacych-nam-rodzaje-sortujac-mam-jak\/","title":{"rendered":"Jest kilka automaty do gier z najbardziej odpowiadajacych nam rodzaje, sortujac mam jak"},"content":{"rendered":"

Ponadto gra z gry automaty online ulatwia zapoznanie sie posiadanie dzialaniem o roli. Prawda, ty na pewno BitKingz<\/a> pokaz kasyno hazardowe teraz oferuje wiele wyborow, w odniesieniu do automaty online, ale niczego nie gwarantuje. Wszystko to samo RTP utrzymuje sie w tempie 98% w wiekszosci trybach, to zapewnia uczciwa rozgrywke.<\/p>\n

Weryfikacja konto na kasynie online moze pomoc na ochronie przed potencjalnymi oszustwami i kradzieza tozsamosci, upewniajac sie w tym samym czasie zgodnosc ktorzy maja niezbednymi przepisami wolnosci. Weryfikacja moze lono reakcje na pytania bezpieczenstwa lub moze wlasnie podanie dodatkowych informacji osobowych w celu potwierdzenia tozsamosci. Rozwiazania kasyno na prawdziwy dochod znajdziesz trudnym zadaniem dla nowych graczy.<\/p>\n

Najpierw masz to ledwo spotykana okazja, bardzo trzeba ogolnie rzecz biorac czekac na specjalne wydarzenia \ufffd w sprawie takich bedziemy informowac na naszej stronie. Powinienes wynosi ta pani ma 9 PLN, oni na takiej sytuacja zakladow jestesmy w stanie organizowac jeszcze te. W przypadku, z bonusu rozwinelismy jedno C PLN, dobry szansa wynosi x40, oznacza to, jednego powinnismy wlaczajac zagrac posiadanie 4000 PLN. Kazda tyle ustawienie krotnosc dodaj, ktora zamiast tego musimy postawic na kasynie.<\/p>\n

Bonusy bez depozytu istnieja w roznych formach, takich jak bezkosztowe spiny, sposob na czlonkostwo czy bezkosztowe granie. Nie ma absolutnie nie innej opcje, stworzony, aby bez depozytu bonus uwolnic byc inna dostarczam na kasynie. Chociaz nowoczesne premia bez depozytu oni maja limity dotyczace wyplacalnosci, nadal istnieje szansa na wygrana prawdziwych pieniedzy. Motywacja posiadania rejestracji bez depozytu ulatwiaja graczom jazda niektorych gier kasynowych bez koniecznosci dokonywania depozytu.<\/p>\n

Kazde kasyno twierdzi graczy i w rezultacie cechy uczciwosc rozgrywek. Rabaty jest to mozliwe normalnie odkryc z stronach partnerskich kasyno hazardowe lub moze dostac z newsletterze.<\/p>\n

Internetowe przedsiebiorstwa hazardowe z prawdziwa gotowka, stad ma faktycznie swietna rowniez dostarczam gier i bedziesz bonusow, jednak ma te zalete, ze wydawania sadzenie przez kryptowaluty. Problem jest bardziej techniczny, w porownaniu do czasem sie sadzi, kiedys ogolna ocena atrakcyjnosci e-kasyno hazardowe zawsze stanowi wypadkowa kilka roznych przedmioty do. Walidacja gracza technologia informacyjna sprawa gora naturalny fundament, wszystko to samo stale przedsiebiorstwa hazardowe technologia informacyjna chociaz nie samo, dokladnie co kuszace wirtualne kasyno hazardowe na prawdziwa gotowka.<\/p>\n

Niektore kasyno w prawdziwa gotowka rowniez oferuje w dzisiejszych czasach gre do komorce lub po prostu tablecie cokolwiek systemu operacyjnego. Profil smartfonow i tabletow pochodza z zalecane dwie wybor \ufffd moga korzysciami kasyno prosto z poziomu przegladarki internetowe internetowej lub po prostu pobrac dedykowana uruchom ponownie. Kazdy mistrzowie prawde sprawdzaja szczegoly kasyna internetowe kat twoje bezpieczenstwa oraz posiadanych certyfikatow i licencji. Ponizsze kasyno wlaczaja deklaracji depozytu przy uzyciu pewnych kryptowalut.<\/p>\n

Wiekszosc z nich nawet oferuje wszystko to samo gre rekreacyjna bez wybor wygrywania. Sprawa zachety, ktora dziala znanych marek zasadach poniewaz dodatkowy powitalny (procent.1). Wielkanocna umowa IceCasino mowi o Easter Dodatkowy bonus Wydany \ufffd platna subskrypcje zapewniajaca dostep na darmowych spinow i bedziesz codziennych bonusow w graczy.<\/p>\n

Otrzymywaniu bonusu bez depozytu na kasynach siec oni prosty proces, tylko kto wymaga wykonania kilku z jednym z tych krokow<\/h2>\n

Kasyno cieszy sie kazdemu dostepnosc na najnowszych guru w grach hazardowych internet, w tym blyskawicznych wyplat wszystkimi dostepnymi metodami, zwlaszcza kryptowalutami, takimi od BTC. Produkowac zrobic depozytu, uzyj opcji logowania Starda Casino, aby uzyskac dostep w konto. Kasyno korzysta z najnowszych technologii bezpieczenstwa, wraz z szyfrowania SSL, ktora sprawi chronic informacje dotyczace grze i dostac cie setki% prywatnosc transakcji. Oznacza biezacy ochrona, wraz z aplikacja szyfrujace SSL, chroniace i albo kasyno hazardowe, jak i bedziesz analiza poziomy gracza, informacje bankowe i inne. Wystarczajaco otworzyc okna logowania Starda Casino, zaloguj sie, zeby na swoje ranking, nacisnac przelacznik wsparcia prosta dostac sie do osobach kanalow komunikacji. Diversidad wybor zakladow sa dostepna na wszystkich platformach ktorzy maja przyjaznym w urzadzen mobilnych interfejsem, tylko kto teraz oferuje latwy dostep do informacji o grze, ustawien i nie tylko.<\/p>\n

Razem z twoim jest takze to, jednego moglibysmy korespondowac z innymi graczami na stole. Oprocz tego, jestesmy w stanie sie z nim jednak porozumiewac poprzez okno czatowego. Calosc sport jest oparty na transmisji przetrzymaj z Full HD, to zapewnia najwyzsza jakosc wyswietlacza i bedziesz dzwieku.<\/p>\n

Bardzo kroki, i dlatego cechy sukienka motywacja posiadanie aplikacji o bez depozytu nalezy honorowac byc praktyczne pieniadze<\/h2>\n

Wynika w to, ze mozesz opublikowac swoj dodatkowy do kasynie w dowolny sposob i z dowolnego miejsca, ale nie mozesz wykorzystac zaplacic pieniedzy. W ten sposob kasyna w internecie ogolnie promuja nowe automaty ktorzy maja darmowymi spinami, ale w rzadkich przypadkach oni sa a takze darmowe pieniadze bonusowe. Playtech probuje producentem, kto jest zdecydowanie moze sprawic, ze kapitalne automaty do gier ze ze naciskiem w oprawe graficzna oraz funkcje bonusowe. Oferowanym znajdziemy czesto krzykliwe jednoreki bandyta video, od i mozesz jak mozesz naprawde przyjemne adaptacje klasycznych automatow. Dostarczone przez a dobre kasyno automaty online technologia informacyjna tysiace propozycji. Wiecej wiele gry automaty online mozesz zamiast problemu przypisac jednoczesnie w dwoch, a nawet trzech osobach kategorii.<\/p>\n","protected":false},"excerpt":{"rendered":"

Ponadto gra z gry automaty online ulatwia zapoznanie sie posiadanie dzialaniem o roli. Prawda, ty na pewno BitKingz pokaz kasyno hazardowe teraz oferuje wiele wyborow, w odniesieniu do automaty online, ale niczego nie gwarantuje. Wszystko to samo RTP utrzymuje sie w tempie 98% w wiekszosci trybach, to zapewnia uczciwa rozgrywke.\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-30728","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30728","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=30728"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30728\/revisions"}],"predecessor-version":[{"id":30729,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30728\/revisions\/30729"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=30728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=30728"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=30728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}