/* 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":30878,"date":"2026-05-16T13:05:43","date_gmt":"2026-05-16T13:05:43","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=30878"},"modified":"2026-05-16T13:05:44","modified_gmt":"2026-05-16T13:05:44","slug":"nie-iskry-ustawodawstwo-programu-iskry-obstawianie-na-zywo-gry-spribe-i-mozesz-ruletke-posiadanie-naliczania-punktow","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/nie-iskry-ustawodawstwo-programu-iskry-obstawianie-na-zywo-gry-spribe-i-mozesz-ruletke-posiadanie-naliczania-punktow\/","title":{"rendered":"Nie, iskry ustawodawstwo programu iskry obstawianie na zywo, gry Spribe i mozesz ruletke posiadanie naliczania punktow"},"content":{"rendered":"

Przedwczesna placa kasuje dodatkowy bonus gotowkowy, bezplatne spiny, spiny posiadanie sektory oraz mnozniki lojalnosciowe przypisane z promocji. Oznacza to, ty na pewno Cazeus<\/a> czlonkostwo nie sluzy calkowicie na gra na kasynie a takze to reklama w typerow funkcjonuja obok czesc automatow oraz kasyno na zywo. W dowolnym momencie grasz glownie na ruletke albo w rubryka Spribe, poziom programu moze wzrastac powoli w porownaniu do przy standardowych automatach. Hazard znacznie wiecej niz tego rodzaju maksimum mogli spowodowac uniewaznienie bonusu i mozesz wygranych. Mozliwie organizujemy oferty posiadanie bonusami bez depozytu i mozesz darmowymi spinami, ktore mozna wchodzic w interakcje bez kodu – stad kod kuponu z Yep casino nie zawsze jest wymagany.<\/p>\n

Yep casino teraz oferuje opcje wlaczenia dwuskladnikowego uwierzytelniania (2FA) w dodatkowego bezpieczenstwa. Duzo transakcje probuje szyfrowane za pomoca najnowszych protokolow bezpieczenstwa, upewniajac sie ochrone informacji finansowych graczy. Podkategorie jest niesamowite jednoreki bandyta, automaty do gier wideo, Megaways, jackpoty oraz wybory zdobycia bonusow.<\/p>\n

To wskazuje, jednego do nasze wlasne kasyno online mecz miedzynarodowe kryteria bezpieczenstwa i mozesz uczciwosci<\/h2>\n

Ton preferowana walute ktorzy maja rozwazyc wybor. Nasza oferta powitalna, wita 333% do \ufffd4000 oraz 444 darmowe spiny, generuje, ze kazdy moze uruchomic swoja zakladaj ktorzy maja grami online. Mozesz sie tego spodziewac szerokie gry, rozsadne zasady oraz kusza reklamy. Nasza platforma polityczna okazalo sie, ze stworzona z rozwazaja graczach posiadanie Polski, bardzo zapewniamy przystepna obsluge oraz oferty.<\/p>\n

W naszej ofercie jest z pewnoscia tysiace automatow, obstawianie nienagrane oraz rozbudowana sekcje zakladow sportowych \ufffd kazdego oferowane w jezyku polskim i mozesz posiadanie adresowaniem waluty PLN. Platforma polityczna rowniez oferuje wariacje promocji, ktore moga byc ktore sa dostepne zarowno w nowych, od i mozesz aktywnych uzytkownikow. Nowe gry probuje dodawane codziennie, doskonaly cena wyskakuje jak licencjonowanych producentow oprogramowania.<\/p>\n

Po zalozeniu profilu otrzymujesz dostepnosc do swiata postaci oraz wybor personalizacji ustawien<\/h2>\n

Na lobby ktore istnieja bylo razem z automaty wyzsze, ktore ciesza sie duza popularnoscia na kasynach i bedziesz no sprawdzaja sie zarowno do nowych graczy, jak i mozesz a doswiadczonych uzytkownikow. To swietne miejsce w graczy szukajacych swiezych android, wysokiego RTP i mozesz dynamicznych postaci bonusowych. Przenikac interesujace sprawnie, doskonaly opis na rodzaje ulatwia natychmiastowe znalezienie konkretnej gry lub po prostu po prostu wytworcy to bedzie zasadniczo uznany z Yep Casino opiniach. Strona internetowa posiada jak mozesz jeszcze inny kluby VIP wymyslony ktorzy maja 7 poziomow, gdzie calkowita kwota bonusow dostepnych do aktywnych graczy moze dotykac podstawy kilka tysiecy zlotych.<\/p>\n

Ta procedura probuje standardowa w branzy i mozesz pasuje zapewnieniu bezpieczenstwa wszystkich transakcji. Organizacja mechanicznie przydziela bezkosztowe spiny, ktore mozna wykorzystac z wyboru automatach w gier. Aktualna umowa dyskutuje piecdziesiat dolarow darmowych spinow dostepnych nastepowaniu wprowadzeniu kodu \ufffdVRS50\ufffd. Kazdy aktywny motywacja trzeba z pewnoscia miec odwrocony samodzielnie, dokladnie co sportowcy moga sledzic do dedykowanej elementu swojego profilu. Nasza badanie przywoluje, to wiekszosc uzytkownikow raczej niz problemu radzi sobie ktorzy maja ta procedura. Platforma regularnie aktualizuje swoja oferte promocyjna, wprowadzajac zupelnie nowe wymagania do stalych klientow.<\/p>\n

Czesc gier nienagrane z Yep Casino rowniez zapewnia dziesiatki stolow prowadzonych przez profesjonalnych krupierow, wziac pod uwage gdziekolwiek dnia i kazdej nocy. Z recepcja gier stolowych Yep Casino czekaja wieczne gry w nowoczesnej oprawie. Na recepcja slotow Yep Casino czekaja niesamowite automaty do gier owocowe, lamanie tytuly 3?bebnowe oraz rozbudowane gry 5?bebnowe posiadanie darmowymi spinami i symbolami specjalnymi. Bylo tu niesamowite i bedziesz aktualne jednoreki bandyta, jackpoty, gry stolowe, poker elektroniczny, gra online na zywo oraz natychmiastowe Insta Games. Zwykle oferta sa x\ufffddwadziescia piec \ufffd lub po prostu po prostu l darmowych spinow przy niskim obrocie x5 przypisanym w poziom bonusu lub moze wygranych z obrotow. Na stronie YepCasino moze byc premia depozytowe, cashback, osobliwe da ci dla high rollerow oraz sporadyczne reklama bez depozytu.<\/p>\n

YEP Casino Polska zostalo spersonalizowane z nie bede miec lokalnych uzytkownikow, czesto pod wzgledem jezykowym, jak i mozesz funkcjonalnym. YEP Casino to program gier internet skierowana do uzytkownikow z Polski, funkcjonujaca do dynamicznym srodowisku cyfrowej zainteresowania. Zamiast tego mozesz kupic paczka powitalny, cashback i bezplatne spiny posiadanie male narybki miejsca.<\/p>\n

Wiekszosc z gra wideo pojawia sie w trybie demonstracja w niezarejestrowanych uzytkownikow, co pozwala na przeglad przed gra na prawdziwe pieniadze. Ekstra zapewnia ci sezonowe i mozesz turniej tematyczne zapewniaja dodatkowe rozwiazania wygranych. Wiekszosc z oferty kraweznik odnotowane polityki dostepne w jezyku polskim, to zapewnia pelna transparentnosc zapewnia ci. Nawet jesli, jesli wybierzesz aplikacje, czy czy nie sprawdzaj przegladarkowa, mozesz polegac na to wspaniale wiedza w grach. Rozwaz, ze stale reputacja aplikacji ulatwiaja w a ze wszystkimi najnowszych uzyj i mozesz zabezpieczen, to zapewnia zwiekszone bezpieczniejszy podczas gry.<\/p>\n","protected":false},"excerpt":{"rendered":"

Przedwczesna placa kasuje dodatkowy bonus gotowkowy, bezplatne spiny, spiny posiadanie sektory oraz mnozniki lojalnosciowe przypisane z promocji. Oznacza to, ty na pewno Cazeus czlonkostwo nie sluzy calkowicie na gra na kasynie a takze to reklama w typerow funkcjonuja obok czesc automatow oraz kasyno na zywo. W dowolnym momencie grasz glownie\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-30878","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30878","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=30878"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30878\/revisions"}],"predecessor-version":[{"id":30879,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30878\/revisions\/30879"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=30878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=30878"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=30878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}