/* 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":26112,"date":"2026-05-15T11:48:51","date_gmt":"2026-05-15T11:48:51","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=26112"},"modified":"2026-05-15T11:48:52","modified_gmt":"2026-05-15T11:48:52","slug":"chumbas-collection-is-filled-with-brand-new-headings-and-you-will-common-classics-you-are-able-to-acknowledge","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/chumbas-collection-is-filled-with-brand-new-headings-and-you-will-common-classics-you-are-able-to-acknowledge\/","title":{"rendered":"Chumba’s collection is filled with brand-new headings and you will common classics you are able to acknowledge"},"content":{"rendered":"

By using this type of methods, you could potentially effortlessly use their chumba gambling establishment $100 free play for existing users and you may boost your full gaming feel. The brand new chumba gambling enterprise 100 totally free gamble provide allows users to explore a wide range of game without any pressure of fabricating an first put. By using benefit of the newest Chumba Gambling establishment $100 free play, you could improve your gambling sense when you are minimizing economic chance.<\/p>\n

Start with get together your day-to-day Sign on Bonus most of the 1 day to help you build-up your Silver Coin and you may Sweeps Money balance. Twist for an incredible number of Gold coins and you will thousands inside the Sweeps Gold coins with our private FireShot Jackpot\ufffd game. Whether you are looking to citation big date throughout a luncheon break otherwise delight in a long night gambling tutorial, the fresh new platform’s big 100 % free coin program ensures the enjoyment never ever comes to an end. The secret to prolonged totally free gamble courses is pacing your game play and you may taking advantage of added bonus has within video game. This type of unique gold coins will be used the real deal prizes, in addition to dollars and you will provide notes, once meeting effortless 1x playthrough conditions.<\/p>\n

When buying the fresh Gold Money packages-for instance the very first purchase extra providing 5,000,000 Coins + forty Sweeps Mr-Play<\/a> Coins for $10-you will notice very Chumba Local casino no-deposit bonus business and special package deals that provides getting low-stop action.<\/p>\n

The Chumba Lite application try fully enhanced both for ios and you can Android os, providing a flaccid, smooth gaming feel wherever you\ufffdre. Act today when deciding to take advantage of this unbelievable worthy of-it will be the prime cure for increase bankroll from the fresh initiate. If you want providing far more worthy of, usually do not skip all of our exclusive basic pick render. Big redemptions (ten,000 South carolina or more) can sometimes take some extended because of a lot more protection inspections.<\/p>\n

Chumba Local casino works because the an excellent sweepstakes local casino, giving casino-concept game<\/h2>\n

Chumba Gambling enterprise seem to moves away limited-day Novel get a hold of also offers that provides most worthy of within the buy so you can standard Fortunate Forest Gambling enterprise Gold Currency bundles. And that goes a considerable ways towards offering members an effective initiate because they talk about the fresh gambling enterprise and its individual factors. Plus, for just $ten, users found cash together with ten billion Coins and you may thirty Sweeps Coins, like a great 300% upsurge in worth. For new pages just who intend to create very first get to the the working platform, Chumba Gambling establishment also offers all of them a personal basic-buy most one to notably escalates the worth of its rating.<\/p>\n

The entire assortment, paired with ample acceptance incentives and you can typical articles condition, causes it to be one of the more better-round game libraries regarding the social local casino world. Plus vintage gambling establishment options, you’ll find scrape notes, Slingo, quick profit games, bingo, Slingo video game, and arcade online game. For just what it’s well worth, We have noticed Chumba particularly broadening the blackjack offerings.<\/p>\n

The new application provides a selection of position game having timely loading minutes and you will private also provides. \ufffdMultiple Double Fantastic Eagles\ufffd is yet another ideal choice, giving a vintage around three-reel experience similar to traditional Las vegas slots. Yet not, particular users possess said complications with support service and you will earnings. Chumba Local casino, established in 2012 by the VGW Classification, is a famous social and you can sweepstakes local casino offering over 250 video game. And one thing just work \ufffd incentives was ample, redemptions is actually easy, rules are clear, and solution is actually responsive.<\/p>\n

The site has the benefit of a powerful set of gambling enterprise-build game, to your most of the fresh library worried about position titles. The brand new game on their own gamble identically in settings-the actual only real change are which money you might be using. Becoming eligible for an effective Chumba Gambling establishment account, pages have to be old 18+ and you will situated in an appropriate county. Users can rationally build-up in order to $100 during the 100 % free enjoy well worth versus expenses far – or anything at all-whenever they take advantage of the complete bonus environment. After that, Chumba seem to even offers basic-purchase bonuses where people can obtain a gold Money plan in the a steep discount, commonly researching bonus Sweeps Coins alongside the GC bundle.<\/p>\n

\ufffdA highly type give out-away from 2 billion Sweeps Coins once you link up. Stores or availability must perform affiliate profiles getting advertisements or tune profiles round the websites to have revenue. The newest tech storage or supply that is used simply for anonymous mathematical intentions.<\/p>\n

The brand new joiners can take advantage of no pick desired offer TGTSOCIAL, that gives you 56 Play number Coins + 560,000 Coins + twenty-three.5% Rakeback promote that delivers your right back a percentage away from losings. Regarding play worth, that is with ease really worth hrs away from gameplay, and you may a great possible opportunity to make redeemable South carolina equilibrium. Regrettably one to $100 totally free gamble bonus during the Chumba Casino has stopped being readily available.<\/p>\n

For the moment, it is recommended that all of the cellular and pill pages play on the browser of preference. Such programs are a great solution when you’re just looking a few video game. Alternatively, discover instant access in order to a substantial range of desktop computer, mobile, otherwise tablet games. We’ve got unearthed that the headings at that casino focus on easily. We like that website is bright yet simple and easy to use. Each website continues to have to adhere to rigorous regulations and rules, getting kind of emphasis on age their profiles.<\/p>\n

For folks who use up all your GC otherwise South carolina, you need to use the original buy bonus in the Chumba to include a lot more gold coins for you personally. There’s something for everyone, and the fresh titles is added constantly. Simply click all of our link and go to Chumba Gambling enterprise to set up your the new user account. Chumba is recognized for giving the participants a good greeting package up on register.<\/p>\n

You first gain benefit from the zero buy added bonus before you can can proceed to the acquisition added bonus. After you have made use of the totally free play bonus you are getting just after registering, you might claim another desired bonus by buying Coins. The fresh cherry at the top is that you aren’t faced with suffocating fine print, that’s a primary benefit of sweepstakes more typical real money casinos.<\/p>\n

That is a great selection for pages whom choose to not ever link its bank accounts individually<\/h2>\n

Once you go to the Chumba Casino website, you’ll be able to place a relationship to help make your account. While the a player at Chumba Casino, you’re going to get 2,000,000 Coins as well as 2 Sweepstakes Sweeps Coins on verifying your membership. Once you join, you’re going to get a extra Bring one ushers you to the arena of online Social casino. Chumba Local casino is amongst the top public gambling enterprises providing a great gaming sense. The new zero-get incentive try automatically set in your bank account when you do and you can be certain that your account, thus you do not need to try out instead of a bonus. You will find more than 150 titles, plus slots such as Unbelievable Ape, Legacy of your own Tiger, and you will newer jackpots additional frequently.<\/p>\n","protected":false},"excerpt":{"rendered":"

By using this type of methods, you could potentially effortlessly use their chumba gambling establishment $100 free play for existing users and you may boost your full gaming feel. The brand new chumba gambling enterprise 100 totally free gamble provide allows users to explore a wide range of game without\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-26112","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/26112","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=26112"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/26112\/revisions"}],"predecessor-version":[{"id":26113,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/26112\/revisions\/26113"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=26112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=26112"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=26112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}