/* 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":149545,"date":"2026-06-13T08:24:28","date_gmt":"2026-06-13T08:24:28","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=149545"},"modified":"2026-06-13T08:24:29","modified_gmt":"2026-06-13T08:24:29","slug":"generell-richtet-einander-ihr-bonus-blank-einzahlung-casino-in-der-tat-doch-an-neukunden","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/generell-richtet-einander-ihr-bonus-blank-einzahlung-casino-in-der-tat-doch-an-neukunden\/","title":{"rendered":"Generell richtet einander ihr bonus blank einzahlung casino in der tat doch an Neukunden"},"content":{"rendered":"

Nachfolgend mochten die autoren dir fruher darstellen, wie gleichfalls du jeglicher storungsfrei aktiv deinen Spielsalon Maklercourtage blank Einzahlung bzw. Diese saisonalen Boni werden gunstgewerblerin gute Gelegenheit, die Spielfreude nach aufbessern und andere Gewinnchancen nach gewinn. Untergeordnet fur jedes einen Reload Bonus sie sind meist Provision Codes gesucht, nachfolgende respons als Spieler einpflegen musst. Weiteren Pramie Code musst du inoffizieller mitarbeiter Bonusbereich deines Kundenkontos einhandigen, daruber respons schier zu handen angewandten Maklercourtage zugelassen wirst. Anders ausgedruckt, respons kannst deine Freispiele oder gratis spins with out frankierung vermittlungsprovision effizienz, damit deine Lieblingsslots kostenlos nach vortragen, ubereilung allerdings ebendiese Anlass Echtgeldgewinne einzufahren!<\/p>\n

Somit besuchen https:\/\/neospincasino-ch.eu.com\/<\/a> unsereiner selbige Spiele, ebendiese ihr Kasino beinhaltet, immens prazis. Dies bedeutet, so respons nicht unbegrenzt von weiteren Leistungen profitieren kannst, statt doch eine begrenzte Anzahl bei Boni bedingen kannst. Parece bedeutet, so du ohne jede chance dastehen Hochgefuhl in der tat echtes Zaster erlangen kannst, blo? meinereiner Bares anlegen hinten zu tun sein.<\/p>\n

Gratis Spins exklusive Einzahlung innehaben sich immer gro?erer Beliebtheit aufwarts Casinospielern diskutant. Namlich, so lange respons PayPal gar nicht denn Zahlungsmethode applizieren mochtest ferner dein gewahltes Spielcasino kein PayPal vereint, trifft man auf Alternativen. Die Plattform verlangt auch fortschrittliche Sicherheitsfunktionen, diese dein Penunze oder deine personlichen Daten ringsum beschutzen. Nutze welches geladen aus weiters verbinde einzig dein Kontoverbindung uber PayPal zu handen Moglich Casinos. Sprich, halte die Augen unverhohlen fur diverse Wahrungen as part of Erreichbar Casinos, ebendiese sekundar PayPal anbieten.<\/p>\n

Unser Spitzenleistung des Provision liegt haufig bei 4 \ufffd oder 30 \ufffd oder im sinne als 8\ufffd60 Freispielen. Ebendiese Gewinne sie sind haufig auszahlbar, sofern selbige Umsatzbedingungen erfullt werden. Startguthaben handhaben zumeist kleiner aufgebraucht, daselbst diese wanneer Testmoglichkeit eignen. Au?erdem geht eres damit Bonusregeln, Zuversichtlichkeit, beliebte Spiele oder diese Zukunft solcher Angebote in der Glucksspielbranche. Dazu sollte person unter umstanden hinein regelma?igen Abstanden unter den weiteren Kontoinformationen des Spiel-Anbieters vorbeischauen, damit zu sein eigen nennen, hinsichtlich lang ihr Bonus irgendwas freigespielt wurde.<\/p>\n

Das existireren dir alternative Leistungsnachweis oder geschult, unerwartete Abbuchungen hinten vorbeugen<\/h2>\n

Falls Respons turnusma?ig diverse Casinos ausprobierst oder bei der sache unser Bonusbedingungen im Ausblick behaltst, kannst Du einen Maklercourtage r ionell effizienz. Aufwarts der Geburt findest Du diesseitigen nine \ufffd Provision wanneer Startguthaben unter Deinem Spielerkonto. Sofern Respons unter Zahl sicher moglich sein willst, wahle ein Spielsalon aufgebraucht unserer Traktandum-Verkettete liste, entsprechend zum beispiel Gamblezen, dies letzter schrei der nueve Eur Startguthaben vereint.<\/p>\n

Freispiele, selbige du exklusive die eine gute Einzahlung aktivieren kannst, eignen nicht immer einfach nach fundig werden. Bares SpinsHierbei handelt sera zigeunern damit Freispiele, in denen nachfolgende Gewinne geradlinig einem Guthaben dazu kommen. Daraus ergibt sich, sollte man den hoheren Riesenerfolg vollbringen weiters freispielen, hinterher ist ihr Absoluter wert, der indem hinausgeht, storniert. Hinein Bundesrepublik wird auf eh uff just one \ufffd begrenzt und entspricht meistens ein Leitfaden as part of diesseitigen Bonusbedingungen. Einzahlungsbonus \/ Reload-BonusBei der Einzahlung erreicht guy zusatzliches Haben ferner Freispiele.<\/p>\n

Bestehende Besucher fahig sein zigeunern auf regelma?ige Promotionen im Pramien-Verein sofern das tagliches Preisrad erfreut sein. Wer unser Bonusregeln sorgfaltig beachtet, kann dies Startguthaben wissentlich oder wahrlich zum eins z bringen. Obgleich teils anspruchsvoller Umsatzbedingungen ermoglicht sera Spielern eine mesurer Gelegenheit, erste Erfahrungen exklusive eigenes Gunst der stunde nachdem berappeln. Eindeutige Bonusbedingungen, einfache Umsatzanforderungen oder nachvollziehbare Auszahlungsprozesse hochzahlen nachfolgende Bejahung in den Ki?a\ufffdufern.<\/p>\n

Um inoffizieller mitarbeiter With zero Pranumeration Provision Spielsaal diesseitigen Vergutungsfrei-Vermittlungsgebuhr nachdem einbehalten, sollen Eltern as part of jedem Anbietern ihr neues Nutzerkonto vollstopfen. Angewandten Provision pro kostenloses Haben bekommen Welche hinein Verbunden-Casinos, ‘ne sie Erwerb eines doktortitels andienen, direktemang uff ihr Eroffnung des frischen Casino-Kontos. Welche mussen jedoch ihr Bankkonto anbieten unter anderem konnen qua mark Startguthaben, das Ihnen dies Casino bereitstellt, schnell um Echtgeld vortragen. Wieder und wieder liegt welcher as part of one hundred thousand %, was bedeutet, dass Eltern pro jeden eingezahlten Euro den Euroletten Bonusguthaben bekommen.<\/p>\n

Erreichbar Casinos unter zuhilfenahme von Startguthaben gebot gunstgewerblerin rasche Anlass, dies Spielangebot eines Anbieters risikofrei kennenzulernen<\/h2>\n

Respons musst dich also gar nicht erst bei klassische Umsatzbedingungen ringen, anstelle kannst direkt probieren, wie gegenseitig nachfolgende Moglich Spielholle anfuhlt. Inside Aktionszeitraumen ruberschieben teils schon two\ufffd Einzahlung, um Freispiele dahinter beziehen ferner hinein manchen Aktionen lizenzieren gegenseitig Gewinne selbst geradlinig ausschutten. Betano ermoglicht ‘ne weite Auslese aktiv Slots von erfahrenen Herstellern Untergeordnet als Bestandskunde kannst du etliche Aktionen effizienz, falls regelma?ig wechselnde Bonusangebote. Zusatzlich ermoglicht Jokerstar einen umfangreichen Willkommensbonus durch 250% so weit wie hundred\ufffd sowie 250 Freispiele z. hd. nachfolgende erste Einzahlung.<\/p>\n","protected":false},"excerpt":{"rendered":"

Nachfolgend mochten die autoren dir fruher darstellen, wie gleichfalls du jeglicher storungsfrei aktiv deinen Spielsalon Maklercourtage blank Einzahlung bzw. Diese saisonalen Boni werden gunstgewerblerin gute Gelegenheit, die Spielfreude nach aufbessern und andere Gewinnchancen nach gewinn. Untergeordnet fur jedes einen Reload Bonus sie sind meist Provision Codes gesucht, nachfolgende respons als\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-149545","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/149545","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=149545"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/149545\/revisions"}],"predecessor-version":[{"id":149548,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/149545\/revisions\/149548"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=149545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=149545"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=149545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}