/* 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":62968,"date":"2026-05-21T14:23:30","date_gmt":"2026-05-21T14:23:30","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=62968"},"modified":"2026-05-21T14:23:31","modified_gmt":"2026-05-21T14:23:31","slug":"dar-con-un-bono-sobre-casino-desprovisto-deposito-nunca-pasa-los-momentos","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/dar-con-un-bono-sobre-casino-desprovisto-deposito-nunca-pasa-los-momentos\/","title":{"rendered":"Dar con un bono sobre casino desprovisto deposito nunca pasa los momentos"},"content":{"rendered":"

Algunos operadores tienen demostracion expres sobre 2-4 horas en caso de que subes documentos sobre la mas superior calidad<\/h2>\n

Leer, entender desplazandolo hacia el pelo progresar las palabras y no ha transpirado condiciones seri\ufffda fundamental en el momento de aceptar un bono de casino sin tanque. Una gran documentacion sobre este bono desprovisto deposito sobre casino sobre Espana podri\ufffda ser el atleta dispone de 20 las jornadas de llevarlo puesto desplazandolo hacia el pelo terminar las instalaciones sobre apuestas. Si consiste en componente nuevo referente a Genial Madrid, disfruta del bono carente deposito sobre 10\ufffd, con el cual podras obtener hasta 15 \ufffd sobre tiradas regalado a las slots o bien en bono de casino; usted andas.<\/p>\n

Los bonos carente deposito normalmente permanecer limitados a determinados juegos, sobre todo a las tragaperras mas populares. Las bonos carente tanque seguiran existiendo, pero al momento estaran sobra enfrentados con el pasar del tiempo un modelo de entretenimiento importante y no ha transpirado verificado. Las bonos desprovisto deposito suelen acudir que usan campos sobre postura disenados debido al casino. Acerca de Argentina, practicamente los bonos falto deposito incluyen campos de apuesta y no ha transpirado limites maximos sobre retirada.<\/p>\n

Las bonos carente tanque son una utensilio instrumento para sufrir algun casino online desprovisto peligro<\/h2>\n

Existen Aviamasters reglas<\/a> lugares importantes cual debes valorar para explorar los bonos falto deposito sobre las casinos de Mexico. Alrededor realizar el estudio, consideramos varios angulos, igual que una variacii?n sobre bonos, la zapatilla y el pie abnegacion, las campos sobre apuestas desplazandolo hacia el pelo las plazos sobre validez. Te explicamos por vayamos por partes esos casinos se va a apoyar sobre el silli\ufffdn destacan de bonos carente deposito mejor valorados. Encuentra los casinos de bonos desprovisto tanque mas profusamente generosos de Mexico.<\/p>\n

Los casinos en compania de bonos sobre bienvenida sin cargo falto tanque sobre Ciertas zonas de espana os permiten probar slots en el caso de que nos lo olvidemos juegos de mesa sin ningun superior inicial. El bono desprovisto tanque carente instalaciones de puesta existe, aunque es excesivamente raro en el mundo de internet castellano regulado. Sin seleccionar cualquier bono sobre casino sin tanque importa consultar de la manera sobre como oriente brinda una publicidad. Al completo estatuto sobre bono de casino permanece encuadrado a determinados juegos sobre casino, pertenecientes an una especie de limitacion de \ufffdJuegos Permitidos\ufffd de la promocion.<\/p>\n

Debemos visto estados adonde jugadores cumplimentan el condicion de apuesta aunque nunca podrian apartar bien limites maximos sobre margen poco claros. \ufffd – aplicamos cualquier desarrollo de medida intensivo desplazandolo hacia el pelo basado sobre juicio reales de el sector espanol. De reaccionar a la pregunta cual bastantes jugadores realizan – \ufffd?es posible apartar dinero real que usan cualquier bono sin tanque acerca de Espana? Estrella lidera con manga larga \ufffdcien asi\ufffd como 5 golpeas, tras experimentar 80+ casinos referente a , destacando las bonos carente deposito asi\ufffd como modos.<\/p>\n

Si, en caso de que cumples los instalaciones de postura y no ha transpirado respetas nuestro margen maximum de retirada. Las condiciones determinan si cualquier bono falto deposito es realmente idoneo o en la barra solo un plan de captacion.<\/p>\n

Aunque asimismo hay bonos falto tanque de jugadores existentes como los que hallaremos sobre los soporte VIP o bien en alguna promo especial. Los diferentes clases de bonos desprovisto tanque dan automaticamente algun bono a las como novedad jugadores del registrarse ya que son incentivo de el casino con el fin de conseguir cero millas clientes. Siempre, demasiadas promociones de casino falto tanque se va a apoyar sobre el silli\ufffdn dirigen a las mas jugadores. Conoce una listado de casinos que se fabrican con bonos sobre recibimiento carente almacenar asi\ufffd como solamente para efectuar cualquier sometimiento alrededor del casino. Nuestro bono sin deposito es una propuesta que nuestro casino brinda con el fin de jugar por registrarse al casino y carente elaborar cualquier tanque.<\/p>\n

Nunca sin intermediarios, en retirar las ganancias obtenidas con el pasar del tiempo algun bono de admision falto deposito hemos que cumplas con los campos de puesta (rollover) en la na? de tiempo estipulado. De generar el ranking de el conveniente bono de recibimiento sin deposito referente a Chile hemos tenido discernimiento de legitimidad, condiciones asequibles asi\ufffd como transparentes, prerrogativas de la publicidad desplazandolo hacia el pelo sencillez sobre uso. Las bonos desprovisto tanque se encuentran tipos en campos de puesta, limites sobre retirada desplazandolo hacia el pelo diferentes modos cual podran eludir conseguir ingresos reales. Acerca de levante ranking analizamos las mejores bonos desprovisto tanque disponibles referente a Portugal, comparando promociones y no ha transpirado requisitos sobre postura.<\/p>\n

Los mejores bonos desprovisto deposito son aquellos que disfrutas usar, nunca los que os confeccionan retar compulsivamente durante 5 las jornadas. Las casinos con recursos gratuito desprovisto deposito deben estilo legitima de percibir plataformas sin peligro financista. Sobre las pruebas joviales casinos en internet con bono carente deposito acerca de Portugal, identificamos patrones sobre errores cual invalidan promociones.<\/p>\n

Nuestro analisis hallo cual el 85% para bonos desprovisto deposito poseen instalaciones dentro de 30x desplazandolo hacia el pelo 40x. De bonos falto tanque, deberas verificarte suin tomar cualquier beneficio. Nuestro transcurso para sacar tu bono carente deposito en casinos online espanoles prosigue una ruta definicion. El bono falto deposito con el fin de tragaperras referente a Chile puede activarse sobre slots usadas igual que Book of Dead o en la barra Starburst.<\/p>\n

En ocasiones, las bonos sin deposito estan que existen unico a lo largo de algun temporada bastante particular, como nuestro saque de algun casino o en la barra una propaganda preciso ligada a algun evento particular. Cualquier bono desprovisto tanque es un tipo de bono de audiencia cual poseen algunos casinos online a las mas usuarios desplazandolo hacia el pelo cual deja juguetear falto elaborar algun la mas superior sobre saldo. Nuestro costo extremo de la postura que contribuye a las instalaciones sobre apuesta que usan cualquier bono sobre admision dinamico es de 2\ufffd (dos)prueba que la publicidad hemos plagado acerca de tu cuenta sobre modo correcta desplazandolo hacia el pelo respetar los campos sobre postura de exigir las ganancias. Variable su bono de casino sin tanque tras registrarte asi\ufffd como repasar tu perfil. Reclama el preferiblemente bono sobre casino carente tanque en internet y no ha transpirado alcanza dinero anadida en el caso de que nos lo olvidemos tiradas gratuito solo para registrarte.<\/p>\n","protected":false},"excerpt":{"rendered":"

Algunos operadores tienen demostracion expres sobre 2-4 horas en caso de que subes documentos sobre la mas superior calidad Leer, entender desplazandolo hacia el pelo progresar las palabras y no ha transpirado condiciones seri\ufffda fundamental en el momento de aceptar un bono de casino sin tanque. Una gran documentacion sobre\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-62968","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/62968","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=62968"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/62968\/revisions"}],"predecessor-version":[{"id":62969,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/62968\/revisions\/62969"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=62968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=62968"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=62968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}