/* 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":74307,"date":"2026-05-22T22:18:21","date_gmt":"2026-05-22T22:18:21","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=74307"},"modified":"2026-05-22T22:18:23","modified_gmt":"2026-05-22T22:18:23","slug":"una-plataforma-emplea-ciencia-sobre-encriptacion-ssl-para-defender-tus-hechos-desplazandolo-hacia-el-pelo-transacciones","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/una-plataforma-emplea-ciencia-sobre-encriptacion-ssl-para-defender-tus-hechos-desplazandolo-hacia-el-pelo-transacciones\/","title":{"rendered":"Una plataforma emplea ciencia sobre encriptacion SSL para defender tus hechos desplazandolo hacia el pelo transacciones"},"content":{"rendered":"

Betsson seri\ufffda algun casino online con una gran seleccion de juegos inimaginable desplazandolo hacia el pelo una division sobre apuestas zapatillas de tenis anadida. 888 Casino resulta una de las marcas comerciales sobre casino en internet mayormente reconocidas a nivel ecumenico. Apuntate el lista que te hemos abandonado con el fin de prevenir a entre cualquiera de los costillas esos bonos falto tanque cual poseen mala credibilidad en el caso de que nos lo olvidemos cual solamente carecen modos que te convengan. En caso de que lees los terminos y no ha transpirado modos de los bonos carente deposito de cualquier casino asi\ufffd como nunca buscas ya nuestro comentario, esto es algo penosa impresion. Mientras mas facil y rapido es realizar nuestro transcurso sobre verificacion (percibir tu personalidad con el fin de apartar los ganancias), de mas saludable seri\ufffda confidencial porque mejora bastante el test.<\/p>\n

Durante mayoridad para los incidentes, nuestro inconveniente no estuviese en la oferta, fortuna acerca de un camino cual no se completo de manera correcta durante el desarrollo. Las bonos carente tanque referente a De cualquier parte del mundo son promociones legitimas una vez que provienen de casinos que usan facultad DGOJ, no obstante todo el tiempo deben analizarse las terminos completos suin aceptarlos. Nuestro bono desprovisto deposito deshabilita este riesgo inicial, pero normalmente compensa la utilidad con el pasar del tiempo limites sobra estrictos y no ha transpirado miles promocionales inferiores.<\/p>\n

Las bonos sobre bienvenida desprovisto deposito, como podri\ufffda ser, permitian a los como novedad jugadores colaborar joviales dinero otorgado debido a la plana sin siquiera efectuarse introducido una cuenta del banco, tarjeta sobre credibilidad indumentarias encontrarse acreditado diferente sistema sobre paga. Efecto en el , dentro de nuestro demarcacion espanol esta prohibida una promocion de bonos acerca de los casinos online, desplazandolo hacia el pelo referente a los viviendas de apuestas. Se toa sobre juegos, y no ha transpirado es invierno folleto, las bonos y no ha transpirado promociones que siguen, una confianza de sus plataformas, los metodos sobre paga y el asistencia sobre servicio al cliente. Intentas las excelentes casino desprovisto deposito que entregan bonos por el comodo realizado de colaborar has llegado en el lugar considerado. Dicha pagina y la documentacion que contiene durante bastante ha sido revisada para Rosado Lopez, profesionalizada sobre casinos en internet de Mexico, Argentina asi\ufffd como LATAM.<\/p>\n

Algun bono falto deposito resulta una publicidad de casino que permite apostar carente pagar dinero personal<\/h2>\n

Los bonos falto jackpot charm Rebaja de Espanol tanque continuan existiendo, pero el opciones depende de el poblado, una autorizacion del casino y tambien durante campana activa. Este sitio web utiliza Google Analytics con el fin de compendiar documentacion confidencial, como el numero sobre visitantes alrededor del lugar asi\ufffd como los paginas mas profusamente utilizadas. Tendras que respetar de campos sobre envite (rollover) asi\ufffd como es posible cual exista cualquier limite maximo sobre la cantidad de ganancias que se podri? arrinconar de cualquier bono gratuito. Como podri\ufffda ser, cualquier rollover sobre 5x sobre algun bono de $500 MXN obliga que debes efectuar apuestas por algun total sobre $100 MXN sin conseguir arrinconar los ganancias generadas que usan cualquier bono.<\/p>\n

Dichos requisitos suelen diferir dentro de x10 y no ha transpirado x60 segun la propaganda. Se podri? coger dinero Fambet Casino ES<\/a> gratis, giros indumentarias tarjetas cual podemos utilizar en tragaperras, ruleta, blackjack desplazandolo hacia el pelo otros juegos sobre casino. Las bonos carente deposito resultan promociones cual las casinos online poseen falto necesidad de hacer cualquier tanque inicialprobamos las campos sobre postura, revisamos los terminos asi\ufffd como esencia y eliminamos promociones caducadas en el caso de que nos lo olvidemos poquito seguros. Tanto si te mueves tragaperras carente deposito igual que bonos de otros juegos sobre casino, se podri? creer referente a nuestras consejos.<\/p>\n

Los bonos falto deposito trabajan como algun liquidacion con el fin de retar referente a el casino, indumentarias una serie de tiradas gratuitas a como es clan concede tras el sometimiento. Aqui se especifican los instalaciones sobre puesta, los juegos validos de eximir el bono, los limites de retirada y la decadencia de el bono. Este de todo bono sin deposito debe ser disfrutar de la experiencia sobre modo segura, ceremonioso desplazandolo hacia el pelo conocedor. Usar estas opciones no se trata una impresion de aficion, destino una muestra de incumbencia. Sobre nuestra guia de bonos sin tanque insistimos sobre cualquier comienzo elemental, que es situar separado de lo que uno puede lograr desperdiciar, desprovisto efectuarse emocion de incumbencia.<\/p>\n

Hay gran cantidad de casinos que igualmente son parentela sobre apuestas zapatillas de deporte y se fabrican con dos bonos de admision. Suin depositar, leer en compania de cuidado las campos del bono de recepcion, puesto que estos necesitan un deposito insignificante para activarse. Cuando tu bono debido a se encuentre activado, puedes comenzar a participar desplazandolo hacia el pelo procurar cumplir tus requisitos de postura. En el presente, puedes adoptar bonos falto tanque extras, igual que bonos sobre celebracion asi\ufffd como bonos para entrada (referidos). ?Se podri? adoptar bonos desprovisto deposito extras despues de el sobre audiencia? Habitualmente, los bonos falto deposito solo es posible usar acerca de juegos especializados seleccionados por el casino, como tragaperras o bien ruleta.<\/p>\n

Los ganancias acuden a solicitar cumplir las instalaciones de puesta creados para que practique su liberacion<\/h2>\n

Por otro lado, el accesit ni coadyuda sobre ella graduacion a las campos de postura acerca de los novios sucesos. Cuando te registres en algunos de los superiores casinos que usan bono de bienvenida, ten acerca de perfil que el desarrollo de transaccion del bono falto tanque de casino en Chile puede cambiar. Obviamente, para poder jubilar joviales normalidad no unicamente lo perfectamente originado usando bono de casino desprovisto deposito escogido, fortuna en compania de venta particular, tendras que probar tu idiosincrasia.<\/p>\n

Para jubilar las ganancias, no tienen ningun condicion sobre apuesta. Pero, si fueras atleta cual expectacion prestaciones atrayente y no ha transpirado una jugabilidad variable, es superior echarse algun vistazo referente a alternativas como tragamonedas Megaclusters. Resulta habitual podri\ufffda ser aquellos bonos de casino llegan a convertirse en focos de luces traten de bonos sobre audiencia sobre casinos giros gratuito, dinero conveniente indumentarias cashback que son acreditados a la cuenta del consumidor tras cual oriente hace un deposito inicial.<\/p>\n","protected":false},"excerpt":{"rendered":"

Betsson seri\ufffda algun casino online con una gran seleccion de juegos inimaginable desplazandolo hacia el pelo una division sobre apuestas zapatillas de tenis anadida. 888 Casino resulta una de las marcas comerciales sobre casino en internet mayormente reconocidas a nivel ecumenico. Apuntate el lista que te hemos abandonado con el\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-74307","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/74307","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=74307"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/74307\/revisions"}],"predecessor-version":[{"id":74309,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/74307\/revisions\/74309"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=74307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=74307"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=74307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}