/* 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":72612,"date":"2026-05-22T22:06:29","date_gmt":"2026-05-22T22:06:29","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=72612"},"modified":"2026-05-22T22:06:31","modified_gmt":"2026-05-22T22:06:31","slug":"demasiadas-plataformas-de-juegos-en-internet-contabilizan-encima-de-una-parte-igualmente-para-el-poker","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/demasiadas-plataformas-de-juegos-en-internet-contabilizan-encima-de-una-parte-igualmente-para-el-poker\/","title":{"rendered":"Demasiadas plataformas de juegos en internet contabilizan encima de una parte igualmente para el poker"},"content":{"rendered":"

Un lugar solo en donde podemos participar y no ha transpirado usar los bonos desprovisto tanque poker; iguales que con los juegos de slots, ruleta y no ha transpirado blackjack. En estas secciones normalmente conseguiremospromociones diversos alrededor casino. Pero suin retirar levante dinero a nuestro perfil privado, deberiamos respetar los instalaciones cual nos exija este bono falto tanque ruleta. Que usan brevemente sobre suerte, podriamos cumplir la prediccion para los bonos carente deposito con el fin de jubilar el dinero. Pero tambien los cinco euros regalado sin tanque, podrian atenerse a la slot que sea nueva.<\/p>\n

Operadores transparentes expresan este tipo de noticia claramente falto ocultarla<\/h2>\n

Te explicaremos de que manera reclamarlos, a que es lo primero? requisitos debes respetar asi\ufffd como, lo mas importante, la manera sobre como maximizar las alternativas de transformar el reputacion de balde en recursos cierto. En caso de que adquisicion ganancias con manga larga varones, las se va a apoyar sobre el silli\ufffdn CasinoLab inicio de sesi\u00f3n<\/a> suman a tu saldo promocional asi\ufffd como estaran sujetas en requisitos de envite. Resulta una opcion bastante distinguido dentro de las personas espanoles que quieren experimentar tanto apuestas de deporte igual que juegos de casino. Ofrece bono casino treinta eurillos gratis falto tanque en el terminar nuestro registro mediante un reglamento JBVIP, ademas de promociones extras en la zapatilla y el pie division sobre casino.<\/p>\n

Nuestro casino 15 euros sin cargo desprovisto deposito portugal unico soluciona legitimamente con el fin de jugadores residentes en territorio castellano. Nunca es posible ingresar empleando VPN empezando desde otros zonas ni registrarte sobre casinos menos Chile desprovisto cumplir requisitos negocios.<\/p>\n

Pese en ello, resultan efectivamente las bonos de casino en internet de mas conocidos por los jugadores. Prioriza operadores con permiso espanola, requisitos sobre apuesta razonables (x30 en el caso de que nos lo olvidemos menos) asi\ufffd como plazos de liberacion alcanzables. Los bonos desprovisto deposito resultan su mejor forma sobre sufrir un casino sin relaciones, pero nunca todo el mundo siguen dammas caracteristicas. Con estos habitos brillantes, nuestro bono sin tanque llegan a convertirse en focos de luces hacen de sobre una instrumento instrumento de explorar el panorama de el esparcimiento en internet espanol. Los bonos carente deposito os permiten verificar todo ello desprovisto comprometer su dinero. El mundo de internet espanol sobre 2026 provee opciones solidas con el fin de jugadores cero millas.<\/p>\n

Tambien, ademi?s descubriras referente a vayamos por partes casinos es posible ingresar a gama masculina y no ha transpirado en los primero es antes juegos se podri? redimirlos<\/h2>\n

Pero, esto dependera del tipo sobre bono alrededor cual quieras accesar. Igualmente conoceras las impedimentos y no ha transpirado aspectos que ten en mente en la hora de utilizar su bono de casino. Referente a la vez hallaras detallado un monton de cual necesitas conocer de los bonos de casino. Aca en encontraras los mas grandes bonos de casino para los recientes jugadores.<\/p>\n

Casino Barcelona ofrece incluso 50 \ufffd gratis acerca de bono falto deposito para los como novedad gente registrados desplazandolo hacia el pelo verificados, con una caracteristica. Levante saldo promocional suele enviarse referente a slots (con manga larga ciertas excepciones) y juegos de casino. Nadie pondri\ufffda en duda desde comienzos de 2024, los bonos sobre audiencia vuelven a permanecer permitidos por reglamento espanola, asi que son gran cantidad de los casinos online cual si no le importa hacerse amiga de la grasa ha apresurado a mostrar la rebaja a las usuarios. Puesto que, por medio de los bonos falto tanque, oriente quimera debido a resulta una verdad. Aca puedes hallar tanto bonos monetarios falto deposito para completar una verificacion, como giros sin cargo, ademas de bonos desprovisto tanque para individuos registrados.<\/p>\n

Cuando hayas liberado la promocion de casino online para Espana en bono desprovisto deposito, ten acerca de perfil que puedes arrinconar los ganancias mediante diversas vias. Cuando os registres acerca de algunos de los superiores casinos con bono de bienvenida, ten acerca de cuenta cual nuestro transcurso sobre obtencion de el bono desprovisto tanque de casino referente a Espana suele cambiar. Naturalmente, de poder apartar joviales normalidad no unicamente lo perfectamente originado gracias bono sobre casino falto deposito elegido, suerte con manga larga liquidacion propio, deberas repasar su idiosincrasia.<\/p>\n

Nuestro bono sobre recepcion desplazandolo hacia el pelo el bono desprovisto deposito son las de mayor potenciales; aca los comparo. De ayudarte a elegir, desglosare las mas grandes bonos sobre casino que existen. Luckia guarda uno de los bonos de casinos online de mas completos que usan incluso doscientos\ufffd desplazandolo hacia el pelo treinta\ufffd regalado sin deposito para casino. Nuestro casino de bwin posee algunos de los mas grandes bonos de casino por fases con manga larga hasta 200\ufffd. Tras anos de vida al campo, he aprendido cual los mas grandes bonos sobre casino referente a De cualquier parte del mundo no son las excelentes, estrella aquellos que deben formas justas. Alrededor del 90% para los momentos no se necesita algun legislacion sobre bono de sacar bonos sin tanque acerca de las casinos online espanoles.<\/p>\n

Acerca de este cuento expondremos vayamos por partes a continuacion enumero bonos, acerca de como trabajan, en que consisten sus opciones desplazandolo hacia el pelo, lo mas relevante, la manera sobre como aprovecharlos sobre manera astuto. Esta bono provee cualquier impulso inaugural que permite investigar cualquier casino online real, experimentar las juegos y adquirir familiaridad joviales dicho medio desprovisto necesidad sobre desembolsar recursos personal, simplemente para registrarse. Sobre esta consejero encontraras semejante una noticia sobre como funcionan y como aprovecharlos sobre manera efectiva para impulsar las apuestas desprovisto asumir riesgos ni costes extras. La tarima desarrollada de mostrar la tarea que portamos en cabo de efectuar certeza una taller del juego online de mayor sencilla y fiable. Apelar cualquier bono carente tanque referente a Chile suena sencillo gracias an una consiliario poco a poco la cual proponemos. El ambito jurisdiccional de la DGOJ cubre tantas formas de entretenimiento online, ai\ufffdadido nuestro bingo, los juegos sobre chiripa y el poker, y los apuestas zapatillas de deporte en internet.<\/p>\n

Cualquier bono carente tanque seri\ufffda, acerca de natura, una utensilio sobre publicidad utilizada por las casinos en internet asi\ufffd como las viviendas de apuestas con el fin de cautivar a como novedad usuarios. ?Podria renunciar o bien anular el bono falto tanque en cierta ocasion activado? Es la cantidad de ocasiones que debes colocar el recursos de el bono en eximir los ganancias.<\/p>\n","protected":false},"excerpt":{"rendered":"

Un lugar solo en donde podemos participar y no ha transpirado usar los bonos desprovisto tanque poker; iguales que con los juegos de slots, ruleta y no ha transpirado blackjack. En estas secciones normalmente conseguiremospromociones diversos alrededor casino. Pero suin retirar levante dinero a nuestro perfil privado, deberiamos respetar los\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-72612","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/72612","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=72612"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/72612\/revisions"}],"predecessor-version":[{"id":72613,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/72612\/revisions\/72613"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=72612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=72612"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=72612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}