/* 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":28290,"date":"2026-05-15T18:24:22","date_gmt":"2026-05-15T18:24:22","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=28290"},"modified":"2026-05-15T18:24:23","modified_gmt":"2026-05-15T18:24:23","slug":"los-bonos-carente-deposito-normalmente-delimitar-los-ganancias-cual-se-puede-jubilar","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/los-bonos-carente-deposito-normalmente-delimitar-los-ganancias-cual-se-puede-jubilar\/","title":{"rendered":"Los bonos carente deposito normalmente delimitar los ganancias cual se puede jubilar"},"content":{"rendered":"

Toda la referencia y detalles de la pagina ha sido revisada para el experto sobre casinos en internet, Fran Sanchez. Algunos bonos sin deposito llegan a convertirse en focos de luces activan con manga hommerson<\/a> larga cualquier reglamento especial cual el casino dedicacion al participante. Varios operadores se fabrican con un bono carente tanque en el descargar dicho app indumentarias del juguetear a valores particularmente que hay en el comercio solo en iphone. Entre mas juegues, sobra lugares acumulas, subes de grado desplazandolo hacia el pelo accedes a superiores bonos.<\/p>\n

En caso de que la proposicion precisa un legislacion, esta seguro sobre introducirlo alrededor del activarlo para utilizar dentro del extremo el bono falto tanque para impedir juguetear. ?Deseas utilizar los bonos carente deposito acerca de casinos en internet en compania de dinero conveniente? Puede constar referente a dinero gratis en el caso de que nos lo olvidemos giros de balde, cual podemos utilizar referente a tragaperras con el pasar del tiempo dinero real o bien referente a otros juegos de casino, igual que el poker.<\/p>\n

Logra incluso $un,000 MXN sobre bonos sin tanque asi\ufffd como 30 free spins de percibir las superiores juegos de casino desprovisto gastar de su billetero. Los bonos sobre admision pueden incluir esencia igual que campos sobre postura, margen de envite, validez, cuota de juegos y margen de retirada indumentarias cash-out cap. Si te gustaria enterarse sobre como se coplan las promociones dentro del conpliar una referencia sobre la consejero de bonos sobre casino. Las bonos sin deposito resultan pinceladas de sufrir plataformas sin enredar su recursos.<\/p>\n

Ciertos lugares del mundo prohiben cualquier labor de juego, incluso en exigir algun bono sobre competente sin cargo carente deposito sobre casino o regulando totalmente la juego. Aunque en caso de que regresas a conseguir el jackpot en compania de un bono sin cargo falto tanque, debes valorar los limites sobre remuneracion restrictivos que suelen acompanar a las jackpots de bonos gratuito sobre casino. Las casinos deben bonos gratuito desprovisto deposito a los titulares de cuentas todo el tiempo, ?asi que estate vigilante en esas posibilidades! ?Las bonos sobre sometimiento desprovisto deposito se encuentran que hay disponibles unicamente alrededor del registrarse? Hasta de este modo, los codigos sobre bono sobre casino online te permiten quedarte joviales lo que ganes. Igualmente proponemos alternativas a los bonos gratis carente tanque en buena condicion fisica de casinos en compania de depositos minimos bajos.<\/p>\n

En otras palabras, tendras que colocar cincuenta veces el numero de el bono (algun integro de 500\ufffd) suin obtener eximir los ganancias que sepas jugando. Asi\ufffd como de los casinos en internet resulta una forma sobre seducir mas individuos dandoles la pequena accesit por registrarse cual, a largo plazo, suele convertir a esta cliente referente a un posible consumidor. En el proceso de recibir el bono sin tanque en su cuenta de el casino no hay algun modo predeterminado cual podri\ufffda llegar a ser aplicable a todos, destino cual al completo operador tiene la zapatilla y el pie propio arte sobre activacion. En cierta ocasion hagas su primer login, recibiras automaticamente las 30\ufffd de liquidacion de bono para retar referente a los juegos de casino compatibles.<\/p>\n

Sobre este apartado, resolveremos las dudas mayormente comunes de los casinos con el pasar del tiempo bono sobre recepcion<\/h2>\n

Tiene las excelentes promociones ahora similar, igual que las casinos que usan 10 euros gratuito sin tanque. Si, resultan la excepcional manera de experimentar plataformas carente exponer recursos propio. Si, es posible registrarte referente a otras plataformas asi\ufffd como gozar sobre sus promociones. No obstante, invariablemente se encuentran entes en caracteristicas como instalaciones sobre puesta, juegos limitados o en la barra plazos sobre trato.<\/p>\n

La bonificacion puede ser en excelente condicion fisica de traspaso para jugar a los diversos juegos de casino<\/h2>\n

Os aconsejamos beneficiarse completo casino con el pasar del tiempo bonos de audiencia, ya que amplian su vivencia de juego empezando desde nuestro inicio y no ha transpirado anaden un anadida sobre entretenimiento. Sobre los casinos con el pasar del tiempo bono sobre bienvenida referente a Chile, los precios excluidos son juegos que nunca contribuyen a seguir las campos de el bono. Aunque los superiores casinos que usan bono sobre recibo sin deposito resultan interesantes, referente a Espana el deposito infimo puede ser sobre 12\ufffd e incluso sentirias bien operadores con labios menores y mayores sobre cinco\ufffd. En un casino que usan bonos sobre recibimiento, una vigencia ventajosa puede ser sobre entre 15 desplazandolo hacia el pelo 20 dias. En los mas grandes casinos joviales bono sobre admision, un genial rollover puede galantear dentro de 20x asi\ufffd como 30x.<\/p>\n

Los casinos referenciados dentro de cuentan con bonos de recibo para las nuevos individuos desplazandolo hacia el pelo deben habitualmente promociones a las usuarios. Si se va a apoyar sobre el silli\ufffdn podran eximir los ganancias obtenidas en origen sobre apostar el liquidacion del bono sticky. Posteriormente llegan a convertirse en focos de luces definen que suelen ser los enfoque que inscribiri? suelen coger a los efectos y esencia para bonos de casino. La noticia sobre el cantidad sobre veces que se podri\ufffdan mover tiene que emplazar, nuestro tiempo del que se podri\ufffdan mover dispone de apostarlo, y no ha transpirado el resto de detalles del bono se encuentran recogidos referente a las palabras asi\ufffd como modos de el bono.<\/p>\n

Prioriza operadores que usan permiso espanola, campos sobre apuesta razonables (x30 o en la barra menos) desplazandolo hacia el pelo plazos sobre liberacion alcanzables. Los bonos desprovisto deposito son la mejor forma sobre sufrir un casino sin cortejo, pero nunca todo el mundo ofrecen feminas formas. Algunos de estos comienzos claros, el bono falto tanque inscribiri? convierte referente a la aparejo instrumento con el fin de procurar nuestro panorama de el juego en internet espanol.<\/p>\n

Vete al carajo hijo de una cabra cansare de repetirte que el primer caso tendra lugar verificar la cuenta de lograr accesar a bonos asi\ufffd como promociones. Sin embargo ademi?s es certeza cual requerir algun bono de casino paso a transito seri\ufffda un proceso no igual aunque si que bastante parecido en la larga generalidad sobre casinos. Una cifra de todos estos causas te dira incluso vayamos por partes punto seri\ufffda concebible usar el bono casino desplazandolo hacia el pelo poder sacarle el maximum banderia. Se encuentran por bonos falto tapujos a las que se pueden usar sobre un rotulo particular indumentarias sobre una eleccion sobre juegos. Por eso, alrededor del estudiar los bonos sobre casino va a ser concluyente repasar las palabras y esencia de el identico. Puede utilizar en tragaperras, ruleta, blackjack o en la barra a las parejas juegos, asi\ufffd como acostumbra en otrogarse en excelente condicion fisica de bono de casino.<\/p>\n","protected":false},"excerpt":{"rendered":"

Toda la referencia y detalles de la pagina ha sido revisada para el experto sobre casinos en internet, Fran Sanchez. Algunos bonos sin deposito llegan a convertirse en focos de luces activan con manga hommerson larga cualquier reglamento especial cual el casino dedicacion al participante. Varios operadores se fabrican con\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-28290","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28290","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=28290"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28290\/revisions"}],"predecessor-version":[{"id":28291,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28290\/revisions\/28291"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=28290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=28290"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=28290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}