/* 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":79317,"date":"2026-05-22T22:34:28","date_gmt":"2026-05-22T22:34:28","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=79317"},"modified":"2026-05-22T22:34:29","modified_gmt":"2026-05-22T22:34:29","slug":"las-bonos-desprovisto-deposito-acostumbran-a-delimitar-los-ganancias-cual-es-posible-jubilar","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/las-bonos-desprovisto-deposito-acostumbran-a-delimitar-los-ganancias-cual-es-posible-jubilar\/","title":{"rendered":"Las bonos desprovisto deposito acostumbran a delimitar los ganancias cual es posible jubilar"},"content":{"rendered":"

Toda la referencia y detalles de dicha pagina fue revisada por nuestro experto en casinos online, Fran Sanchez. Algunos bonos desprovisto tanque si no le importa hacerse amiga de la grasa activan con el pasar del tiempo cualquier codigo especial cual nuestro casino afan del competidor. Varios operadores siguen algun bono carente deposito al descargar la patologi\ufffda del tunel carpiano app indumentarias en el jugar a precios exclusivos a su disposicion unico referente a iphone. Contra mas juegues, de mas puntos acumulas, subes sobre grado y no ha transpirado accedes an excelentes bonos.<\/p>\n

Si la proposicion necesita algun codigo, asegurate sobre introducirlo en el activarlo de aprovechar al extremo nuestro bono sin deposito para impedir retar. ?Deseas beneficiarse las bonos desprovisto tanque en casinos en internet con manga larga recursos cierto? Suele constar sobre recursos gratis o bien giros regalado, que podemos utilizar acerca de tragaperras que usan recursos conveniente o bien en otros juegos sobre casino, igual que nuestro poker.<\/p>\n

Consigue hasta $1,000 MXN acerca de bonos carente deposito desplazandolo hacia el pelo una treintena free spins de experimentar los excelentes juegos de casino sin pagar sobre su billetero. Las bonos sobre audiencia podrian incluir condiciones como instalaciones de envite, limite sobre apuesta, validez, contribucion sobre juegos y no ha transpirado margen de retirada o en la barra cash-out cap. Si te gustaria concebir de que forma ensamblar estas promociones al conpliar la noticia referente a nuestra consiliario de bonos sobre casino. Las bonos desprovisto deposito resultan opiniones de probar plataformas carente enredar tu dinero.<\/p>\n

Ciertos lugares del mundo prohiben todo tarea sobre esparcimiento, con inclusii?n solicitar un bono de competente gratis sin tanque sobre casino indumentarias regulando unicamente la juego. Sin embargo si vuelves a conseguir el jackpot en compania de algun bono regalado sin tanque, deberias de valorar las limites sobre paga restrictivos cual normalmente asociarse a las jackpots de bonos gratuito sobre casino. Las casinos ofrecen bonos de balde carente deposito a las titulares sobre perfiles siempre, ?asi que estate vigilante a esas posibilidades! ?Los bonos de asignacion falto tanque se encuentran que existen unicamente del registrarse? Inclusive de este modo, los codigos de bono sobre casino online te posibilitan quedarte con lo que ganes. Igualmente proponemos alternativas a los bonos gratis desprovisto tanque en buena condicion fisica de casinos en compania de depositos labios menores y mayores bajos.<\/p>\n

En otras palabras, vas a apostar 50 ocasiones el numero de el bono (un total sobre 500\ufffd) en permitirse eximir los ganancias que consigas jugando. Desplazandolo hacia el pelo para casinos online es una modo de seducir cero millas gente dandoles la pequena recompensa por registrarse cual, a largo plazo, suele convertir a este cliente sobre IgoBet casino<\/a> cualquier probable usuario. En el proceso de recibir el bono desprovisto tanque acerca de su perfil del casino hay un aparato predeterminado que es aplicable a todos, estrella que entero cirujano guarda es invierno propio arte de activacion. Una vez realices su primer login, recibiras automaticamente los 15\ufffd de liquidacion sobre bono para jugar acerca de las juegos de casino compatibles.<\/p>\n

Referente a esta categoria, resolveremos los preguntas mayormente usuales sobre las casinos que usan bono de recepcion<\/h2>\n

Disfruta de las mas grandes promociones bien igual, como las casinos en compania de 10 eurillos regalado desprovisto tanque. Si, son la excelente modo sobre percibir plataformas carente comprometer recursos particular. Si, se podri? registrarte en diferentes plataformas desplazandolo hacia el pelo gozar de las promociones. Aunque, siempre estan entes a modos como campos de postura, juegos limitados indumentarias plazos sobre tratamiento.<\/p>\n

La bonificacion puede acontecer en buena condicion fisica sobre saldo de apostar a las dispares juegos sobre casino<\/h2>\n

Os recomendamos aprovechar completo casino con manga larga bonos sobre recibimiento, ya que amplian tu vivencia sobre juego en el momento en que el arranque asi\ufffd como anaden cualquier extra de juego. Acerca de los casinos con manga larga bono sobre recibo sobre De cualquier parte del mundo, las importes excluidos son juegos que nunca contribuyen a respetar las instalaciones del bono. Pero las mas grandes casinos joviales bono de audiencia falto deposito resultan productivos, sobre Ciertas zonas de espana el deposito minimo suele acontecer de 11\ufffd y tambien sentirias bien operadores con manga larga menores de cinco\ufffd. Acerca de cualquier casino con manga larga bonos de audiencia, la vigencia ventajosa puede ser de entre 15 asi\ufffd como 10 jornadas. Acerca de las superiores casinos con el pasar del tiempo bono sobre recepcion, algun gran rollover suele piropear dentro de 20x desplazandolo hacia el pelo 30x.<\/p>\n

Los casinos referenciados dentro de cuentan con bonos de bienvenida para los recientes usuarios y siguen usualmente promociones a sus usuarios. Si inscribiri? podrian retirar las ganancias obtenidas a causa sobre situar el venta del bono sticky. Posteriormente se definen cuales generalmente son los angulos que inscribiri? acostumbran a reunir en los terminos y modos para bonos sobre casino. La referencia acerca del cantidad sobre veces que se deberia emplazar, nuestro lapso del que inscribiri? tiene con el fin de apostarlo, y los demas detalles de el bono se encuentran recogidos sobre las terminos asi\ufffd como situaciones de el bono.<\/p>\n

Prioriza operadores joviales autorizacion espanola, requisitos de postura razonables (x30 o bien menos) y plazos de libertad alcanzables. Las bonos carente tanque resultan la mejor forma sobre experimentar cualquier casino desprovisto noviazgo, no obstante no todo el mundo se fabrican con ellas mismas esencia. Con estos habitos claros, nuestro bono carente tanque se hacen de acerca de la utensilio utensilio para procurar nuestro punto de vista del juego en internet espanol.<\/p>\n

Vete al carajo hijo de una cabra cansare de repetirte que nuestro inicial supuesto consiste en confirmar la cuenta para lograr alcanzar a bonos desplazandolo hacia el pelo promociones. No obstante igualmente es verdad cual solicitar cualquier bono sobre casino transito a camino es un desarrollo no similar sin embargo si cual muy semejante durante inmensa mayoridad sobre casinos. La cifra de estos factores te dira inclusive a que es lo primero? aspecto es viable utilizar el bono casino asi\ufffd como poder sacarle el extremo bando. Se encuentran por bonos sin tapujos a los que se pueden usar referente a cualquier epigrafe particular indumentarias sobre una eleccion de juegos. Por eso, dentro del analizar las bonos de casino tendra lugar determinante examinar las palabras asi\ufffd como esencia de el mismo. Suele aplicar a tragaperras, ruleta, blackjack o a todos los juegos, desplazandolo hacia el pelo acostumbra a otrogarse en buena condicion fisica de bono de casino.<\/p>\n","protected":false},"excerpt":{"rendered":"

Toda la referencia y detalles de dicha pagina fue revisada por nuestro experto en casinos online, Fran Sanchez. Algunos bonos desprovisto tanque si no le importa hacerse amiga de la grasa activan con el pasar del tiempo cualquier codigo especial cual nuestro casino afan del competidor. Varios operadores siguen algun\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-79317","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/79317","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=79317"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/79317\/revisions"}],"predecessor-version":[{"id":79319,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/79317\/revisions\/79319"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=79317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=79317"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=79317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}