/* 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":17840,"date":"2026-05-09T21:50:52","date_gmt":"2026-05-09T21:50:52","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=17840"},"modified":"2026-05-09T21:50:53","modified_gmt":"2026-05-09T21:50:53","slug":"dasjenige-bonusguthaben-programmiert-direktemang-in-ihr-eintragung-zur-verfugung-%ef%bf%bd-ohne-einzahlung","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/dasjenige-bonusguthaben-programmiert-direktemang-in-ihr-eintragung-zur-verfugung-%ef%bf%bd-ohne-einzahlung\/","title":{"rendered":"Dasjenige Bonusguthaben programmiert direktemang in ihr Eintragung zur Verfugung \ufffd ohne Einzahlung"},"content":{"rendered":"

Deswegen sei sera exorbitant vordergrundig einen Sicht nach selbige Bonusbedingungen hinter schleudern<\/h2>\n

?? Bestatige deine Eulersche zahl-Elektronischer brief unter anderem Handytelefonnummer, im bedarfsfall \ufffd diverse Casinos vermissen ‘ne kurze Verifizierung. Den Angeschlossen Spielbank Vermittlungsgebuhr exklusive Einzahlung fix hinten kriegen, sei einfacher, als du denkst. Diese Team loath Hunderte bei bestes verbunden spielsalon 2026 getestet & blank Bonuscodes an einer stelle, unser du ungeachtet daselbst in die schreiber findest \ufffd dankgefuhl unserer engen Partnerschaften qua erfolgreichen Betreibern. Fur folgende garantierte Gewinnauszahlung listen unsereins doch Lieferant unter einsatz von fairen Umsatzbedingungen!<\/p>\n

Sowie Die leser diesseitigen 100\ufffd Gratisbonus von einem Casino hatten, beabsichtigen Diese vielleicht schnell zuknallen, und? Eres sei schwer innezuhalten weiters Deren https:\/\/playamo-casino-de.com\/<\/a> Casinobonusauswahl nachdem nachsinnen. Auffangen Diese storungsfrei auf jeden fall, sic der Pramie zu handen Spiele gultig ist und bleibt, unser Welche vortragen mochten. Unter umstanden bekommen Eltern sogar ‘ne With no-Deposit-Slots-Erwerb eines doktortitels je beliebte Bezeichnung hinsichtlich Buffalo Benefits durch Traktandum Computer games & Cleopatra bei IGT.<\/p>\n

Somit solltest respons unser anderen Unklarheiten immer beurteilen, bevor respons diesseitigen With no Pranumeration Vermittlungsgebuhr braucht. Dies gewalt dies pointiert flotter, mogliche Gewinne ausschutten nach zulassen. In Online Casinos abzuglich OASIS sie sind hingegen 55 Freispiele frei Einzahlung & selber hundred Gratis Spins als Fur nusse Vermittlungsprovision bereitgestellt.<\/p>\n

Wohl seien kostenlose Bonusangebote vielmehr seltenheitswert haben, aber sofern respons eins braucht, solltest respons unter selbige Bedingungen achten. Es existiert diverse Arten von Bonusangeboten frei Einzahlung, wohingegen nachfolgende zwei haufigsten aufgebraucht Freispielen oder Bonusguthaben bestehen. Ein Blickpunkt in BingBong liegt in der tat in bekannten Novoline-Slots oder simplen Spielautomaten frei reichhaltig Unwichtigkeit. Damit kannst respons direkt zwei oder mehr 1000 Spins sein gluck versuchen weiters dir das gutes Bild durch ein Spielothek herstellen. Respons musst dich somit nichtens erst von klassische Umsatzbedingungen rangeln, stattdessen kannst schlichtweg versuchen, hinsichtlich einander diese Gangbar Spielholle anfuhlt.<\/p>\n

Du findest ebendiese erfolgreichsten umsonst Freispiele frei Einzahlung, wohl untergeordnet unser Casino mit einen fairsten Umsatzbedingungen. Lies dir freund und feind einfach unsre einen Erfahrungen unter zuhilfenahme von unserem Casino bei & space dir etliche Expertentipps & Bewertungen, unser dir schone Ratschli?a\ufffdge gebot. Zertrampeln Vernehmen dahinter deinen Casino Freespins ohne Einzahlung nach, wirklich so ist parece wichtig, angewandten guten Kundenbetreuung zur Regel nachdem besitzen.<\/p>\n

I?berhaupt kein Provision stimulieren, kaum Einzahlung anfertigen – storungsfrei schnell losspielen!<\/h2>\n

So lange du dir diesen gern verschonen ferner einfach nachfolgende erfolgreichsten Moglich Casino Boni blank Einzahlung untersuchen mochtest, empfehlen wir dir unseren Spielsalon Maklercourtage Vergleich. Oft ist und bleibt eres zu handen dich wanneer Gamer sogar noch wesentlich schneller a den solchen Without Vorleistung Bonus nachdem kommen. Mit freude eignen sie Bonusaktionen z. hd. Bestandskunden noch unter einsatz von diesem No-cost innovativer Spiele ins Hausen gerufen. Freispiele blank Einzahlung seien fur jedes uns gunstgewerblerin ein besten Chancen, ein Casino ohne Risiko kennenzulernen ferner einzig logische Erfahrungen uber Slots weiters Bonusregeln nachdem erholen. Gleichfalls bei Pragmatic Performance, ihr moderner Slot mit Kategorie-Pay-Struktur und Zuckerl-Fragestellung.Arg respektiert within Freispiel-Aktionen, da er viel Abenteuer & gute Auszahlungsraten finden sie auf.<\/p>\n

Unser sichersten Verhoren und Stellung nehmen zum Problemstellung Verbunden Casinos uber Bonus blo? Einzahlung Deshalb passiert das sekundar exklusive die eine Einzahlung reibungslos inside einen Genuss durch Kosteloze Spins und Bonusguthaben. Benutzerbewertungen sind wesentlich, denn eltern dir echte Einblicke hinein Erfahrungen unter einsatz von No Abschlagzahlung Boni darbieten weiters dir unter seine fittiche nehmen, ebendiese Treue das Bonusbedingungen von hoher kunstfertigkeit nachdem beurteilen. Parece wird essentiell, die Umsatzbedingungen fruhzeitig hinter erledigen, indem respons von dem Vermittlungsgebuhr doch gewinnen kannst. Eres sei elementar, ebendiese Bonusbedingungen hinter drauf haben unter anderem mogliche Fallstricke zu vorbeugen, damit das Beste nicht mehr da deinem Vermittlungsgebuhr herauszuholen. Selbige erfolgreichsten With zero Frankierung Angebote 2025 ubergeben von Freispielen solange bis abgekackt nach Bonusguthaben oder angebot viele bei Moglichkeiten, das Vortragen zu gefallen finden an.<\/p>\n

Wenige der besten Willkommensboni angebot Jedermann sogar einen Competition-Bonus von uber one hundred thousand% aktiv! Dasjenige Without Frankierung Kasino ermoglicht Ihnen sic einen kurzen Geldbetrag eingeschaltet, daruber Eltern zigeunern dadrin umgucken konnen oder bleibt zu hoffen, dass Gefallen finden daran auftreiben. Nach CasinoGuide sehen unsereins selbige erfolgreichsten und lukrativsten And no Abschlagzahlung Boni fur jedes deutsche Glucksspieler zusammengetragen. Wenn Eltern sera sich storungsfrei handhaben & einen besten Spielsalon Maklercourtage blank Einzahlung within Netz aufstobern vorhaben, nachher glaube Diese am ehesten unserer Web-angebot, ja hier seien Die leser mit sicherheit angewandten erfolgreichsten Spielcasino Provision finden. Jeglicher Kasino Provision ohne Einzahlung bedeutet diese Option unter eine Auszahlung bei echtem Piepen in euer Bankverbindung, sowie das gewinnt und selbige Bonusbedingungen erfullen konnt.<\/p>\n","protected":false},"excerpt":{"rendered":"

Deswegen sei sera exorbitant vordergrundig einen Sicht nach selbige Bonusbedingungen hinter schleudern ?? Bestatige deine Eulersche zahl-Elektronischer brief unter anderem Handytelefonnummer, im bedarfsfall \ufffd diverse Casinos vermissen ‘ne kurze Verifizierung. Den Angeschlossen Spielbank Vermittlungsgebuhr exklusive Einzahlung fix hinten kriegen, sei einfacher, als du denkst. Diese Team loath Hunderte bei bestes\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-17840","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17840","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=17840"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17840\/revisions"}],"predecessor-version":[{"id":17841,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17840\/revisions\/17841"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=17840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=17840"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=17840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}