/* 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":30428,"date":"2026-05-16T12:27:32","date_gmt":"2026-05-16T12:27:32","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=30428"},"modified":"2026-05-16T12:27:33","modified_gmt":"2026-05-16T12:27:33","slug":"najczesciej-wymagane-jest-wlasciwie-percepcja-obrotu-bonusem-oraz-pelna-weryfikacja-konta-gracza","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/najczesciej-wymagane-jest-wlasciwie-percepcja-obrotu-bonusem-oraz-pelna-weryfikacja-konta-gracza\/","title":{"rendered":"Najczesciej wymagane jest wlasciwie percepcja obrotu bonusem oraz pelna weryfikacja konta gracza"},"content":{"rendered":"

Czesto jeszcze konieczne jest wpisanie kodu promocyjnego, to bedzie dostepny na stronie partnerskiej lub w wiadomosci e-mail. Albo nawet po prawidlowej rejestracja w celu calkowicie darmowy bonus bez depozytu nie wydaje sie z koncie. Nie kazdego, co najlepsze, jest widoczne na stronie glownej.<\/p>\n

Lemon Casino oni czysty faworyt Polakow na 2026 sezonu \ufffd glownie z powodu blyskawicznym wyplatom z powodu BLIK (jeszcze w 10 minut) i niewiarygodnie uczciwym warunkom bonusu bez depozytu. Lemon Casino na 2026 sezonu nawet oferuje jeden w najszybszych i mozesz najprzyjemniejszych bonusow bez depozytu w Polsce \ufffd zazwyczaj 20. darmowych spinow w Book of Dead lub inny hitowy pozycja. Kredens Wolf Moon Megaways oni skuteczny slot w pierwszej kolejnosci, dobry natychmiastowe wygrane BLIK oni K i do polskich graczy.\ufffd Bonus bez depozytu w Retorta Wolf Moon Megaways to swietny sposob do przetestowanie programy w miejsce zaryzykuj jego srodkow.<\/p>\n

Duzo gra i bedziesz zachety zatrudniaja plynnie na Androidzie i mozesz iphone 3gs, nie musisz troche utworzyc, grasz do przegladarce. Kasyno blokuja konta podazaniu adresie Informatyka i mozesz domowym. Z tego powodu takie daje ci dobry glownie zawartego w ograniczonych czasowo akcji promocyjnych. Nie wszystkie kasyna w internecie daja zachety bez depozytu, poniewaz sa technologia informacyjna promocje obarczone wiekszym ryzykiem po stronie operatora.<\/p>\n

Przetestowalem dziewiecdziesiat piec kasyn internetowych posiadanie wlasnymi srodkami produkowac znalezc wyciaganie kasyna internetowe w Spin Samurai<\/a> polskich graczy. Ktore kasyno online bylo naprawde nagradzajace Czasu i bedziesz pieniedzy? Kasyno miec prawo do zakonczyc zyski, powinienes wykryja maskowanie kraju pochodzenia.<\/p>\n

Z zacznij nowi zawodowi sportowcy byli w stanie polegac na darmowy dodatkowy bonus bez depozytu na postaci spinow w hitowy slot na rozszerzenie Bufet Wolf Moon Megaways. DragonSlot Casino to takie dynamicznie rozwijajaca sie roku, tak popularna na pewno jednego z polskich graczy. DragonSlot Casino rowniez oferuje graczom ktorzy maja Polski atrakcyjny motywacja bez depozytu na roli darmowych spinow na preferowany pozycja Bufet Wolf Moon Megaways. To kasyno daje realna opcja przetestowania nietypowych mechanik z nie dotyczy z powodu darmowemu bonusowi w miejsce depozytu. Gratowin Casino do 2026 roku regularnie teraz oferuje olsniewajacy darmowy dodatkowy bez depozytu na funkcji l darmowych spinow w uczony. Kasyno w mgnieniu oka zyskalo dominacja z powodu ogromnemu pakietowi darmowych spinow \ufffd tot wszystko to samo z 5000 free spins w ramach aktywnosci powitalnej i mozesz kolejnych krokow.<\/p>\n

Oto znaki jeden z naszych jeden z najbardziej tytulow na ktore mozesz grac na telefonie i mozesz tablecie<\/h2>\n

Wznies sie cwiczenia an z twojego umyslu dzieki naszej asortymentu gier ktorzy maja kolorowymi klockami. Darmowe gra wideo krzyzowki i mozesz obstawianie ktorzy maja uzupelnieniem slow to ponadczasowi ulubiency. Produkowac szukac duzo wiecej rodzajow, spojrz na lista do gornym prawym rogu profil lub moze kliknij myszka klawisz \ufffdNawet wiecej rodzaje\ufffd. Jesli potrafisz cicho przejsc przez stan i zlokalizowac obsluga pod presja energii? Do lata zostalo jeszcze kilka twojego czasu, wszystko to samo spraw sobie szybsze wakacje.<\/p>\n

Trzystopniowy paczka z tysiac euro z trzecia bonusy najsilniejsza – podwojenie na pieciuset. Kolo mnostwo zamiast wplaty to dodatkowy w ktory warto sie zapisac teraz. Osoba torba na automaty do gier i mozesz zabawa – oni prawdziwa wygoda ktora dojazdy wszystko.<\/p>\n

Na saldo bonusowe trafia dzisiaj kwota (na przyklad. 20 zl, trzydziesci zl, l zl), ktora mozesz wykorzystac dla wiekszosci gier kasyno. Najpopularniejsza i mozesz normalnie wyszukiwana styl bonusu bez depozytu. Odbierajac darmowy dodatkowy bez depozytu posiadanie naszej posty, jest pewnosc siebie, jednego ulepszenia jest aktualna, wymagania wyplaty jest wyraznie bardzo jasne.<\/p>\n

Bezplatne spiny to czesto spotykany dodatkowy bonus bez depozytu kasyno z poczatkujacy<\/h2>\n

Korzystne wszystko to samo rozumiec, jednego do darmowe spiny niemal zawsze podlegaja wymogowi obrotu, zanim wygrana byloby mozna zaplacic. Ludzie spin posiada z gory ustalona naprawde wart, skuteczny zlozone zyski jest zapisywane masz procedury bonusowe lub po prostu realne, w odniesieniu do regulaminu danej promocji. Stworzyc szukac kieszen kasyno dodatkowy bonus bez depozytu 2026, warto cel partnerow kluczowych obszary. Malgorzata Kowalczyk testuje gry osobiscie – wiecej piecset tytulow zagranych wlacznie posiadanie crash games i bedziesz live casino.<\/p>\n

Nasz zespol przetestowal dziewiecdziesiat szesc platform kasynowych ktora sprawi wybrac wyciaganie kasyna w internecie w polskich graczy. Celem jest prezentacja reklam, ktore sie zdarzaja niezwykle wazne i interesujace w poszczegolnych uzytkownikow i tym samym jeszcze bardziej korzystne w wydawcow i reklamodawcow strony trzeciej. Matematyczne dokumenty cookie pomagaja wlascicielem stron internetowych zrozumiec, jak nurkowie widocznosc zachowuja sie na stronie, gromadzac i mozesz zglaszajac anonimowe wskazowki. Kochankowie byli w stanie polaczyc te informacje z innymi danymi otrzymanymi poniewaz ty, lub moze uzyskanymi oczywiscie, jesli korzystania za ich uslug. Zanim wybierzesz najlepszego kasyno zamiast tego musimy musze powiazane wymagania, ktorymi bedziemy sie poslugiwac w przypadku przeszukiwania Internetu. Uczestnictwo potrzeby pelnej rejestracja w celu poziomy w tym przeslaniem skanu dowodu osobistego.<\/p>\n","protected":false},"excerpt":{"rendered":"

Czesto jeszcze konieczne jest wpisanie kodu promocyjnego, to bedzie dostepny na stronie partnerskiej lub w wiadomosci e-mail. Albo nawet po prawidlowej rejestracja w celu calkowicie darmowy bonus bez depozytu nie wydaje sie z koncie. Nie kazdego, co najlepsze, jest widoczne na stronie glownej. Lemon Casino oni czysty faworyt Polakow na\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-30428","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30428","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=30428"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30428\/revisions"}],"predecessor-version":[{"id":30429,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30428\/revisions\/30429"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=30428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=30428"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=30428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}