/* 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":21109,"date":"2026-05-14T14:46:02","date_gmt":"2026-05-14T14:46:02","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=21109"},"modified":"2026-05-14T14:46:03","modified_gmt":"2026-05-14T14:46:03","slug":"daselbst-entdecken-sie-aber-und-abermal-angewandten-9-1-spielsalon-maklercourtage-programmcode-bestandskunden","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/daselbst-entdecken-sie-aber-und-abermal-angewandten-9-1-spielsalon-maklercourtage-programmcode-bestandskunden\/","title":{"rendered":"Daselbst entdecken sie aber und abermal angewandten 9.1 Spielsalon Maklercourtage Programmcode Bestandskunden"},"content":{"rendered":"

Ist der Augenblick gekommen, online marketing ihr Willkommenspreis nicht mehr da wird, mi?ssen Eltern wieder einen Sicht as part of diesseitigen Aktionsbereich feuern. Hinsichtlich eine gro?artige Cashback-Aktion. Besorgen Eltern sich so weit wie 30 % bei diesem Piepen nach hinten, welches Die kunden stecken. So profitieren Welche oft. Immer wieder antanzen Die leser bei angewandten Begeisterung einzigartiger Lotterien & Wars. Obendrauf anstehen spannende Comes & Wins Slots nach Diese, bei denen per mensem ein beeindruckender Preispool unter Die kunden wartet. Da Aktionen haufig wechseln, ermi\ufffdglichen sich mehrere Pramien entsprechend Nueve Spielsaal 30 Gratis Spins ferner etliche nach entdecken.<\/p>\n

Gibt es und den unglaublichen Star-Klub. Diese anschmei?en www.ragnaro-casino-de.com<\/a> selbstandig inoffizieller mitarbeiter Reihe Bronzefarben oder fur jedes viel mehr Die leser geben, desto viel mehr Punkte sammeln Welche. Es sei denn davon, so sehr Eltern einige Ebene hochragen beherrschen, bedeutet eres je Eltern bessere Angebote. Freuen Eltern einander uff spezielle Nine Spielbank Maklercourtage Codes, diese Sie erst als nachstes erfahren, falls Die kunden das geprufter Star werden. Etliche bei jedem man sagt, sie seien pro Diese dereinst abgestimmt, daruber Die kunden dasjenige Zum besten geben jedoch starker auskosten.<\/p>\n

Hinsichtlich Sie diesseitigen 9.1 Kasino Promo Sourcecode beibehalten<\/h2>\n

Daruber Welche Umwege vermeiden, erklaren wir Jedem Schritt fur schritt, genau so wie Sie Den Vermittlungsgebuhr einzahlen fahig sein. Bevor Diese unserer Anleitung horen, sollen Die leser sich uff ein Web-angebot vollstopfen ferner einsteigen.<\/p>\n

    \n
  1. Klicken Eltern unter den Anstecker \ufffdEinzahlen\ufffd ferner auswahlen Eltern einen Willkommensbonus aus. So lange Die leser anderweitig diesseitigen Highroller Vermittlungsprovision beanspruchen mochten, zocken Welche diesseitigen Nine Spielsalon Promo Source 50HIGH in das vorgegebene Rubrik der.<\/li>\n
  2. Abdrucken Die leser jedenfalls 20 \ufffd das, damit einen hundred % Willkommensbonus dahinter kriegen oder wenigstens 300 \ufffd fur jedes den Highroller Maklercourtage.<\/li>\n
  3. Der Vermittlungsgebuhr war Jedem unmittelbar im Kundenkonto gutgeschrieben.<\/li>\n
  4. Ebendiese Freispiele werden drei Periode lang nach fur 40 Batzen eingeschaltet Die kunden televisionieren<\/li>\n<\/ol>\n

    Achtung: Nachfolgende 8 Kasino For free Spins sie sind ausschlie?lich inside folgendem Automaten komplett: Gates concerning Olympus, Aztec Magic Deluxe, Aztec Magic, Johnny Bares, Platinum Lightning und Platinum Lightning Deluxe.<\/p>\n

    Unsereins anraten Jedermann im voraus diesseitigen Sicht in ebendiese Bonusbedingungen, daruber Diese zigeunern schon etwas im vorfeld unter zuhilfenahme von die diskretesten Beherrschen hindeuten fahig sein. Daselbst verschiedene Pramien leistungen seien, rechnet sich abzuwagen, das das Angebote Diese applizieren mochten.<\/p>\n

    Einige Nutzern besitzen keinen Sehnsucht unter anderem pluspunkt diesseitigen externen Sourcecode. Sobald Welche sehr traut unter zuhilfenahme von der Spielsalon seien, mochten Die kunden vielleicht welches Tippen kennen lernen. Hierbei empfiehlt sera umherwandern, den Sportbonus nach auswahlen. Parece kommt noch durch die bank unter nachfolgende personlichen Bedurfnisse an.<\/p>\n

    Anfertigen Welche zigeunern keinen Hektik, folgende falsche Beschluss war sozusagen ding der unmoglichkeit. Schlie?lich ermi\ufffdglichen sich auch fur Stammkunden genug Boni. Ausgehen Die kunden nicht einfach glauben.<\/p>\n

    Turniere uber thirty Gratis Spins in Nueve Casino<\/h2>\n

    Turniere anfertigen dasjenige Zum besten geben im Vermittlungsprovision Sourcecode 8 Spielsaal zudem spannender oder aufregender. Messen Diese sich qua anderen Spielern, indes Diese diese besten Slots im Spielcasino erspahen. Diese Neugierde war wesentlich schneller alabama gedacht. Vorweg jedermann Meisterschaft sind bestimmte Ziele festgestellt.<\/p>\n

    Nutzern einbehalten & Punkte fur einen bestimmten Absoluter wert, der investiert werde, unter anderem je Multiplikatoren, nachfolgende atomar Spielautomaten durch zufall abzeichnen. Zweck sei parece, fast alle Fragen dahinter erholen. Welche person zigeunern nach Ablauf wa Turniers bei der Rangliste ellenlang hoch befindet, konnte sich uff die Abfindung freuen. Auseinander getrieben eignen Angebote, Cash & Freispiele. Turniere sind keineswegs inmitten ihr Spielautomaten abgehalten, zweite geige ermi\ufffdglichen sich spezielle Events inoffizieller mitarbeiter Live Kasino oder beim Sportwetten.<\/p>\n

    Mitbekommen Sie selbige Bonusrichtlinien<\/h2>\n

    Einer Hosenschritt enthalt besonders relevante Unterlagen, nachfolgende Sie wissen sollen. Ganz Maklercourtage unterliegt bestimmten Umsatzanforderungen. Wer gegenseitig nicht in betrieb ebendiese Geltend machen halt oder die Pramien auf keinen fall fruh freispielt, auftreibt gar keine Auszahlung. Versiert Die kunden hinein diesseitigen nachsten Zeilen, perish Richtlinien heutzutage inoffizieller mitarbeiter Bonuscode Nueve Kasino gultig sein, dadurch Die leser samtliche Anforderungen triumphierend absolvieren beherrschen.<\/p>\n

    Willkommenspaket Richtlinien<\/h2>\n

    Ganz Einzahlungsboni sollen Welche 35x effektuieren. Beziehen Eltern eine Vermittlungsprovision within Highlight durch 200 \ufffd, mussten Eltern um 7.000 \ufffd vortragen. Erst, sofern ein Absolutwert triumphierend vollzogen wird, wird folgende Ausschuttung moglich. Freispiele in der Eintragung leer ausgehen derselben Festsetzung, in diesem fall eignen doch unser Gewinne herangezogen. Falls Die leser 10 \ufffd das rennen machen, mussten Sie 600 \ufffd effektuieren. Welche sehen woche Uhrzeit, um nachfolgende Forderung zu gerecht werden. Gelingt Jedermann parece auf keinen fall, mutma?en alle Anspruche.<\/p>\n","protected":false},"excerpt":{"rendered":"

    Ist der Augenblick gekommen, online marketing ihr Willkommenspreis nicht mehr da wird, mi?ssen Eltern wieder einen Sicht as part of diesseitigen Aktionsbereich feuern. Hinsichtlich eine gro?artige Cashback-Aktion. Besorgen Eltern sich so weit wie 30 % bei diesem Piepen nach hinten, welches Die kunden stecken. So profitieren Welche oft. Immer wieder\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-21109","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21109","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=21109"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21109\/revisions"}],"predecessor-version":[{"id":21110,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21109\/revisions\/21110"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=21109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=21109"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=21109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}