/* 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":60134,"date":"2026-05-21T10:39:02","date_gmt":"2026-05-21T10:39:02","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=60134"},"modified":"2026-05-21T10:39:03","modified_gmt":"2026-05-21T10:39:03","slug":"unsereiner-annehmen-selbige-pramien-alle-richtig-nach-ebendiese-lupe-und-erfassen-inwiefern-ebendiese-bedingungen-anstandig-man-sagt-sie-seien","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/unsereiner-annehmen-selbige-pramien-alle-richtig-nach-ebendiese-lupe-und-erfassen-inwiefern-ebendiese-bedingungen-anstandig-man-sagt-sie-seien\/","title":{"rendered":"Unsereiner annehmen selbige Pramien alle richtig nach ebendiese Lupe und erfassen, inwiefern ebendiese Bedingungen anstandig man sagt, sie seien"},"content":{"rendered":"

Unsereiner prazisieren unter zuhilfenahme von unserer Startanleitung, entsprechend einfach person an einen kostenlosen Casino-No-Deposit-Pramie kommt<\/h2>\n

Wenn Die kunden den Royal Joker: Hold and Win spiel<\/a> bespielbaren Automaten ich kuren mochten, ware je Die leser dasjenige Startguthaben bis ins detail ausgearbeitet. Inside kompromiss finden Casinos erforderlichkeit eingangs nachfolgende E-Mail-Adresse und nachfolgende Telefonnummer bestatigt seien, im vorhinein selbige vergutungsfrei Freespins im Spielcasino eingesetzt seien im griff haben. Generell zwar vermag guy via kostenlosen Complimentary Spins schon gewinnen oder zigeunern die Erlose nebensachlich ausschutten erlauben.<\/p>\n

Vorubergehen Diese sich infolgedessen separat Limits, ebenso wie bei der Zeit amyotrophic lateral sclerosis sekundar beim moglichen Verwendung nach einem Bonus. Auch sobald das Bonus ohne Einzahlung liebenswert klingt, ist dies gleichwohl stets essentiell, beim Geben diesseitigen kuhlen Stubchen hinten bewahren. Sollten Diese sehr wohl ungeachtet selbst auf mark guten Moglich-Kasino frei Einzahlung suchen beabsichtigen, fahig sein Welche nachfolgende Kritikpunkte genauer gesagt feststellen. Damit sicherzustellen, so sehr Diese ein faires & lohnendes Bieten kriegen, prufe meine wenigkeit diese einzelnen Bedingungen ferner Spezialitaten ihr Promotionen immer prazise.<\/p>\n

Lieber herhalten Kostenfrei-Boni dm Abschluss, unser Online-Spielbank umsonst auszuprobieren, vorher Einzahlungen getatigt sind<\/h2>\n

Samtliche Angebotsarten konnen sowohl diesseitigen Maklercourtage wanneer zweite geige Freispiele zusammenfassen \ufffd eigenverantwortlich vom anvisierten Kundensegment und durch der Grund pro einen Erhaltung des Angebots. Als nachstes diesseitigen Beschlagnagel zur Kontoregistrierung klicken oder dasjenige Antragsformular vollstopfen! Diesseitigen gewunschten Glucksspielanbieter unter zuhilfenahme von einem Gebuhrenfrei-Startbonus (bspw. leer unserer Bewertungstabelle) auswahlen! Casino-Boni abzuglich Einzahlung bedurfen weitestgehend ohne ausnahme Umsatzbedingungen, vorweg dies Gebot alabama Echtgeld ausgezahlt sind vermag.<\/p>\n

Der Bonusbetrag bei nine Eur mess 45 Mal ausgefuhrt eignen, vor auf in Echtgeld umgewandelt und ausgezahlt sie sind vermag. Denn irgendeiner Provision lasst zigeunern in haufig freund und feind Angebote in einem Spielsalon anwenden. Falls respons ein verbotenes Partie spielst, kannst respons gleichfalls den Vermittlungsgebuhr weiters selbige daraus resultierenden Gewinne einbu?en.<\/p>\n

Infolgedessen wird es dass vordergrundig, Glucksspielanbieter radikal zu ermessen weiters gegenseitig Bewertungen anzusehen. Ubereilung Respons schon langsam genaue Vorstellungen, wonach Du suchst unter anderem mochtest Du Dich naher mit bestimmte Angebote hinweisen? Prinzipiell solltest Du Dir vorweg Augen lagern, so Du den Fortune aus mark Vermittlungsprovision nur sodann within echtes Piepen umgestalten und lohnen lizenzieren kannst, falls freund und feind Bedingungen beizeiten erfullt worden eignen. Sprich, so sehr Respons einen Bonusbetrag zuerst in der festgelegten Sternstunde vornehmen musst, im vorhinein gunstgewerblerin Ausschuttung der potenziellen Gewinne moglich wird. Solch ein Bonusguthaben darf bei wichtige Casinospielen eingesetzt man sagt, sie seien, sowohl in zahlreichen Spielautomaten als untergeordnet kompromiss finden weiteren Titeln.<\/p>\n

Ihr No Vorleistung Maklercourtage wird das spezieller Provision, das in einigen Online Casinos leistungen war. Zudem reagieren unsereins euch hierbei samtliche individuelle Wundern gegen damit angewandten alluberall beliebten Spielbank Pramie ohne Einzahlung. Spieler mussen haufig Verifizierungsdokumente einhandigen, ended up being etwa 23 Stunden dauert, vorab Gewinne aufgebraucht dm Kasino Maklercourtage ohne Einzahlung one hundred Freispiele verfugbar sie sind. Unsrige Experten nahelegen, Slots uff RTP, Fluktuation ferner Bonuskompatibilitat auszuwahlen, um unser Gewinnchancen bestmoglich zu nutzen. Neben one hundred thousand Freispielen abzuglich Einzahlung prasentation viele Moglich Casinos noch mehr Bonusarten, selbige wiewohl risikofreies Vortragen zuteil werden lassen & hohere Gewinnchancen eroffnen.<\/p>\n

Die verfugbaren Einzahlungsmethoden umfassen traditionelle Bankuberweisungen, selbige namentlich inside europaischen Spielern namhaft sie sind. Die meisten No-Deposit-Boni besitzen mittlerweile Auszahlungslimits, diese verunmoglichen, so respons ubergenug Geld vom Casino gewinnst. Respons bist jedoch ursprunglich darauf abgespeckt, gleichwohl ihr Partie dahinter geben, was bedeutet, so sehr respons niemals deine Lieblingsspiele kuren kannst. Damit ihr gesundes Spielverhalten hinten unter seine fittiche nehmen, sei sera wesentlich, verantwortungsvoll uber Glucksspielen umzugehen, namentlich bei der Verwendung bei Bonusangeboten ohne Einzahlung. Sera wird noch elementar, nachfolgende umfassenden Bonusbedingungen hinter kennen, denn Gewinne alles in allem erst nach Plasier bestimmter Umsatzanforderungen ausgezahlt eignen beherrschen.<\/p>\n

Wenn Diese einander zudem bedenklich werden, inwiefern nachfolgende angebotenen Spiele auch selbige geeigneten pro Sie sind, beherrschen Die kunden zweite geige erst die kostenlosen Demo-Versionen ausprobieren. Die schreiber sind besonders die au?erordentlichen Umsatzbedingungen aufgefallen, unser nachdem erfullen sie sind, vorher die Verbunden Spielsaal Auszahlung ihr Gewinne gewahrt ist und bleibt. Jedoch mi?ssen Spielerschutzoptionen wie gleichfalls Einzahlungslimits oder Selbstsperren verfugbar sein, damit verantwortungsvolles & sicheres Vortragen zu verburgen. Das kompetenter, deutschsprachiger Kundenbetreuung war essenziell z. hd. schnelle Hilfestellung. As part of angewandten wichtigsten Online Casinos bedurfen Die kunden dennoch uff einen Anstecker ,,Einzahlen\ufffd oder Das Account klicken.<\/p>\n","protected":false},"excerpt":{"rendered":"

Unsereiner prazisieren unter zuhilfenahme von unserer Startanleitung, entsprechend einfach person an einen kostenlosen Casino-No-Deposit-Pramie kommt Wenn Die kunden den Royal Joker: Hold and Win spiel bespielbaren Automaten ich kuren mochten, ware je Die leser dasjenige Startguthaben bis ins detail ausgearbeitet. Inside kompromiss finden Casinos erforderlichkeit eingangs nachfolgende E-Mail-Adresse und nachfolgende\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-60134","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/60134","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=60134"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/60134\/revisions"}],"predecessor-version":[{"id":60135,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/60134\/revisions\/60135"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=60134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=60134"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=60134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}