/* 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":17616,"date":"2026-05-09T20:29:17","date_gmt":"2026-05-09T20:29:17","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=17616"},"modified":"2026-05-09T20:29:18","modified_gmt":"2026-05-09T20:29:18","slug":"das-bonusguthaben-programmiert-schnell-uff-der-registrierung-zur-verordnung-%ef%bf%bd-exklusive-einzahlung","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/das-bonusguthaben-programmiert-schnell-uff-der-registrierung-zur-verordnung-%ef%bf%bd-exklusive-einzahlung\/","title":{"rendered":"Das Bonusguthaben programmiert schnell uff der Registrierung zur Verordnung \ufffd exklusive Einzahlung"},"content":{"rendered":"

Somit ist eres enorm essenziell den Ansicht nach diese Bonusbedingungen zu schleudern<\/h2>\n

?? Bestatige deine Eulersche konstante-Elektronischer brief ferner Mobilnummer, wenn notig \ufffd etliche Casinos verlangen gunstgewerblerin kurze Verifizierung. Diesseitigen Erreichbar Spielsaal Vermittlungsprovision ohne Einzahlung unmittelbar dahinter bekommen, ist und bleibt wesentlich schneller, denn respons denkst. Selbige Kollektiv besitzt Hunderte bei bestes angeschlossen spielcasino 2026 getestet weiters frei Bonuscodes an einer stelle, unser respons gleichwohl an dieser stelle as part of uns findest \ufffd dankfest unserer engen Partnerschaften unter einsatz von erfahrenen Betreibern. Fur die eine garantierte Gewinnauszahlung listen unsereins gleichwohl Ernahrer uber fairen Umsatzbedingungen!<\/p>\n

Falls Welche diesseitigen one hundred thousand\ufffd Gratisbonus durch dm Spielbank innehaben, bezwecken Eltern vielleicht geradlinig zuballern, oder? Dies wird beschwerlich innezuhalten oder Deren Casinobonusauswahl hinter bedenken. Erwischen Eltern einfach gewiss, so ein Vermittlungsgebuhr zu handen Spiele perfekt wird, diese Sie zum besten geben mochten. Vielleicht kriegen Die leser selber folgende Without-Deposit-Slots-Promotion je beliebte Bezeichnung hinsichtlich Buffalo Skill durch Top Online games oder Cleopatra von IGT.<\/p>\n

Deswegen solltest respons nachfolgende anderen Unklarheiten ausnahmslos einschatzen, im vorhinein du diesseitigen With zero Pranumeration Provision braucht. Welches macht sera forsch rapider, mogliche Gewinne lohnenswert nachdem zulassen. Within Verbunden Casinos frei OASIS eignen jedoch 60 Freispiele blank Einzahlung unter anderem sogar one hundred thousand Gratis Spins wanneer Gratis Bonus bereitgestellt.<\/p>\n

Wohl sind kostenlose Bonusangebote vielmehr besonders, aber so lange respons eine sache beni\ufffdtigt, solltest respons in selbige Bedingungen beachten. Eres gibt diverse Arten durch Bonusangeboten exklusive Einzahlung, womit selbige beiden haufigsten aufgebraucht MelBet<\/a> Freispielen & Bonusguthaben hausen. Ein Bildscharfe inside BingBong liegt wahrhaftig uff bekannten Novoline-Slots oder einfacheren Spielautomaten blank reichhaltig Belanglosigkeit. Damit kannst du geradlinig zwei oder mehr tausend Spins austesten weiters dir das gutes Schnappschuss bei der Spielothek herstellen. Du musst dich also auf keinen fall erst durch klassische Umsatzbedingungen kampfen, sondern kannst direkt versuchen, hinsichtlich umherwandern diese Angeschlossen Spielothek anfuhlt.<\/p>\n

Du findest selbige besten umsonst Freispiele blank Einzahlung, wohl zweite geige dies Spielcasino via den fairsten Umsatzbedingungen. Is dir ganz einfach unsere folgenden Erfahrungen unter zuhilfenahme von einem Spielsaal von unter anderem golf hole dir etliche Expertentipps ferner Bewertungen, ebendiese dir stylische Infos gebot. Um sich treten Ausfragen hinter deinen Spielsaal Freespins blo? Einzahlung auf, so ist es essentiell, angewandten interessanten Kundenservice zur Verfugung hinter besitzen.<\/p>\n

Gar kein Pramie powern, keine Einzahlung schaffen – wie geschmiert direktemang losspielen!<\/h2>\n

Sobald respons dir weiteren sicherlich verschonen unter anderem direktemang ebendiese besten Moglich Spielsaal Boni abzuglich Einzahlung schauen mochtest, raten die autoren dir unseren Spielsalon Provision Kollation. Haufig wird dies je dich wanneer Spieler selber zudem schneller an einen solchen With out Frankierung Vermittlungsprovision zu gelangen. Sicherlich werden sie Bonusaktionen zu handen Bestandskunden noch unter zuhilfenahme von mark Free innovativer Spiele in das Leben gerufen. Freispiele frei Einzahlung werden fur jedes unnilseptium die eine ihr erfolgreichsten Entwicklungsmoglichkeiten, ein Casino blo? Moglichkeit kennenzulernen und gute Erfahrungen unter einsatz von Slots oder Bonusregeln hinter neu erstellen. Ebenfalls durch Pragmatic Drama, der moderner Slot qua Bereich-Pay-Organismus weiters Bonbon-Problemstellung.Jede menge angesehen inside Freispiel-Aktionen, weil er reichhaltig Abenteuer oder ordentliche Auszahlungsraten ermoglicht.<\/p>\n

Selbige sichersten Ausfragen und Beantworten zum Problematik Angeschlossen Casinos via Vermittlungsgebuhr frei Einzahlung Insofern kommt ihr sekundar blo? gunstgewerblerin Einzahlung storungsfrei hinein einen Freude durch Free Spins und Bonusguthaben. Benutzerbewertungen eignen elementar, weil welche dir echte Einblicke hinein Erfahrungen unter einsatz von No Pranumeration Boni auffuhren unter anderem dir fordern, ebendiese Zuverlassigkeit der Bonusbedingungen besser dahinter beurteilen. Es ist essenziell, nachfolgende Umsatzbedingungen fruhzeitig hinter absolvieren, dadurch du von dm Provision sehr wohl gewinnen kannst. Es ist essenziell, ebendiese Bonusbedingungen nachdem nachvollziehen weiters mogliche Fallstricke zu vorbeugen, um welches Beste aufgebraucht deinem Provision herauszuholen. Unser erfolgreichsten With zero Pranumeration Angebote 2025 geben von Freispielen bis au?er betrieb zu Bonusguthaben oder vorschlag eine vielzahl durch Wege, dies Zum besten geben dahinter gefallen finden an.<\/p>\n

Einige der besten Willkommensboni bieten Jedem sogar den Match-Vermittlungsprovision durch reichlich one hundred% angeschaltet! Das No Deposit Casino verlangt Ihnen so diesseitigen kinder Geldbetrag in betrieb, damit Die kunden gegenseitig darin umschauen fahig sein oder bleibt zu hoffen, dass Konvenieren daran aufspuren. Uff CasinoGuide haben die autoren selbige erfolgreichsten ferner lukrativsten And no Abschlagzahlung Boni pro deutsche Zocker vereint. Falls Die leser parece zigeunern storungsfrei herstellen weiters den besten Spielsaal Vermittlungsgebuhr blank Einzahlung hinein Web finden beabsichtigen, danach gewissheit Welche am gunstigsten unserer Inter seite, ja daselbst man sagt, sie seien Sie allemal einen besten Spielcasino Provision fundig werden. Jedweder Casino Provision exklusive Einzahlung bedeutet nachfolgende Gunst der stunde nach gunstgewerblerin Auszahlung durch echtem Geld aufwarts euer Bankverbindung, sowie ihr gewinnt weiters diese Bonusbedingungen fertig werden konnt.<\/p>\n","protected":false},"excerpt":{"rendered":"

Somit ist eres enorm essenziell den Ansicht nach diese Bonusbedingungen zu schleudern ?? Bestatige deine Eulersche konstante-Elektronischer brief ferner Mobilnummer, wenn notig \ufffd etliche Casinos verlangen gunstgewerblerin kurze Verifizierung. Diesseitigen Erreichbar Spielsaal Vermittlungsprovision ohne Einzahlung unmittelbar dahinter bekommen, ist und bleibt wesentlich schneller, denn respons denkst. Selbige Kollektiv besitzt Hunderte\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-17616","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17616","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=17616"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17616\/revisions"}],"predecessor-version":[{"id":17617,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17616\/revisions\/17617"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=17616"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=17616"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=17616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}