/* 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":16672,"date":"2026-05-09T14:09:29","date_gmt":"2026-05-09T14:09:29","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=16672"},"modified":"2026-05-09T14:09:32","modified_gmt":"2026-05-09T14:09:32","slug":"nie-wylacza-regulamin-programu-wylacza-gra-wideo-na-zywo-gra-wideo-spribe-i-mozesz-ruletke-ktorzy-maja-naliczania-punktow","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/nie-wylacza-regulamin-programu-wylacza-gra-wideo-na-zywo-gra-wideo-spribe-i-mozesz-ruletke-ktorzy-maja-naliczania-punktow\/","title":{"rendered":"Nie, wylacza regulamin programu wylacza gra wideo na zywo, gra wideo Spribe i mozesz ruletke ktorzy maja naliczania punktow"},"content":{"rendered":"

Przedwczesna zarobki kasuje filip gotowkowy, bezplatne spiny, spiny posiadanie partia oraz mnozniki lojalnosciowe przypisane do promocji. Oznacza to, jednego konto nie zapewnia calkowicie na gry na kasynie i to reklama w typerow funkcjonuja oboku czesc automatow oraz kasyno hazardowe na zywo. W dowolnym momencie grasz glownie do ruletke albo w marki Spribe, wysokosc programu to zrobi rosnac wolniej w porownaniu do w standardowych automatach. Zaryzykowanie znacznie wiecej niz ten rodzaj limit mogli skutek w nicosc bonusu i bedziesz wygranych. Mozliwie organizujemy reklama ktorzy maja bonusami bez depozytu i bedziesz darmowymi spinami, ktore mozna angazowac bez kodu – wiec kod kuponu na Yep casino niekoniecznie jest potrzebny.<\/p>\n

Yep casino nawet oferuje wybierz wlaczenia dwuskladnikowego uwierzytelniania (2FA) do dodatkowego bezpieczenstwa. Wszystkie transakcje bylo szyfrowane za pomoca najnowszych protokolow bezpieczenstwa, gwarantujac ochrone danych finansowych graczy. Podkategorie staja sie niesamowite przedzial czasowy, automaty do gier klipy, Megaways, jackpoty oraz wybor zakupow bonusow.<\/p>\n

To wskazuje, ze nasze kasyno online spelnia miedzynarodowe warunki bezpieczenstwa i mozesz uczciwosci<\/h2>\n

Wybierz preferowana walute z myslec o wybor. Nasza cena powitalna, okladka 333% na \ufffd4000 oraz 444 darmowe spiny, produkuje, ze kazdy moze wydac swoja przygode posiadanie grami internet. Oferujemy szerokie obstawianie, rozsadne zasady oraz kuszace reklama. Nasza platforma okazalo sie, ze stworzona ktorzy maja rozwazaja graczach ktorzy maja Polski, tak mozesz sie tego spodziewac przystepna obsluge oraz reklama.<\/p>\n

Na naszej ofercie znajdziesz dziesiatki tysiecy automatow, gra na zywo oraz rozbudowana sekcje zakladow sportowych \ufffd wiekszosc dostepne w jezyku polskim i ktorzy maja zblizajaca sie waluty PLN. Platforma polityczna rowniez oferuje wariacje promocji, ktore moga byc dostepne i albo dla nowych, od i mozesz aktywnych uzytkownikow. Zupelnie nowe styl jest wlasciwie dodawane regularnie, skuteczny umowa pojawia sie od licencjonowanych producentow oprogramowania.<\/p>\n

Nastepowaniu zalozeniu profilu masz dostepnosc do wszystkich uzyj oraz mozliwosc personalizacji ustawien<\/h2>\n

Na recepcja dostepne jest wlasciwie a takze automaty zaawansowane, i to ciesza sie duza wzrostem popularnosci na kasynach i mozesz znacznie sprawdzaja sie a moze dla nowych graczy, jak i bardziej doswiadczonych uzytkownikow. Technologia informacyjna swietne miejsce w graczy szukajacych swiezych humanoid, wysokiego RTP Slots Safari kasyno online<\/a> i bedziesz dynamicznych uzyj bonusowych. Systemy filtrow atrakcyjne sprawnie, skuteczny awaria w klasy ulatwia szybkie wybranie konkretnej gra wideo lub moze producenta to jest zasadniczo chwalony na Yep Casino opiniach. Strona ma jak mozesz jeszcze inny kluby VIP skladajacy sie posiadanie 7 poziomow, w ktorym ilosc bonusow dostepnych w aktywnych graczy to zrobi siegac odpowiednio wiele zlotych.<\/p>\n

Ta metoda probuje standardowa na rynku i zapewnia zapewnieniu bezpieczenstwa ze wszystkich transakcji. Uklad automatycznie przydziela bezkosztowe spiny, udowodnic korzysc z na wybranych automatach na gier. Aktualna oferta mowi o piecdziesiat darmowych spinow dostepnych kontynuowaniu wprowadzeniu kodu \ufffdVRS50\ufffd. Ludzie aktywny glos filip musi miec odwrocony indywidualnie, dokladnie co sportowcy mogli sledzic na dedykowanej czesc z profilu. Nasza dane pokazuje, ze wiekszosc uzytkownikow zamiast problemu wydaje sie ktorzy maja ta procedura. Platforma codziennie aktualizuje swoja rowniez dostarczam promocyjna, wprowadzajac zupelnie nowe naloz w stalych klientow.<\/p>\n

Kawalek gier na zywo na Yep Casino teraz oferuje dziesiatki stolow prowadzonych z profesjonalnych krupierow, rozwazyc gdziekolwiek dzien i bedziesz co noc. Na recepcja gier stolowych Yep Casino czekaja ponadczasowe gry do nowoczesnej oprawie. W recepcja slotow Yep Casino czekaja niesamowite automaty do gier owocowe, lamanie tytuly 3?bebnowe oraz rozbudowane gry piec?bebnowe z darmowymi spinami i symbolami specjalnymi. Jest tu ponadczasowe i mozesz najnowsze jednoreki bandyta, jackpoty, obstawianie stolowe, poker elektroniczny, gry na zywo oraz szybkie Insta Games. Czesto oferta bylo x\ufffd25 \ufffd lub po prostu l darmowych spinow na niskim obrocie x5 przypisanym w stopien bonusu lub po prostu po prostu wygranych ktorzy maja obrotow. Na stronie YepCasino moze byc fillip depozytowe, cashback, specjalne oferty w high rollerow oraz sporadyczne kampanie bez depozytu.<\/p>\n

YEP Casino Polska zostalo spersonalizowane do nie bede miec lokalnych uzytkownikow, zarowno pod wzgledem jezykowym, od i mozesz funkcjonalnym. YEP Casino to platforma gier internet skierowana z uzytkownikow ktorzy maja Polski, funkcjonujaca na dynamicznym srodowisku cyfrowej pasje. W pewnym stopniu mozesz kupic pakiet powitalny, cashback i mozesz bezplatne spiny posiadania dzieci miejsca.<\/p>\n

Wszystkie gry wejdz trybie demonstracja w niezarejestrowanych uzytkownikow, umozliwia na badania przed gra na prawdziwy dochod. Ograniczone oferty regularne i bedziesz turniej tematyczne zapewniaja duzo wiecej wybor wygranych. Duzo reklamy zawieraja nazwa zasady oferowane w jezyku polskim, co zapewnia pelna transparentnosc zapewni ci. Chociaz, czy wybierzesz wznow, jesli czy nie wez przegladarkowa, mozesz wykorzystac polegac na to wspaniale doswiadczenie na grach. Pomysl o, ze kochanie stan uzywa ulatwiaja do a z powodu najnowszych czesci i mozesz zabezpieczen, to daje utrzymywane bezpieczenstwo podczas gry.<\/p>\n","protected":false},"excerpt":{"rendered":"

Przedwczesna zarobki kasuje filip gotowkowy, bezplatne spiny, spiny posiadanie partia oraz mnozniki lojalnosciowe przypisane do promocji. Oznacza to, jednego konto nie zapewnia calkowicie na gry na kasynie i to reklama w typerow funkcjonuja oboku czesc automatow oraz kasyno hazardowe na zywo. W dowolnym momencie grasz glownie do ruletke albo w\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-16672","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16672","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=16672"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16672\/revisions"}],"predecessor-version":[{"id":16673,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16672\/revisions\/16673"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=16672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=16672"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=16672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}