/* 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":73220,"date":"2026-05-22T22:11:23","date_gmt":"2026-05-22T22:11:23","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=73220"},"modified":"2026-05-22T22:11:24","modified_gmt":"2026-05-22T22:11:24","slug":"sin-embargo-cualquier-bono-sin-tanque-sobre-slots-suele-ofertar-tiradas-en-una-tragaperras-concreta","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/sin-embargo-cualquier-bono-sin-tanque-sobre-slots-suele-ofertar-tiradas-en-una-tragaperras-concreta\/","title":{"rendered":"Sin embargo, cualquier bono sin tanque sobre slots suele ofertar tiradas en una tragaperras concreta"},"content":{"rendered":"

Cualquier bono para registro desprovisto depositose dinamica alrededor del crear la cuenta asi\ufffd como suele concederse como 20Bet bono sin dep\u00f3sito<\/a> liquidacion promocional o en la barra como tiradas gratis. Si, con las bonos sin deposito, que poseen venta o en la barra tiradas de balde con el fin de cero millas individuos.<\/p>\n

Los bonos sin deposito resultan con una modo sobre empezar en apostar, sin embargo conviene utilizarlos joviales algo de estrategia con el fin de maximizar las ganancias potenciales. En seguida, demasiadas plataformas han sustituido los bonos falto deposito habituales para otras promociones de recientes usuarios, igual que apuestas seguras, freebets tras la primera postura indumentarias cuotas mejoradas. Los bonos sin tanque sobre apuestas deportivas han sido durante gran cantidad de anos unas los promociones mayormente buscadas para los consumidores, puesto que permitian iniciar a colocar desprovisto hacer ninguno la mas superior inicial.<\/p>\n

Totalmente si; Tambien, las jugadores que llevan a cualquier casino en internet regalado desprovisto deposito por cualquier dispositivo smartphone acostumbran a obtener promociones sobre casino online falto tanque desplazandolo hacia el pelo publicaciones exclusivas de mayor bonitos. Ello dependeri? de los Palabras asi\ufffd como Caracteristicas aplicados en levante bono desprovisto tanque. Tambien podras emplazar dentro del casino referente a avispado asi\ufffd como hacer doblar los maquinas tragamonedas. No obstante, ten acerca de cuenta cual lo mas viable es que imposible se te dejen jugar casino en internet carente deposito jackpots, sobre todo jackpots progresivos. La onedas, video poker, juegos de ideas, ruletas y no ha transpirado especialidades como Keno, cartas rasca y apetito, etc.<\/p>\n

Pero los bonos sin deposito resultan cuando de mas extranos en 2026, todavia se puede comenzar carente riesgo con manga larga giros de balde acerca de juegos seleccionados. Las bonos de audiencia podrian insertar condiciones igual que instalaciones de puesta, margen de postura, validez, contribucion de juegos asi\ufffd como limite sobre retirada o en la barra cash-out cap. Si deseas entender de que manera ameritan estas promociones al conpliar una noticia en la asesor sobre bonos sobre casino. Asi que, en lugar de darte una lista largo, aqui agrupamos los bonos sobre recibo para perfil sobre componente. Para cuando la cual registres por ocasion en un casino asi\ufffd como solicites el bono de recibo sin tanque, separado lo perfectamente leeras sobre como elaborar en cierta ocasion. Nuestro equipo de expertos han revisado las promociones para los superiores casinos online sobre Argentina en la busqueda para mejores bonos de casino sin deposito.<\/p>\n

Las bonos falto deposito permiten encontrar juegos y lucro positivo sin embarcar tu propio dinero<\/h2>\n

Observa jugando en compania de ese dinero anadida, o bien a los avances gratis, en las juegos en el caso de que nos lo olvidemos titulos cual se encuentran alumbrados debido al bono de el casino. Los pasos para sacar bonos de casino de audiencia de cualquier casino castellano son muy simples. A los efectos y no ha transpirado formas del casino, se va a apoyar sobre el silli\ufffdn especifican los instalaciones de el bono sin tanque. Las bonos sin deposito resultan los superiores recompensas cual las casinos en linea tienen a las nuevos jugadores. En este instante caso, los giros gratuito pueden ir acompanados de una descuento alrededor venta depositado. Continua con nosotros y no ha transpirado conoceras las bonos de casino mayormente relevantes, asi\ufffd como consejos a considerar.<\/p>\n

Pues debido a, en 2020 le vino a el momento sobre progreso a las condiciones de estas promociones y los bonos de bienvenida. Esta hemos encargado de que apostar referente a los casinos online podri\ufffda llegar a ser totalmente seguro, de eludir por eso tus informaciones corran riesgo. Sobre todo, para las tiradas regalado, llegan a convertirse en focos de luces limitan an algunas tragaperras. Entretanto cual existe otras promociones que estaran destinadas unicamente a precios de ruleta y las variantes. Veras a su disposicion bonos de cincuenta giros regalado desprovisto tanque sin embargo cual se encuentran que hay en el comercio separado para juegos sobre asiento. Cuando serian bonos sobre recibimiento, podran perdurar simplemente 24 muchas horas.<\/p>\n

Ambos casinos lanzan giros regalado falto tanque sobre manera periodica, pero nunca son permanentes. Igualmente, la verificacion total de su perfil (KYC) seri\ufffda imprescindible antes de enjuiciar todo retiro en los novios operadores sobre dicha lista. Acerca de 888Casino el maximo retiro de el bono carente deposito seri\ufffda de 500 \ufffd; acerca de Boomerang ronda las 50 \ufffd; acerca de National Casino puede regresar los 100 \ufffd. Dentro de los casinos dinamicos en el mundo de internet castellano acerca de 2026, 888Casino se sale con el pasar del tiempo 88 giros regalado carente tanque desplazandolo hacia el pelo cualquier rollover sobre unico x20 de los ganancias, estando nuestro sobre esencia mayormente favorecedores entre los operadores con autorizacion DGOJ. BoaBoa resulta una de estas incorporaciones finales a la listado de sugerencias del equipo Sistel. El catalogo pasari\ufffda los iv.100 precios y no ha transpirado incluyo profesional con el fin de que encuentres con facilidad slots para proveedor, volatilidad asi\ufffd como tematica.<\/p>\n

Descubre las casinos de bonos desprovisto deposito mayormente generosos de Mexico. Las casinos que nunca cumplen algunos de estos genericos son anadidos en la listado negra. Registrate al casino en internet, opcionalmente que usan un legislacion promocional, verifica tu cuenta, y no ha transpirado el bono se va a apoyar sobre el silli\ufffdn acreditara automaticamente indumentarias usando legislacion promocional. Sin embargo, sabemos conocer que esos bonos acostumbran a permanecer individuos en formas, como requisitos de envite o bien limites sobre jubilacion, lo cual suele perjudicar nuestro monto extremo cual se podra apartar. Las bonos carente deposito resultan la magnifico modo para que las jugadores se inicien referente a las casinos en internet sin encontrarse cual invertir dinero de contiguo. Cualquier aspectos calculado, jugando en el plazo largo, suele acontecer de mayor efectivo para seguir a los requisitos sobre apuesta.<\/p>\n

Registrate, demostracion los tragamonedas y incrementa tus posibilidades de ganar carente deposito<\/h2>\n

Dentro del primer supuesto, nuestro cirujano inscribiri? compromete en devolverte adorno de el dinero tirado acerca de nuestro caso de que la apuesta no encuentra nacido ganadora. Admite Bizum desplazandolo hacia el pelo cuenta con un plan VIP.888 Casino88 giros de balde sin tanque + 150\ufffd. Retiradas carente limite maximum desplazandolo hacia el pelo campos sobre apuesta cutres.Gratogana50 giros de balde desplazandolo hacia el pelo el 500% del primer tanque.<\/p>\n","protected":false},"excerpt":{"rendered":"

Cualquier bono para registro desprovisto depositose dinamica alrededor del crear la cuenta asi\ufffd como suele concederse como 20Bet bono sin dep\u00f3sito liquidacion promocional o en la barra como tiradas gratis. Si, con las bonos sin deposito, que poseen venta o en la barra tiradas de balde con el fin de\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-73220","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/73220","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=73220"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/73220\/revisions"}],"predecessor-version":[{"id":73221,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/73220\/revisions\/73221"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=73220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=73220"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=73220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}