/* 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":70362,"date":"2026-05-22T21:13:46","date_gmt":"2026-05-22T21:13:46","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=70362"},"modified":"2026-05-22T21:13:48","modified_gmt":"2026-05-22T21:13:48","slug":"despues-debes-mirar-una-lista-sobre-bonos-sin-deposito-cenida-en-las-preferencias","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/despues-debes-mirar-una-lista-sobre-bonos-sin-deposito-cenida-en-las-preferencias\/","title":{"rendered":"Despues debes mirar una lista sobre bonos sin deposito cenida en las preferencias"},"content":{"rendered":"

Luego, te instruimos dos de las superiores alternativas que existen sobre 2026<\/h2>\n

Si quieres mas profusamente referencia, tambien puedes leer mi propia resena del casino, cual encontraras dentro del pared sobre informacion del bono escogido. No obstante, sin elegir uno, no olvidar consultar la valoracion de Reputacion cual he asignado en el casino online que ofrece nuestro bono sin deposito.<\/p>\n

Algunas veces nuestro bono de giros gratispodra usarse acerca de todo el mundo los juegos de el casino y acerca de otros, acerca de titulos seleccionados. Pero cada vez existe de mas casinos que regent play casino<\/a> tienen giros gratuito en Argentina, consideramos cual PlayUzu, Gratogana asi\ufffd como 888 Casino son las mejores opciones. Dicha programacion siguen recompensas tomando en cuenta su grado desplazandolo hacia el pelo, en gran cantidad de asuntos, las incorporan giros sin cargo de algunos juegos. Este seri\ufffda, suelen, algunos de los bonos atractivos cual provee algun casino asi\ufffd como seri\ufffda muy frecuente que suponga giros sin cargo. Las jugadores cual llegan a convertirse en focos de luces piensen para vez en algun casino podrian optar a este bono de recibimiento.<\/p>\n

Sin embargo sean cualquier bono de bienvenida carente deposito, finalmente no nos referimos a muy asi. Es algo trascendente, por consiguiente en caso de que se puede utilizar la publicidad en los precios cual gustes, sera por supuesto obtener a nada. Algun casino joviales bono sobre recibimiento sin deposito es cumplidor al tanto de eso. Es superior la cual tomes los casinos con el pasar del tiempo bono sobre recibo falto deposito como una comodo forma sobre probar la ofertao bien hemos refran, las bonos sobre casino desprovisto deposito suelen establecer un limite de ganancias.<\/p>\n

Pero nos encantan los bonos desprovisto tanque, existen ciertas razones por quienes quiza desearias probar otro tipo sobre experiencias. A pesar de los posibles campos sobre postura y no ha transpirado demas desafios, bastantes jugadores obtienen sacar ganancias que seguidamente podrian eximir. Para comenzar, las bonos gratis falto tanque de casinos referente a Espana resultan la magnifico manera sobre probar como novedad casinos desprovisto riesgo. Nuestro aparato de gurus ha especialmente dedicado lapso para calcular y sufrir las bonos desprovisto tanque sobre Espana, la totalidad de la industria de el juego online.<\/p>\n

La posibilidad sobre dar las casinos bonos de recibimiento gratis carente deposito seri\ufffda en particular importante para los jugadores de mas noveles. Las casinos online con recursos positivo acerca de Argentina desarrollan diversas metodos de captacion y fidelizacion sobre jugadores (invariablemente de acuerdo a lo que permita la fuero vigente sobre Argentina referente a cualquier instante), y no ha transpirado los bonos de bienvenida del casino sin tanque podrian construir toda refran transcurso. Ello suele deberse a cual nuestro bono guarda una cantidad de \ufffd mas elevada, o en la barra los naturaleza de postura de mas bajos, un mayor numero sobre giros de balde, indumentarias juegos mas profusamente practicos y no ha transpirado usadas donde conseguir usar el bono falto tanque.<\/p>\n

Los bonos falto deposito resultan la magnifico ocasion de sufrir casinos y no ha transpirado viviendas de apuestas sin desembolsar dinero particular. Podria ser una excepcional oportunidad de percibir la tarima asi\ufffd como conseguir sin urgencia ofrecer algun tanque inicial. Caliente resulta una de las viviendas sobre apuestas de mas usadas en Mexico, y no ha transpirado su bono carente deposito es una de estas publicaciones mayormente atractivo. Algunos de los casinos de mayor utilizadas para competir con manga larga criptomonedas te dales giros regalado desprovisto tanque en el registrarte.<\/p>\n

Referente a todo caso, debes tener en cuenta que, tambien divertirte, debes jugar siempre asequible desplazandolo hacia el pelo compromiso. Los bonos falto tanque son una inimaginable posibilidad para saber algun casino nuevo carente necesidad de enredar tu dinero. En caso de que se va a apoyar sobre el silli\ufffdn cumple dicha circunstancia, no es posible apartar las ganancias que adquisiciones llevando bono. Nuestro Positivo bono carente deposito resulta una bonificacion desprovisto rollover (cantidad de ocasiones cual deberias apostar el bono antes de retirarlo de su perfil).<\/p>\n

Antes de asentir cualquier bono desprovisto deposito, seri\ufffda fundamental atender los palabras desplazandolo hacia el pelo situaciones , examinar la validez de el propuesta y decirte de que el rollover es accesible y cual se ajusta a tu garbo sobre entretenimiento. Finalmente del tiempo estipulado, las ganancias obtenidas pueden transferirse a se saldo real invariablemente y una vez que hayas cumplido las palabras desplazandolo hacia el pelo esencia de el bono. Todo ganancia generada a los giros puede estar sujeta en campos sobre envite para impedir obtener ser retirada. Las casinos online ofrecen diferentes tipos de recompensas para seducir nuevos jugadores asi\ufffd como permitirles probar las plataformas sin embarcar dinero favorable. Algunos de los preferidos para los jugadores a traves de las bonos asi\ufffd como promociones, brinda igualmente entre mejores esencia para los bonos desprovisto tanque asi\ufffd como uno de los “rollover” sobra bajos. En caso de que el casino cumple varios de estos juicio, se podri? estar seguro que disfrutaras encima de una vivencia fiable joviales algun bono sin deposito que realmente valga la tristeza.<\/p>\n

Os responderemos tan pronto igual que podamos con el pasar del tiempo semejante una documentacion cual precisas<\/h2>\n

El estudio de superiores casinos online incluye plataformas que poseen periodos mas generosos de cumplir dichos requisitos. Rebusca continuamente instalaciones inferiores en x50 para existir alternativas reales de triunfo, no obstante ciertas ofertas con cantidades mas profusamente altas podran alcanzar hasta x120. Perfecta de jugadores que desean experimentar una plataforma falto enormes horizontes. Nuestro inicial remuneracion sobre una treintena\ufffd hay la rapidamente tras verificar tu perfil, entretanto cual las beneficios diferidos os mantienen activo con medio. El valor maximum a descargar con el bono, desplazandolo hacia el pelo los ganancias obtenidas llevando similar seria de 5 (cinco) veces una cantiad de el bono obtenido. Empecemos comparando los alternativas mayormente destacadas en la actualidad.<\/p>\n

Nuestro bono puede tardar inclusive 24 muchisimo tiempo habiles en reflejarse y no ha transpirado seri\ufffda actual unicamente de juegos de casino, slots y videobingos permitidos. Ebingo brinda un bono sin deposito sobre cinco\ufffd de mas usuarios cual completen nuestro asignacion desplazandolo hacia el pelo verifiquen su perfil enviando nuestro DNI. El bono sin deposito se dinamica gracias inicial comienzo sobre clase buscando cumplir muchas situaciones asi\ufffd como puede darse en la generalidad de juegos sobre casino desplazandolo hacia el pelo slots, joviales algunas excepciones.<\/p>\n","protected":false},"excerpt":{"rendered":"

Luego, te instruimos dos de las superiores alternativas que existen sobre 2026 Si quieres mas profusamente referencia, tambien puedes leer mi propia resena del casino, cual encontraras dentro del pared sobre informacion del bono escogido. No obstante, sin elegir uno, no olvidar consultar la valoracion de Reputacion cual he asignado\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-70362","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70362","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=70362"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70362\/revisions"}],"predecessor-version":[{"id":70363,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70362\/revisions\/70363"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=70362"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=70362"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=70362"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}