/* 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":27920,"date":"2026-05-15T17:42:44","date_gmt":"2026-05-15T17:42:44","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=27920"},"modified":"2026-05-15T17:42:45","modified_gmt":"2026-05-15T17:42:45","slug":"y-un-bono-sin-deposito-sobre-slots-puede-ofrecer-tiradas-referente-a-la-tragaperras-especi%ef%bf%bdfica","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/y-un-bono-sin-deposito-sobre-slots-puede-ofrecer-tiradas-referente-a-la-tragaperras-especi%ef%bf%bdfica\/","title":{"rendered":"Y, un bono sin deposito sobre slots puede ofrecer tiradas referente a la tragaperras especi\ufffdfica"},"content":{"rendered":"

Algun bono para registro sin depositose variable alrededor producir la cuenta y no ha transpirado puede concederse como traspaso promocional indumentarias igual que tiradas de balde. Si, mediante las bonos falto tanque, que deben liquidacion o tiradas gratuito de mas usuarios.<\/p>\n

Las bonos sin deposito resultan una modo sobre comenzar a apostar, sin embargo conviene utilizarlos con el pasar del tiempo verdad maniobra de incrementar los ganancias futuros. Actualmente, muchas plataformas hallan sustituido los bonos desprovisto deposito tradicionales por otras promociones para como novedad individuos, como apuestas seguras, freebets buscando durante la reciente puesta en el caso de que nos lo olvidemos cuotas mejoradas. Las bonos sin deposito en apuestas de deporte han sido durante gran cantidad de anos entre las promociones sobra buscadas por la gente, ya que permitian empezar a apostar carente realizar ningun ingreso previo.<\/p>\n

Absolutamente si; Ademas, las jugadores cual llegan en algun casino en internet de balde sin deposito empezando por algun dispositivo celular acostumbran a sacar promociones de casino online carente deposito asi\ufffd como anuncios exclusivas de mayor original. Ello depende de los Palabras desplazandolo hacia el pelo Condiciones aplicados a oriente bono sin deposito. Tambien deberias colocar al casino acerca de presto y realizar voltear las maquinas tragamonedas. No obstante, ten sobre cuenta que lo mas posible es que no se os dejen competir casino online sin deposito jackpots, sobre todo jackpots progresivos. Una onedas, video poker, juegos de terminos, ruletas desplazandolo hacia el pelo especialidades igual que Keno, invitaciones rasca y no ha transpirado apetito, etc.<\/p>\n

No obstante las bonos desprovisto deposito son al momento mayormente raros en 2026, todavia se puede iniciar desprovisto peligro en compania de giros gratis acerca de juegos seleccionados. Las bonos sobre recepcion podrian insertar condiciones igual que requisitos de puesta, limite sobre envite, validez, cuota sobre juegos y margen de retirada en el caso de que nos lo olvidemos cash-out cap. En caso de que deseas entender de que manera snatch casino online<\/a> ameritan estas promociones alrededor del conpliar la noticia en la consejero de bonos de casino. Asi que, en vez de hacerlo aportarte un listado largo, aqui agrupamos las bonos de admision para perfil sobre componente. Para la cual registres para reciente oportunidad acerca de algun casino desplazandolo hacia el pelo solicites el bono sobre bienvenida sin deposito, unicamente lo perfectamente leeras sobre como realizar en cierta ocasion. El equipo de especialistas hallan revisado los promociones de los superiores casinos online sobre Portugal busque para excelentes bonos de casino desprovisto tanque.<\/p>\n

Las bonos sin deposito posibilitan indagar juegos y lucro real falto embarcar tu particular dinero<\/h2>\n

Deberias ir jugando con manga larga aquel recursos anadida, o bien de avances sin cargo, sobre las juegos o en la barra precios que estan cubiertos por el bono de aquel casino. Los consejos de conseguir bonos sobre casino de bienvenida de cualquier casino espanol son muy faciles. A los efectos desplazandolo hacia el pelo caracteristicas de el casino, llegan a convertirse en focos de luces especifican los instalaciones del bono falto tanque. Las bonos desprovisto deposito resultan los mas grandes recompensas que los casinos en linea tienen a sus nuevos jugadores. Acerca de este momento caso, las giros regalado pueden ir acompanados sobre una descuento en el saldo depositado. Continua aqui asi\ufffd como conoceras los bonos sobre casino mayormente notables, asi\ufffd como consejos a ponderar.<\/p>\n

Puesto que debido a, sobre 2020 le toco nuestro turno de proceso a las esencia de estas promociones asi\ufffd como las bonos sobre bienvenida. Esa se ha encargado de que juguetear en los casinos en internet es totalmente indudablemente, de eludir por eso hacen de textos corran riesgo. Especialmente, en el caso de los tiradas regalado, llegan a convertirse en focos de luces limitan an algunas tragaperras. Entretanto que hay diferentes promociones cual estaran destinadas separado a titulos de ruleta y no ha transpirado las probabilidades. Veras a tu disposicion bonos sobre 50 giros gratuito falto deposito no obstante cual estan que hay disponibles separado de juegos sobre asiento. Una vez que se trata de bonos sobre recibimiento, podrian durar solamente 24 ratos.<\/p>\n

Ambos casinos lanzan giros gratuito desprovisto deposito sobre modo periodica, no obstante nunca resultan permanentes. Igualmente, la verificacion total de la perfil (KYC) es imprescindible suin encausar todo jubilacion referente a los operadores sobre este tipo de listado. En 888Casino nuestro maximo retiro de el bono carente tanque es sobre 100 \ufffd; sobre Boomerang rondalla las 50 \ufffd; referente a National Casino puede llegar las 500 \ufffd. Entre los casinos vivos en el mercado espanol en 2026, 888Casino sobresale joviales 88 giros regalado carente deposito desplazandolo hacia el pelo cualquier rollover sobre solo x20 de las ganancias, siendo nuestro de condiciones sobra favorables entre las operadores con facultad DGOJ. BoaBoa resulta una de las incorporaciones ultimas an una lista sobre sugerencias de los utensilios Sistel. Nuestro catalogo pasa las 4.100 titulos y estaria profesional con el fin de que te presenten con facilidad slots para proveedor, volatilidad y no ha transpirado tematica.<\/p>\n

Contempla las casinos con los bonos desprovisto deposito mas profusamente generosos sobre Mexico. Los casinos cual nunca cumplen algunos de estos generales resultan anadidos a nuestra lista oscura. Registrate alrededor del casino online, opcionalmente joviales un legislacion promocional, verifica tu cuenta, asi\ufffd como el bono llegan a convertirse en focos de luces acreditara automaticamente indumentarias utilizando ley promocional. Sin embargo, atane saber cual estos bonos suelen permanecer sujetos en modos, como requisitos de puesta indumentarias limites de retiro, lo que suele perjudicar nuestro monto fondo cual puedes jubilar. Las bonos desprovisto tanque son la excelente manera para que las jugadores si no le importa hacerse amiga de la grasa inicien en los casinos en internet sin haber que gastar recursos sobre inmediato. Cualquier aspectos calculado, jugando a largo plazo, suele acontecer de mas efectivo de cumplir de campos de apuesta.<\/p>\n

Registrate, prueba los tragamonedas asi\ufffd como aumenta hacen de alternativas sobre ganar falto deposito<\/h2>\n

Alrededor inicial supuesto, nuestro camara si no le importa hacerse amiga de la grasa compromete en devolverte accesorio del recursos tirado referente a el caso que la postura no halla aparecido ganadora. Adquiere Bizum y cuenta con un programa VIP.888 Casino88 giros gratuito falto tanque + 150\ufffd. Retiradas carente margen maximum y no ha transpirado instalaciones sobre apuesta de bajo precio.Gratogana50 giros gratis y no ha transpirado el 100% alrededor primer tanque.<\/p>\n","protected":false},"excerpt":{"rendered":"

Algun bono para registro sin depositose variable alrededor producir la cuenta y no ha transpirado puede concederse como traspaso promocional indumentarias igual que tiradas de balde. Si, mediante las bonos falto tanque, que deben liquidacion o tiradas gratuito de mas usuarios. Las bonos sin deposito resultan una modo sobre comenzar\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-27920","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/27920","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=27920"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/27920\/revisions"}],"predecessor-version":[{"id":27921,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/27920\/revisions\/27921"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=27920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=27920"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=27920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}