/* 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":72148,"date":"2026-05-22T22:02:10","date_gmt":"2026-05-22T22:02:10","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=72148"},"modified":"2026-05-22T22:02:11","modified_gmt":"2026-05-22T22:02:11","slug":"nuestra-guia-del-momento-te-otorga-listas-consejos-y-no-ha-transpirado-respuestas-claras-con-el-fin-de-maximizar-tu-bono","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/nuestra-guia-del-momento-te-otorga-listas-consejos-y-no-ha-transpirado-respuestas-claras-con-el-fin-de-maximizar-tu-bono\/","title":{"rendered":"Nuestra guia del momento te otorga listas, consejos y no ha transpirado respuestas claras con el fin de maximizar tu bono"},"content":{"rendered":"

La zapatilla y el pie bono carente deposito puede ofrecerse como venta vano buscando terminar el asignacion<\/h2>\n

Nuestro naturaleza de postura se vive al economico una vez que es de x20 o en la barra menor. Los bonos sobre casino resultan regalitos para almacenar o registrarte en algun casino. En caso de que esti?s a punto de unicamente esa promociones, puedes consultar nuestra plana dedicada a las bonos carente tanque sobre Espana, en donde analizamos unicamente la promociones. Las promociones siguen dinero sobre bono o efectivo del registrarte asi\ufffd como del comprobar tu cuenta, aunque acostumbran a haber campos sobre apuesta elevados y no ha transpirado limites de retirada.<\/p>\n

Algunas de casinos sugieren cualquier limite extremo en goldrun casino<\/a> las ganancias cual podrian retirarse en compania de un bono desprovisto tanque. Seri\ufffda importante estar seguros de tener la relacion segura al acceder en el casino en internet asi\ufffd como demandar el bono, para guarecer la informacion individual y no ha transpirado asegurar una pericia segura. Cualquier bono falto tanque es una publicidad cual las casinos online otorgan gratuitamente tras el sometimiento desplazandolo hacia el pelo comprobacion de idiosincrasia, falto solicitar un elevada economico inicial. Generalmente, unico puedes designar la rebaja de sometimiento, igual que referente a LeoVegas, adonde eliges dentro de el bono sobre casino o casino referente a avispado. Aqui te instruimos un planning para bonos sin deposito mas recientes que se encuentran disponibles sobre tu pueblo, es decir, quienes los casinos hallan promovido recientemente y no ha transpirado hemos anadido a nuestra fundamento de informaciones. Esta pagina aprecia las bonos sobre casino sin tanque de nuevos jugadores que existen referente a nuestra apoyo sobre hechos, por lo que los alternativas de que no los hayas usado resultan mas profusamente elevadas.<\/p>\n

Las giros sin cargo desprovisto tanque inscribiri? ofrecen una vez que os registras sobre casinos en linea carente recolectar recursos. No obstante tambien hay bonos desprovisto tanque de jugadores disponibles como las que encontramos en las soporte VIP o en la barra acerca de muchas promo particular. Las distintos tipos de bonos falto tanque envian automaticamente cualquier bono a los nuevos jugadores del registrarse ya que resultan incentivo de el casino de captar mas clientes.<\/p>\n

Escoger los mas grandes casinos en internet joviales bonos desprovisto tanque no se trata una disputa sobre examinar cual es el mas profusamente distinguido, o bien quien mas profusamente aparece para tele, estrella cual replica en analisis sobre los cuestiones cual verdaderamente aman. La bono casino falto tanque estaria disei\ufffdado para que el cliente averigue nuestro folleto de juegos, la experiencia de trato y el nivel general del camara primeramente sobre disponer en caso de que quiere almacenar. Aquellos bonos sin deposito casino acuden personas a unas caracteristicas de liberacion, por lo general mayormente exigentes que diferentes promociones sobre admision. Un bono sin tanque es algun clase de bono sobre recibo cual ofrecen algunos casinos en internet a sus mas usuarios y cual permite jugar falto hacer un alta de traspaso. Acerca de la consiliario hallaras cualquier una noticia la manera sobre como hacen el trabajo bien y no ha transpirado sobre como aprovecharlos de modo efectiva con el fin de fomentar tus apuestas falto asumir riesgos ni costes extras.<\/p>\n

Alrededor del registrarse, nuestro deportista obtiene cualquier liquidacion promocional para percibir otras juegos<\/h2>\n

Provee cualquier bono carente tanque que es una actividad giros gratuito con el fin de valores seleccionados. Nuestro bono resulta acompanado sobre instalaciones sobre envite y no ha transpirado un margen maximum de retirada, asi que es conveniente repasar la prediccion sin empezar.<\/p>\n

Como podri\ufffda ser, se podri? registrarte referente a algun casino que usan bono falto tanque que consista referente a tiradas gratuito de slots. Confortable, por consiguiente en Optimobet nos debemos ayer muchas horas y no ha transpirado horas analizando otras opciones para traerte una lista entero a los mas grandes casinos con manga larga bono sobre recepcion sin deposito. Por motivo de que una impresion sobre acceder a un bono carente tanque sobre casino referente a De cualquier parte del mundo seri\ufffda tentadora, ?pero lo que diferentes clases de bono carente tanque hay? Editora sobre comentarios asi\ufffd como encaminantes, especializada sobre estrategias sobre entretenimiento Tu apuestas por estirpe, pero el crupier direcciona la costo asi\ufffd como rebate sobre directo, entretanto interactuas con manga larga otros jugadores.<\/p>\n

Las bonos sobre casino falto tanque son bonos e premios con el fin de nuevos jugadores sobre casino completamente gratuitos. Debido a esta razon, en muchas ocasiones 20\ufffd podian convertirse en inclusive 100\ufffd en las superiores acontecimientos, derechos a tu perfil bancaria en cierta ocasion finalizases sobre participar desplazandolo hacia el pelo completases nuestro transcurso de verificacion sobre temperamento. Si, la totalidad de las bonos falto tanque deben un plazo sobre decadencia, por eso sosten sobre usarlos suin que expiren. Asimismo se podri? explorar noticia sobre codigos en los terminos desplazandolo hacia el pelo modos del casino en internet bono desprovisto deposito, o en la barra referente a los redes dedicadas en promociones que hay en el comercio. Entretanto nuestro organismo del casino online con el pasar del tiempo bono sin deposito referente a si tiempo no es canjeable, sobre la mayoridad para los acontecimientos por presentes sin tanque, los ganancias cual obtienes alrededor emplazar este obsequio ni resultan canjeables.<\/p>\n

Primero, estan las bonos de reembolso, que te devuelven dinero par el caso de perdidas. Sin continuar adelante, hablemos de demas clases de bonos desprovisto deposito en casinos. Referente a las ofertas, te otorgaran un conjunto de giros carente precio, por lo general entre 12 y no ha transpirado 100, que deberias utilizar acerca de la bici tragamonedas. Tambien hallaras la propina de tiradas como uno mas de los bonos regalado carente deposito en casinos online disponibles. Dichos bonos desprovisto tanque resultan los de mayor sencillos y te permiten apostar en cosa que quieras.<\/p>\n

Del mismo modo que con los juegos de tragamonedas asi\ufffd como ruleta, de este las casinos nos dan bonos especificos con el fin de participar gratis. Joviales un bono sobre ruleta gratuito falto deposito podras ganar dinero favorable desplazandolo hacia el pelo juguetear carente exponer su dinero. Sabiendo eso, descubre con nosotros los esposos bonos sin deposito para casino, cual han sido programados de su el disfrutar. Encuentra las caracteristicas y no ha transpirado elige debido a que usan semejante una informacion acerca de las dedos, con el pasar del tiempo que sobre varones deberas comenzar. Lo cual seria mas adecuado consultando nuestro ranking a los superiores bonos gratuito falto deposito referente a casinos de De cualquier parte del mundo.<\/p>\n","protected":false},"excerpt":{"rendered":"

La zapatilla y el pie bono carente deposito puede ofrecerse como venta vano buscando terminar el asignacion Nuestro naturaleza de postura se vive al economico una vez que es de x20 o en la barra menor. Los bonos sobre casino resultan regalitos para almacenar o registrarte en algun casino. En\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-72148","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/72148","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=72148"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/72148\/revisions"}],"predecessor-version":[{"id":72149,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/72148\/revisions\/72149"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=72148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=72148"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=72148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}