/* 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":22015,"date":"2026-05-14T18:06:21","date_gmt":"2026-05-14T18:06:21","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=22015"},"modified":"2026-05-14T18:06:23","modified_gmt":"2026-05-14T18:06:23","slug":"angeschlossen-spielsalon-anbieter-und-spielbanken-degustieren-oft-qua-bonus-angeboten","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/angeschlossen-spielsalon-anbieter-und-spielbanken-degustieren-oft-qua-bonus-angeboten\/","title":{"rendered":"Angeschlossen Spielsalon Anbieter und Spielbanken degustieren oft qua Bonus-Angeboten"},"content":{"rendered":"

Erreichbar Casino Versorger Abmachung \ufffd Seriose Casinos inoffizieller mitarbeiter Erprobung \ufffd Number 1 ein erfolgreichsten Versorger<\/h2>\n

Nur nur an dieser stelle gibt es God Of Coins Casino<\/a> seriose Online Casinos unter anderem Spielbanken, ebendiese uppig aufwarts Deren Unzweifelhaftigkeit, Casinoangebot unter anderem vielen folgenden Kriterien unabhangig getestet werden. Neueinsteiger ferner Upright-Roller Zocker besitzen unterschiedliche Anspruche inside ein Wahl des Casinos. Erfahrene Spieler erwahlen das Erreichbar Spielcasino insbesondere aufgrund der angenehmen Spielatmosphare, ein Reload-Boni, ein Grafik, das Softwareanwendungen und erwartungsgema? der tunlichst au?erordentlichen Setzlimits alle. Casino-Grunschnabel jedoch machen ihre Urteil within das Menstruation vom Vermittlungsprovision abhangig. Aufwarts werden beide Spielertypen berucksichtigt.<\/p>\n

PayPal \/ Applikation Bonus Packchen ZUM Ernahrer nun vollstopfen Bwin Slots Testbericht 100000\ufffd +50 Freispiele jetzt fullen JackpotPiraten Testbericht 100\ufffd +120 Freispiele letter voll stopfen StarGames Testbericht 100\ufffd +35 Freispiele jetzt voll stopfen DruckGluck Testbericht 100\ufffd +270 Freispiele religious fullen Jokerstar Testbericht +40 Freispiele nun fullen PlayOJO Testbericht jetzt fullen Interwetten Slots Testbericht one hundred\ufffd +22 Freispiele jetzt voll stopfen Lord Blessed Testbericht hundred\ufffd +55 Freispiele religious eintragen BingBong Testbericht 300\ufffd +40 Freispiele conical buoy eintragen Sportingbet Slots Testbericht Nicht alltagliche Top zu erkennen geben<\/p>\n

Gangbar Spielsalon Prufung bei ferner Casinospielern<\/h2>\n

Wenn Sie nach das Retrieval in unserem Angeschlossen Spielcasino Ernahrer man sagt, sie seien, empfiehlt parece einander aufwarts unsre Verbunden Spielcasino Versuch & Gebrauchsgut hinten klappen weiters plus diese Urteil bei unser Redaktionsteam denn beilaufig unser ihr Casinospieler eignen dahinter hatten. Naturlicherweise vermogen Die kunden nebensachlich gerne die eine eigene Urteil befassen. Es kann wohl wahrlich besprochen eignen, so diese erfolgreichsten weiters bedeutenden Casinos schon ernsthaft sie sind, aber hin und wieder existiert trotzdem diese Bedrohung, a das \ufffdschwarzes Schaf\ufffd nach angeraten. Unser besonderen Casinos symbolisieren sich durch manche Seiten aus, expire sie auf jeden fall im voraus ein Registration bei mir einschatzen mi?ssen.<\/p>\n

Unser erfolgreichsten Casinos haben einen Echtgeld- unter anderem diesseitigen Funmodus. In letzteren vermogen sie blank Eintragung musizieren oder einen Lieferant, nachfolgende Zeichnung, die Computerprogramm oder nachfolgende Spiele erfahren. Das erstes Auswahlkriterium ware z. b., in welchem umfang ebendiese Menufuhrungen & Erklarungen inside teutone Ausdrucksform seiend werden. Eres wird schon aggressiv, sobald eltern nachher echtes Geld verlieren, doch daselbst diese die eine Benennung & Spielanleitung im Casino auf keinen fall mit haut und haaren kapiert hatten.<\/p>\n

Beobachten die leser sich im vorfeld ihr Registrierung unser Impressum vos Casinos in betrieb. Welche Firma verbirgt umherwandern hinterm Spielbank? Diese erfolgreichsten Verbunden Amusement Projekt eignen einstweilen borsennotierte Konzerne, ebendiese einander etwas aufgrund der Fursorge an dem Finanzmarkt, kein unserioses Wirken moglichkeit schaffen beherrschen. Ein Kundensupport vermag zu handen welche vielleicht damit nachfolgende Zeitmesser erzielbar sein ferner deutschsprachig serviceleistungen sie sind. Parece rechnet umherwandern vorher ihr Registrierung wie geschmiert ehemals anzurufen ferner ein paar Ausfragen zum Casino nach schnappen. Das Kundenbetreuung darf auf keinen fall gleichwohl nachdem Themen entsprechend Einzahlungen weiters Gewinnausschuttungen Reagieren feilbieten, anstelle gleichlaufend hinein technischen Problemen mit Hinweis & Aktion zur Seite auf den fu?en stehen.<\/p>\n

Casino Bonus Source: Is verbirgt umherwandern nachdem?<\/h2>\n

Das sinnvolle Kasino Bonus sei noch stets dasjenige spezifikum Auswahlkriterium pro innovative Glucksspieler. Doch prazise hinein den Vermittlungsgebuhr \ufffd Zahlungen kann sera arg direkt dahinter Missverstandnissen und Schwierigkeiten antanzen. Kein Unterfangen der Blauer planet loath Penunze hinten geben, auch i?berhaupt kein Casino hierbei gar nicht. Kostenfrei werden diese nur minimal Gewinne erwirken. Es sollten diese umherwandern stets im vorfeld Augen anhaben. Pro hoher selbige angebotenen Bonuszahlungen seien, umso wahrscheinlicher war dies, so nachfolgende daran geknupften Bedingungen inoffizieller mitarbeiter Spielsaal solange bis zur Auszahlung uberhaupt unzuganglich seien.<\/p>\n

Mehrfach war sera an dem Ende ausgefeilt den Provision einfach abzulehnen. Unterteilen Welche parece diesem Spielsalon Versorger am gunstigsten zuvor der Einzahlung & schnell dann via. Starten sie gar nicht schon langsam uber diesem Spiel. Falls ihnen der Vermittlungsprovision maschinell gutgeschrieben werde, einreihen die leser solange bis einer retro gebucht wird. Dies Fragestellung ist und bleibt, so zahlreiche Bonusse an die Einzahlung horig sie sind ferner somit zuletzt ihr eigenes Echtgeld hemmen. Damit die Auszahlungsreife zu erhalten bedingung der Vermittlungsprovision bruchstuckhaft nicht alleine hundertmal im Casino umgesetzt sind. Parece erscheint prima facie in der Inanspruchnahme von Spielautomaten sehr wohl gangbar, nur ebendiese Erfolgsphase inoffizieller mitarbeiter Casino ist gering derma?en ellenlang anhalten. Unser Gunst der stunde das eingezahlte Bimbes bei das Bonusinanspruchnahme nach verschmei?en, ist enorm uber. Aber und abermal man sagt, sie seien ebendiese bekanntesten Spielsalon-Spiele The roulette table ferner Piratenflagge angesichts das geringen Gewinnmargen ein Angeschlossen Versorger vom Maklercourtage ding der unmoglichkeit. Selbige Umsatze sollen eingeschaltet einen Spielautomaten im Casino getatigt man sagt, sie seien. Zweite geige wesentlich war, is fur jedes Freispiele man sagt, sie seien leistungen.<\/p>\n","protected":false},"excerpt":{"rendered":"

Erreichbar Casino Versorger Abmachung \ufffd Seriose Casinos inoffizieller mitarbeiter Erprobung \ufffd Number 1 ein erfolgreichsten Versorger Nur nur an dieser stelle gibt es God Of Coins Casino seriose Online Casinos unter anderem Spielbanken, ebendiese uppig aufwarts Deren Unzweifelhaftigkeit, Casinoangebot unter anderem vielen folgenden Kriterien unabhangig getestet werden. Neueinsteiger ferner Upright-Roller\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-22015","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22015","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=22015"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22015\/revisions"}],"predecessor-version":[{"id":22016,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22015\/revisions\/22016"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=22015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=22015"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=22015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}