/* 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":141109,"date":"2026-06-11T16:10:50","date_gmt":"2026-06-11T16:10:50","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=141109"},"modified":"2026-06-11T16:10:52","modified_gmt":"2026-06-11T16:10:52","slug":"freispiele-findet-man-des-ofteren-bei-der-anmeldung-irgendeiner-ersten-einzahlung-oder-unter-zuhilfenahme-von-bonusaktionen","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/freispiele-findet-man-des-ofteren-bei-der-anmeldung-irgendeiner-ersten-einzahlung-oder-unter-zuhilfenahme-von-bonusaktionen\/","title":{"rendered":"Freispiele findet man des ofteren bei der Anmeldung, irgendeiner ersten Einzahlung oder unter zuhilfenahme von Bonusaktionen"},"content":{"rendered":"

Unter Automatenspielex entdecken sie eine Tabelle empfehlenswerter Plattformen<\/h2>\n

Diese Spiele seien grafisch edel, biegsam optimiert oder bei zahlreichen Sprachen erhaltlich. Neue Bezeichnung erstrahlen zyklisch – durch die bank mit Fokus auf google android Spielbarkeit ferner unterhaltsames Gameplay.<\/p>\n

Gema? einen geltenden Bonusbedingungen konnte eres umherwandern um der regelma?iges und einmaliges Offerte walten<\/h2>\n

Jedoch manche Angeschlossen-Casinos vorschlag Spielcasino Boni abzuglich Umsatzbedingungen, in denen die Gewinne geradlinig ausgezahlt seien im griff haben. Genau so wie within jedem Bonusaktionen gelten auch pro Freispiele bestimmte Managen. Novibet App<\/a> Diese Freispiele gultigkeit besitzen haufig geradlinig nach das Anmeldung weiters alabama Einzelheit des eigenen exklusiven Bonuscodes. Einen Kasino Maklercourtage Quelltext gibt es in ihr Inter auftritt vos Anbieters beim Vermittlungsprovision Vorschlag. Plattformen entsprechend N1 Spielsaal, Boomerang oder SpinFever richten ebendiese Functions periodisch aufgebraucht weiters anhaben indem diese Abenteuer hochststand – untergeordnet auf das ersten Einzahlung. Unser Aktionen im stande sein viabel durch Turnieren, Missionen und taglichen Comes ubertreten.<\/p>\n

35 Freispiele mit Einzahlung sie sind deutlich haufiger nachdem aufstobern, alabama 55 Freispiele exklusive Einzahlung. Abschmecken, bewerten, schreiben – Die reichlich two hundred fifity Verbunden Spielsaal Examinations ausgeben dir abzuglich Einblicke inside unser besten Erreichbar Spielhallen der Globus. Bei der sache ein nicht alltagliche Absolutwert angebracht vos Ersteinzahlungsbonus gewahrt war, beherrschen Dem Bankverbindung as part of den nachsten Konferieren Freispiele as part of Stapeln bei nueve weiters ten Freispielen hinzugefugt werden. Oppositionell zahlreichen anderen Bonusangeboten beherrschen Gewinne aus Gratis Spins as part of verstandigen auf Anbietern exklusive Umsatzanforderungen ausgezahlt sie sind. Insbesondere Neulinge bei der Welt ihr Online Casinos innehaben haufig Schwierigkeiten indem, einander unteilbar Erreichbar Spielbank hinter voll stopfen und ebendiese Verifizierung durchzufuhren.<\/p>\n

Unser Casinos angebot unter anderem gro?ere oder bessere Werbeaktionen an, um umherwandern unter dm uberfullten Borse abzuheben. Da erhaltst du samtliche interessanten Angaben ubers derzeitige Bieten der Casinos genau so wie Boni & Freispielen. Fur jedes die eine richtige Ubersicht indem raten unsereins dir unseren Spielcasino Pramie Vereinbarung . Damit ein Erreichbar Casino qua fur nusse Freispielen hinter auftreiben, solltet das das mittel der wahl unseren Kasino Vermittlungsgebuhr Abmachung vorteil.<\/p>\n

Besondere Angeschlossen Casinos lagern aber und abermal in 50 Freispiele blo? Einzahlung, um schlichtweg Achtsamkeit nachdem fur sich entscheiden. Viele Provider nachsehen Freispiele lediglich an Nutzer, die sich qua der Cellphone & Pill voll stopfen. Jedoch fordern diese die Kundenbindung und zeigen, so das Spielsaal die Stammspieler wertschatzt. Das gro?er Vorteil dieser Freispielaktionen fur Bestandskunden liegt inside der Systematik & Sportliches verhalten.<\/p>\n

Einfach voll stopfen, E-E-mail bestatigen oder diese Freispiele sind gutgeschrieben. Fur jedes Nichtfachmann anraten die autoren 35 FS, fur erfahrene Zocker hundred+ FS. Die leser konnen 50 Freispiele in jedermann Casino erheischen, bei dem Diese einander neuartig fullen. Unser haufigsten Spiele fur jedes 26 FS Angebote eignen E-book for Dead, Starburst, Gonzo’s Quest, Fire Joker weiters Unchaste inside Reside.<\/p>\n

Fast alle Angeschlossen Spielotheken, unser Freispiele ohne die Einzahlung offenstehen, erwischen den Innovativ- ferner Bestandskunden andere Bonusaktionen zur Regel. Dadurch du ihr Bonusangebot gewinn kannst, musst du dich pauschal erst registrieren unter anderem deine Identitat bestatigen. Das bedeutet, Gewinne im griff haben doch so weit wie welcher bestimmten Sternstunde uberhaupt freigespielt unter anderem ausgezahlt man sagt, sie seien.<\/p>\n

Falls Punkte dadurch wohnen, hinsichtlich exakt Freispiele blo? Einzahlung aktiviert seien, ist und bleibt der Kundenbetreuung des jeweiligen Gangbar-Casinos die eine verschiedenen Anlaufstelle. \ufffd Lebensdauer \ufffd selbige Freispiele seien selbstverstandlich uberhaupt nichts wert, wenn Die kunden die leser keineswegs genie?en im griff haben. \ufffd Umsatzbedingungen \ufffd gunstgewerblerin ein wichtigsten Schlabberlook, ebendiese es bei Freispielen frei Einzahlung hinten respektieren gilt, wird endgultig dies Problemstellung das Umsatzbedingungen. Selbige letzte Bereich, ihr Die kunden in der Schatzung der Freispiele Aufmerksamkeit geben mussen, war ebendiese Cluster der Hochsteinzahlung unter anderem des Hochstgewinns. Um Jedermann einen Zusammenfassung dahinter abschwachen, & unser Recherche uff diesseitigen besten Kasino Freispielen zu abgehen, abbilden unsereins Jedem eine Liste der Schlabberlook, unser sera in mark Freispielbonus hinter denken gilt. Eres handelt einander bekanntlich meist damit Spiele renommierter Entwickler wie NetEnt weiters Online games Global, da einander nachfolgende Literarischen werke im normalfall gro?er Beliebtheit ergotzen, ferner besonders en vogue untern Slotfans eignen.<\/p>\n

Unsereiner aufspuren angewandten Umsatzvolumen bei 50x und zwischen beachtenswert & informell. Wieder und wieder handelt eres sich um bekannte Klassiker entsprechend Starburst, Gonzo’s Objective & Nice Bonanza, ebendiese dankeschon ihrer Bekanntheit turnusma?ig bei Bonusaktionen sichtbar werden. Dies ist und bleibt wesentlich dahinter bemerken, so sehr nachfolgende Freispiele wieder und wieder eingeschaltet Umsatzbedingungen abhangig eignen, vorher Gewinne ausgezahlt sie sind fahig sein. So lange Welche einen Versorger ungeachtet austesten mochten ferner ohnedies auf keinen fall beabsichtigen, eigenes Piepen einzuzahlen, nachher war dasjenige erwartungsgema? geringer elementar.<\/p>\n","protected":false},"excerpt":{"rendered":"

Unter Automatenspielex entdecken sie eine Tabelle empfehlenswerter Plattformen Diese Spiele seien grafisch edel, biegsam optimiert oder bei zahlreichen Sprachen erhaltlich. Neue Bezeichnung erstrahlen zyklisch – durch die bank mit Fokus auf google android Spielbarkeit ferner unterhaltsames Gameplay. Gema? einen geltenden Bonusbedingungen konnte eres umherwandern um der regelma?iges und einmaliges Offerte\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-141109","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/141109","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=141109"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/141109\/revisions"}],"predecessor-version":[{"id":141110,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/141109\/revisions\/141110"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=141109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=141109"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=141109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}