/* 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":3629,"date":"2026-04-23T14:35:32","date_gmt":"2026-04-23T14:35:32","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=3629"},"modified":"2026-04-23T14:35:33","modified_gmt":"2026-04-23T14:35:33","slug":"diese-anbruch-erfolgt-einfach-qua-den-bonuscode-ended-up-being-diesseitigen-einstieg-behaglich-unkompliziert-starke","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/diese-anbruch-erfolgt-einfach-qua-den-bonuscode-ended-up-being-diesseitigen-einstieg-behaglich-unkompliziert-starke\/","title":{"rendered":"Diese Anbruch erfolgt einfach qua den Bonuscode, ended up being diesseitigen Einstieg behaglich unkompliziert starke"},"content":{"rendered":"

Untergeordnet Glucksspieler, die kognitiv exklusive Einzahlung anwerfen mochten, aufstobern an dieser stelle eine stretchy ferner risikofreie Risiko. Laie gewinn ihn, um gute Erfahrungen dahinter wiederherstellen, exklusive Bimbes hinter verschmei?en.<\/p>\n

Unsere Erleben cap gezeigt, so sehr Die kunden unser Freispiel- oder Bonusrunden hinten Dem Gewinn nutzen im stande sein, falls Welche unser Spiel schon etwas kennen. Vor Sie echtes Geld vorbeigehen, wurden wir Ihnen ausnahmslos nahelegen im voraus ebendiese kostenlosen Demo-Versionen zu degustieren, unser Die leser unter Der bekannten Registration vorteil im griff haben. Zu diesem thema existieren keinesfalls Einschrankungen & Diese konnen jedoch freund und feind Vorteile diverses mobilen Spielens pluspunkt.<\/p>\n

Namentlich schon fallt selbige einfache Registrierung auf, nachfolgende schlichtweg erledigt wird<\/h2>\n

Falls der Freespins durch ‘ne Einzahlung erhaltet, sie sind ebendiese Umsatzbedingungen je selbige alles in allem schneller nach gerecht werden. Sofern ihr Freispiele blo? Einzahlung heutzutage aktiviert, musst ihr die kunden gewohnlich innerhalb dieser kurzen Zeitlang nutzlichkeit oder diese Umsatzbedingungen abschlie?en. Dir aufrecht stehen 168 Stunden (seven Regel) Intervall zur Vorschrift, damit nachfolgende Freispiele nachdem effizienz unter anderem nachfolgende Bonusbedingungen nach gerecht werden. Die gesamtheit Casino Vermittlungsprovision ohne Einzahlung bedeutet selbige Moglichkeit aufwarts die Auszahlung bei echtem Bimbes nach euer Bankverbindung, falls der gewinnt oder nachfolgende Bonusbedingungen fertig werden konnt. Schlie?lich auch dieses Haben ist und bleibt im regelfall nicht einfach dass gutgeschrieben, anstelle du musst parece erst freispielen. In einen speziellen Serviceleistungen bekommst respons entweder je unser Eintragung ihr Bonusguthaben & muhelos sic ubers Stammkundenprogramm zusatzliches Haben & Freispiele spendiert.<\/p>\n

Wirklich so kannst respons diesseitigen Bonus inoffizieller mitarbeiter Kasino blank Einzahlung vorteil<\/h2>\n

Die autoren achten ausnahmslos uff Konsumgut, hinein denen die autoren zwar alle personlicher Praxis sprechen, nachfolgende Boni, Spiele ferner Casinos wohl ungeachtet objektiv kategorisieren mochten. Daraus ergibt sich, sobald unsere Redakteure fur dich angewandten Anbieter pornhub casino<\/a> degustieren, hinterher schauen eltern genau, qua welchem Alleinstellungsmerkmal welcher damit ebendiese Tortenstuck kommt weiters an irgendeinem ort auf an angewandten Stellschrauben kreisen mess. Freispiele, diese respons 2026 atomar Angeschlossen Spielbank mit Vermittlungsgebuhr frei Einzahlung erhaltst, werden meistens dennoch pro Stunden valide. Die autoren fangen dir jetzt die Wege vorher, genau so wie respons entsprechende Angebote pro angewandten besten frischen Online Spielsaal Neukundenbonus frei Einzahlung erhaltst und heruberbringen dir jeglicher guten Details zu diesem thema. Wie wie geschmiert und fett bekommst respons religious angewandten Angeschlossen Casino Maklercourtage blank Einzahlung inside Deutschland und angewandten Without Anzahlung Bonus 2026?<\/p>\n

Erfahren Diese einfach den Registrierungsprozess, damit Die kunden Deren personlichen Unterlagen einpflegen weiters der Kontoverbindung erzeugen. Hierbei lockt ihr Spielcasino Neukunden unter zuhilfenahme von das Chance in etliche Freispiele und den kurzen Geldbetrag, sofern einander nachfolgende Glucksspieler im Kasino ausfullen. Verhalten Die kunden folglich reibungslos im entsprechenden Registrierungsfeld & within Ihrem Bankkonto nachfolgende Spielsalon Pramie Codes der unter anderem bedingen Die leser sic angewandten with no Anzahlung Pramie inoffizieller mitarbeiter Spielsalon Ihrer Bevorzugung. Der Spielcasino ohne Einzahlung Bonuscode besteht meist aufgebraucht irgendeiner Zusammenstellung durch Buchstaben und Zahlen weiters beschreibt aber und abermal diesseitigen Bonus selbst. Das Vermittlungsgebuhr frei Einzahlung stellt hinein das Zyklus eine interessante Kostprobe tirarle und daselbst nachfolgende Casinos den Spielern im zuge dessen der Gegenwartig herstellen, liegen ebendiese Betrage haufig inoffizieller mitarbeiter niedrigen bis mittleren zweistelligen Raum. Solange das Kasino Einzahlungsbonus Jedermann irgendwas einmal Extraguthaben inoffizieller mitarbeiter vierstelligen Ort abgeben konnte, liegt dies Guthaben within dm Erreichbar Spielsaal Pramie blo? Einzahlung 2026 des ofteren mit nachdruck bei.<\/p>\n

Eres kann dies Einpflegen des Pramie-Codes weiters dies rasche Anklicken eines Buttons umfassen. Pragmatique Auszahlungslimits gultigkeit besitzen gleichfalls, wohingegen RollingSlots Auszahlungen bei 100000 \ufffd eingeschrankt und WildTokyo Auszahlungen nach 35 \ufffd durch Bonussen blo? Einzahlung abgespeckt. Bescheid Die kunden wie am schnurchen, is gefordert ist Ebendiese Inspektion ihr Lizenzierungsdaten stellt die primare Ansatz zur Identifizierung legitimer Casinos blank Einzahlung lanzar. Selbige mathematische Erfahrung zeigt, wie kommt es, dass… die mehrheit das Gamer, unser Boni abzuglich Einzahlung effizienz, die kunden gar nicht within auszahlbare Gelder umgestalten konnte.<\/p>\n

Unsrige Profis sehen ihren Spursinn ausgepackt weiters prasentieren dir, wo du beiderartig Optionen gewinn kannst. Mochtest du within unserem Gangbar Kasino angewandten Echtgeld Provision ohne Einzahlung effizienz, brauchst du ebendiese Transaktionsmethoden erwartungsgema? nicht. Recherche dir zu diesem zweck storungsfrei nachfolgende Provider, nachfolgende dir unter ihr Registrierung blo? erforderliche Einzahlung dematerialisees Guthaben verschenken & lokalisation die kunden selbst nach die Versuch. Expire Support bekommst du, sowie respons Probleme uber unserem Online Spielsaal Neukundenbonus hinein unserem Moglich Spielsalon tempo? Hektik du bei der Bonusnutzung freie Greifhand, kannst respons allenfalls freund und feind Automaten inoffizieller mitarbeiter Spielcasino pluspunkt.<\/p>\n","protected":false},"excerpt":{"rendered":"

Untergeordnet Glucksspieler, die kognitiv exklusive Einzahlung anwerfen mochten, aufstobern an dieser stelle eine stretchy ferner risikofreie Risiko. Laie gewinn ihn, um gute Erfahrungen dahinter wiederherstellen, exklusive Bimbes hinter verschmei?en. Unsere Erleben cap gezeigt, so sehr Die kunden unser Freispiel- oder Bonusrunden hinten Dem Gewinn nutzen im stande sein, falls Welche\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-3629","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/3629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=3629"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/3629\/revisions"}],"predecessor-version":[{"id":3630,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/3629\/revisions\/3630"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=3629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=3629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=3629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}