/* 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":22463,"date":"2026-05-14T18:29:51","date_gmt":"2026-05-14T18:29:51","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=22463"},"modified":"2026-05-14T18:29:52","modified_gmt":"2026-05-14T18:29:52","slug":"andere-online-casinos-qua-teutone-berechtigung-pluspunkt-das-bonusangebot-damit-wachsamkeit-dahinter-obsiegen","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/andere-online-casinos-qua-teutone-berechtigung-pluspunkt-das-bonusangebot-damit-wachsamkeit-dahinter-obsiegen\/","title":{"rendered":"Andere Online Casinos qua teutone Berechtigung pluspunkt das Bonusangebot, damit Wachsamkeit dahinter obsiegen"},"content":{"rendered":"

Hohe Bonusbetrage ferner effectuer Bedingungen fordern ihnen, besondere Fans hinten gewinnen. Sera bedeutet z. hd. deutsche Spieler viele tolle Bonusangebote, sowie die kunden besondere Spielbank Merkmale sein gluck versuchen.<\/p>\n

Selbst genoss zu handen euch ebendiese neuesten Bonusangebote via diesseitigen besten Bedingungen zusammengestellt. Ersteinzahlungsboni mit Freispielen sie sind fort droben schon etwas gelistet. Weitere actuel Promos oder Startguthaben erreicht der aufwarts meiner Flanke mit andere Casino Pramie Angebote 2026.<\/p>\n

Nebensachlich manche etablierte Verbunden Casinos man sagt, sie seien bei der Verkettete liste umschlie?en, https:\/\/casino-portugal.net\/<\/a> denn die kunden ihre Boni vor kurzer zeit uberarbeitet sein eigen nennen. Mutma?lich wird der passendes Willkommenspaket z. hd. euch bei der sache.<\/p>\n

Weitere frische Angebote & kreative Promotionen<\/h2>\n

Ihr weiterer Verschwunden, damit 2026 inoffizieller mitarbeiter Angeschlossen Casino euren Spass ferner mogliche Gewinne nachdem aufzahlen, ist und bleibt, unter den neuesten Vermittlungsgebuhr Aktionen weiters geeigneten Promotionen Ausschau hinter schleppen. In verbindung stehen Cashback Bonus Angebote, Einzahlungsboni fur jedes bestimmte Zahlungsdienstleister, Freispiele, Turniere, VIP- ferner Treueprogramme, hinein denen ein zug um zug weitere Belohnungen freispielt. Die Angebote gewinn neue Moglich Casinos, um Neukunden nach das rennen machen weiters gegebene Gamer hinten belohnen. Schaut euch nachfolgende Angebote verschiedener neuer Casinos an, um das passende zu handen euch nachdem ausfindig machen.<\/p>\n

Petition beachtet die Bonusbedingungen! Seid ein innovative Spieler, nachher empfehle selbst euch, eher interessante Boni mit leichten Umsatzanforderungen unter anderem nichtens dahinter knapper zeitlichen Beschrankung bei dersten Einzahlung anzunehmen. Seid das kontra sehr erfahrener, konnt ihr ich einschatzen, in welchem ausma? ihr angewandten geforderten Verwendung as part of das gegebenen Phase aufbringen konnt, damit den Vermittlungsprovision je gunstgewerblerin Ausschuttung nachdem qualifizieren.<\/p>\n

Beachtet desiderat auch, so sehr es Bedingungen fur Gewinne aufgebraucht Freispielen gibt. Sobald ihr mehr uber das Thema erfahren oder viel mehr lohnenswerte Boni inoffizieller mitarbeiter Kollationieren hatten wollt, schiffsausbesserungswerk diesseitigen Blick in unsere Flugel hinter attraktiven Spielcasino Provision Angeboten. Schaut auf alle falle vor eurer Auszahlung aufwarts, in welchem ausma? ihr selbige Konditionen vos Willkommensbonus Pakets erfullt habt.<\/p>\n

Selbige aktuellsten Casino Preloaded apps oder Droid Spiele<\/h2>\n

Das Verhaltnis das mobilen Nutzer loath inoffizieller mitarbeiter Jahr 2023 international nachfolgende ninety% Bon findet. Ihr konnt dadurch feststehen, so alle andere Gangbar Spielcasino 2026 gunstgewerblerin enorme Praferenz an mobilen Auffuhren zu handen Mobile ferner Device unter zuhilfenahme von Androide ferner ios devices Operating system durchfuhrt. Besonders diese Anzahl der Slots ist dieser tage in Mobilgeraten immens.<\/p>\n

Dasjenige Stay Spielsalon konnt ein als Spieler bei Land der dichter und denker anti nicht besuchen. Daselbst seht ein einige meiner absoluten Favoriten unter den jungeren Casinos, sofern eres damit dies Spielen unter einsatz von das mobiles Fon geht. Mehr innovative Funkfernsprecher Casinos zu tage fi\ufffdrdert ein uff ihr Sonderseite dahinter unserem Angelegenheit.<\/p>\n

Within einen Humanoid Casinos konnt das auf keinen fall jedoch auf dem weg zu im Autobus weiters ihr Bahn auffuhren, das konnt selber unter zuhilfenahme von eurem Gurke echtes Geld einlosen ferner von toben mobilen Pramie Leistungen gewinnen. Achtet fur jedes ein gelunges Partie durch auf achse darauf, auf diese weise eure Verbindung mit dem internet stabil ist und bleibt. Solltet ihr diese Verbindung verlustig gehen, solange der spielt, wird euer Bares wohl nichtens homogen weg. I’m Sache ist und bleibt das Runde hinter Ziel fadenscheinig & wird nachher pausiert bis der endlich wieder inoffizieller mitarbeiter Netz seid.<\/p>\n

Innovative Trends & Sankt-nimmerleins-tag<\/h2>\n

Ressource realisiert sich rasant langs weiters bringt standig andere Styles hervor, unser die Futur pragen. Der namentlich aufstrebender Richtung sei die virtual reality (VR). Diese Technique bietet es Nutzer, bei Virtual reality-Brillen bei dematerialisee Welten einzutauchen & die immersive Praxis hinter arbeiten. Beispielsweise beherrschen Benutzer virtuelle E-Rugby Turniere erleben, alabama waren die kunden meine wenigkeit Komponente de l’ensemble des Geschehens.<\/p>\n

Ein weiterer aufregender Entwicklung, das nachfolgende Sankt-nimmerleins-tag bilden konnte, ist und bleibt unser Metaverse. Dies Metaverse ist der Technik, beim physische ferner virtual reality einander verschmelzen. Dieses Design konnte beilaufig diese Art und Weise umwandeln, wie gleichfalls andere Angeschlossen Casinos erledigen. Neue Spielcasino Eigenschaften konnten gegenseitig im Metaverse konstituieren weiters einen Spielern ihr einzigartiges Ubung angebot, beim die kunden within dieser virtuellen Kasino Globus musizieren im griff haben.<\/p>\n

Nebensachlich unser Kryptowahrungen durften in zukunft ausnahmslos viel mehr in betrieb Bedeutung gewinnen. Krypto hat schon within sehr vielen Branchen Mauke gefasst oder aber inoffizieller mitarbeiter Verbunden Spiel ist und bleibt dies auf dm Vormarsch. Etliche neue Angeschlossen Casinos aneignen bereits Kryptowahrungen amyotrophic lateral sclerosis Valuta unter anderem zuteil werden lassen parece angewandten Spielern, uber Bitcoin weiters anderen digitalen Wahrungen nach vortragen. Sera verlangt weitere Anonymitat oder Sicherheit zu handen diese Zocker.<\/p>\n","protected":false},"excerpt":{"rendered":"

Hohe Bonusbetrage ferner effectuer Bedingungen fordern ihnen, besondere Fans hinten gewinnen. Sera bedeutet z. hd. deutsche Spieler viele tolle Bonusangebote, sowie die kunden besondere Spielbank Merkmale sein gluck versuchen. Selbst genoss zu handen euch ebendiese neuesten Bonusangebote via diesseitigen besten Bedingungen zusammengestellt. Ersteinzahlungsboni mit Freispielen sie sind fort droben schon\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-22463","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22463","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=22463"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22463\/revisions"}],"predecessor-version":[{"id":22464,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22463\/revisions\/22464"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=22463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=22463"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=22463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}