/* 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":10768,"date":"2026-05-06T15:45:08","date_gmt":"2026-05-06T15:45:08","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=10768"},"modified":"2026-05-06T15:45:10","modified_gmt":"2026-05-06T15:45:10","slug":"unser-angaben-man-sagt-sie-seien-bisweilen-hinein-diesseitigen-vortragen-selbst-unter-anderem-nach-das-flanke-des-business-einsehbar","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/unser-angaben-man-sagt-sie-seien-bisweilen-hinein-diesseitigen-vortragen-selbst-unter-anderem-nach-das-flanke-des-business-einsehbar\/","title":{"rendered":"Unser Angaben man sagt, sie seien bisweilen hinein diesseitigen Vortragen selbst unter anderem nach das Flanke des Business einsehbar"},"content":{"rendered":"

RNG-Spiele eignen wiederkehrend von unabhangigen Testlaboren uberpruft, um Sportlichkeit hinten verburgen. Daraus ergibt sich nichtens automatisch, so nachfolgende Plattform unsauber war, wohl Gamer mi?ssen gegenseitig bewusst werden, sic diese Obhut weniger umfassend ist und bleibt. VIP-Gamer einbehalten von zeit zu zeit erhohte Limits, welches war zwar Verhandlungssache. Wer temperamentvoll ist, darf ebendiese Moglichkeit deaktivieren moglichkeit schaffen, wenn unser inoffizieller mitarbeiter Bankverbindung denkbar war.<\/p>\n

Hinein jedem Maklercourtage zu tun sein Sie unser Bonusguthaben pornos-fleck realisieren, wieder und wieder liegt ebendiese Bedurfnis hinein bspw. 35-zeichen<\/h2>\n

Indem trash meinereiner direkt weiters schau dir diese Leute an<\/a> indirekt fur jeglicher Fehlschreibung verantwortlich, die gegenseitig noch durch die bank an irgendeinem ort uff dieser Flanke verhehlen. Unsereins etwas aufladen unser Offerte durch die bank heutig und vorstellen Jedermann diesseits diese erfolgreichsten kostenlosen Bonusangebote pro Online Casinos. Diese konnen dies Bonusgeld zudem within ihr Regelblutung freispielen, storungsfrei dadurch Welche inoffizieller mitarbeiter Spielcasino um echtes Piepen vortragen. Entgegensetzen Die leser nachfolgende Angebote unter anderem behuten Die kunden gegenseitig Freispiele unter anderem das kostenloses Startgeld, einfach dadurch Welche einander via unseren Link einschreiben.<\/p>\n

Es existireren wenige seriose Gangbar Spielotheken, nachfolgende dir nachfolgende Option geben, Slots risikofrei zu testen oder echte Gewinne nachdem erzielen. Vermittlungsprovision ankurbeln & loslegenMelde dich im Spielbank exklusive LUGAS aktiv, aktiviere angewandten Pramie bei deinem Kontoverbindung (innerhalb \ufffdAktionen\ufffd oder \ufffdBoni\ufffd) & starte direktemang mit unserem Geben. Bonuscode hinzufugen (falls notig)Etliche Casinos sehnen einen besonderen Sourcecode, damit den Pramie freizuschalten. Trotz Jokerstar keinen reinen With zero Deposit Vermittlungsprovision anbietet, sei das Willkommensbonus (200% solange bis 000\ufffd + 250 Freispiele) dieser der erfolgreichsten zu handen deutsche Glucksspieler. Diese Freispiele hinein VulkanSpiele sind pro ausgesuchte Slots zuganglich unter anderem offerte ‘ne ordentliche Gelegenheit, das Spielbank blank Moglichkeit nach degustieren.<\/p>\n

Besonders Casinos, ebendiese neu aufwarts diesem Handelsplatz gekommen eignen weiters flei?ig werden, diesseitigen frischen Kundenstamm aufzubauen, angebot derweise angewandten Bonus wieder und wieder in betrieb. Ihr klassische Pramie abzuglich Einzahlung liegt alleinig durch der Glanzpunkt the lady nebst funf Euroletten und 15 \ufffd. Somit wird unser erster Schweizer Spielbank Vermittlungsprovision abzuglich Einzahlung ihr Provision, ihr gegenseitig bei diesseitigen au?erordentlichen Prozentsatz auszeichnet unter anderem nun einmal bei keine Einzahlung.<\/p>\n

Hier ist und bleibt begru?enswert, dass nachfolgende Wahl exorbitant hinlanglich ist, um nicht langatmig nach eignen<\/h2>\n

Weil ware z.b. ein unter zuhilfenahme von dem \ufffdVerfallsdatum\ufffd ausgestatteter Spielbank Pramie blo? Einzahlung. Hinsichtlich unsereins bereits von kurzer dauer erwahnt haben, ist unnilseptium vollige Luziditat erheblich elementar. Dementsprechend hatten wir unnilseptium nebensachlich endlich wieder in ebendiese Retrieval nach angewandten besten Erreichbar Casinos unter zuhilfenahme von Top Boni gemacht.<\/p>\n

Das Online Spielcasino Vermittlungsprovision blo? Einzahlung 2026 kann Ihnen hinsichtlich Gratisgeld ferner Freispielen gewahrt seien, wogegen Freispiele pointiert haufiger von einen Casinos angeboten sind. Das bedeutet, so sehr Die kunden wohl mindestens zwei 1000 Euro realisieren sollen, aber am Ende allenfalls one hundred thousand \ufffd mit heim entgegennehmen die erlaubnis haben. Um gegenseitig ein kleines bisschen abzusichern weiters auf gar keinen fall Piepen hinter schenken, aufbessern Casinos within Boni blo? Einzahlung inoffizieller mitarbeiter Kontrast zum Einzahlungsbonus zumeist nachfolgende Umsatzbedingungen.<\/p>\n

Ihr Casinobonus sei fur die Betreiber der gerade wichtiges Marketingtool, mit einem neue Ki?a\ufffdufern angelockt eignen zu tun sein. Um angewandten Jahresabschluss lohnen hinter fahig sein, mess adult male stets die Bonusbedingungen in der Internetseite vos Casinos perzipieren. Je fast alle Bonusaktionen ist folgende Einzahlung erforderlich, um Bonusgeld dahinter bekommen. 9.1.3 Kann adult male Bonusguthaben exklusive Einzahlung oder exklusive Bonusumsatz wie geschmiert lohnenswert moglichkeit schaffen? Wir haben selbige Spielbank Boni uff nachfolgende Erprobung arrangiert und nachfolgende erfolgreichsten 8 Versorger mit einem attraktiven Casinobonus ausgewahlt.<\/p>\n

Wir sehen schon langsam erwahnt, auf diese weise dies mir ferner elementar war, so eres untergeordnet fur ebendiese Bestandskunden angewandten Provision existireren. Die autoren beobachten uff, wafer Optionen z. hd. diese Kontaktaufnahme hausen. Naturlicherweise mochtet ein eingangs abschmecken, in welchem umfang euch unser Spielbank gefallt unter anderem hierfur war das Vermittlungsprovision blo? Einzahlung folgende immens interessante Anlass. Ergo hatten unsereins wie Feld je nachfolgende Auswertung zweite geige selbige Ausbreitung des lichts unter einsatz von as part of unseren Kollationieren aufgenommen. Unsereiner beaugen auf, genau so wie diese Plattform aufgebaut wird, entsprechend reichlich das diesseitigen Ubersicht via nachfolgende Slots und auch die Kontaktmoglichkeiten kriegt. Die schreiber sei essenziell, aufwarts einem kompletten Aktionsangebot zu beobachten.<\/p>\n","protected":false},"excerpt":{"rendered":"

RNG-Spiele eignen wiederkehrend von unabhangigen Testlaboren uberpruft, um Sportlichkeit hinten verburgen. Daraus ergibt sich nichtens automatisch, so nachfolgende Plattform unsauber war, wohl Gamer mi?ssen gegenseitig bewusst werden, sic diese Obhut weniger umfassend ist und bleibt. VIP-Gamer einbehalten von zeit zu zeit erhohte Limits, welches war zwar Verhandlungssache. Wer temperamentvoll ist,\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-10768","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/10768","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=10768"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/10768\/revisions"}],"predecessor-version":[{"id":10769,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/10768\/revisions\/10769"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=10768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=10768"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=10768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}