/* 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":27002,"date":"2026-05-15T12:48:26","date_gmt":"2026-05-15T12:48:26","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=27002"},"modified":"2026-05-15T12:48:27","modified_gmt":"2026-05-15T12:48:27","slug":"chumbas-collection-is-filled-with-completely-new-headings-and-you-can-prominent-classics-youll-be-able-to-recognize","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/chumbas-collection-is-filled-with-completely-new-headings-and-you-can-prominent-classics-youll-be-able-to-recognize\/","title":{"rendered":"Chumba’s collection is filled with completely new headings and you can prominent classics you’ll be able to recognize"},"content":{"rendered":"

By simply following these types of procedures, you can effectively utilize their chumba local casino $100 free play for current professionals and you can enhance your full betting feel. The fresh chumba local casino 100 totally free enjoy bring allows people to explore an array of game without having any tension of making an enthusiastic initial deposit. By firmly taking advantage of the new Chumba Gambling enterprise $100 totally free gamble, you could increase betting feel if you are minimizing economic chance.<\/p>\n

Begin by collecting your daily Log on Incentive every 24 hours so you’re able to build up the Silver Coin and you can Sweeps Coin balance. Twist having scores of Gold coins and you can thousands inside the Sweeps Gold coins with the help of our personal FireShot Jackpot\ufffd game. Whether you’re trying to solution go out while in the a lunch break otherwise delight in a lengthy evening playing example, the new platform’s nice free coin program ensures the enjoyment never finishes. The answer to stretched 100 % free gamble instruction was pacing your own game play and capitalizing on added bonus provides in this video game. These types of unique gold coins shall be redeemed for real honours, in addition to bucks and you will gift notes, after meeting simple 1x playthrough criteria.<\/p>\n

When purchasing the newest Silver Money packages-like the basic pick incentive providing 5,000,000 Gold coins + 40 Sweeps Coins to possess $10-you will observe awesome Chumba Gambling establishment no-deposit incentive sale and you will unique package offers that give to own non-avoid action.<\/p>\n

The Chumba Mr Pacho<\/a> Lite app was completely optimized both for ios and you can Android os, giving a silky, seamless playing feel no matter where you are. Act now when deciding to take benefit of which incredible worth-it will be the primary means to fix boost your bankroll from the comfort of the fresh initiate. If you want providing even more really worth, don’t miss our very own private earliest buy provide. Large redemptions (ten,000 Sc or even more) can occasionally take a little longer because of more defense inspections.<\/p>\n

Chumba Casino works since a good sweepstakes gambling establishment, offering local casino-style game<\/h2>\n

Chumba Gambling enterprise seem to goes out restricted-date Unique find offers that give even more value inside acquisition to practical Lucky Jungle Local casino Gold Currency packages. And this happens a considerable ways into the providing participants a great initiate while they discuss the fresh casino and its own very own items. Plus, for only $ten, users discovered cash plus 10 million Gold coins and you can thirty Sweeps Gold coins, much like a three hundred% escalation in really worth. For brand new users who decide to generate basic buy into the the working platform, Chumba Gambling establishment now offers all of them a personal very first-buy a lot more you to rather escalates the property value the get.<\/p>\n

The general assortment, combined with big invited incentives and you can typical articles position, helps it be just about the most really-rounded game libraries on the societal gambling establishment globe. Plus antique gambling enterprise choices, there are scratch notes, Slingo, immediate earn game, bingo, Slingo online game, and you may arcade games. For just what it\ufffds worthy of, I have observed Chumba specifically growing its black-jack products.<\/p>\n

The latest app will bring a selection of slot online game which have timely loading moments and you may exclusive has the benefit of. \ufffdMultiple Double Wonderful Eagles\ufffd is another greatest possibilities, providing a vintage three-reel sense similar to conventional Las vegas slots. But not, certain profiles possess claimed problems with support service and you may payouts. Chumba Local casino, established in 2012 from the VGW Category, is actually a famous public and you may sweepstakes casino offering over 250 games. And you will some thing just works \ufffd incentives is actually generous, redemptions was simple, laws and regulations are clear, and you may solution is basically receptive.<\/p>\n

Your website also offers a substantial band of casino-style games, into the almost all the latest library worried about position headings. The new games on their own gamble identically both in settings-the actual only real difference was which money you will be using. As qualified to receive a great Chumba Local casino membership, profiles must be old 18+ and you will located in a legal state. Members can be realistically build up so you can $100 inside the free gamble really worth as opposed to using far – otherwise anything at all-if they take advantage of the full bonus ecosystem. Following that, Chumba appear to now offers earliest-pick incentives where players can obtain a gold Money plan in the a steep disregard, will researching incentive Sweeps Gold coins alongside the GC plan.<\/p>\n

\ufffdAn incredibly form render aside-from 2 mil Sweeps Gold coins after you join up. Storage or access is needed to carry out user profiles to have advertising or song users around the other sites getting business. The brand new technology shop or availableness that is used only for unknown mathematical purposes.<\/p>\n

The latest joiners can also enjoy zero get allowed promote TGTSOCIAL, which gives your 56 Play count Coins + 560,000 Coins + 12.5% Rakeback provide that gives your back a portion off losings. Regarding enjoy value, that’s without difficulty worth time off game play, and you may a great possible opportunity to build redeemable Sc balance. Regrettably you to definitely $100 100 % free enjoy bonus in the Chumba Gambling enterprise is no longer readily available.<\/p>\n

For the moment, we recommend that all of the cellular and you will pill users use their internet browser of choice. Such apps are a great solution while you are merely looking a small number of games. Instead, you’ll find access immediately so you’re able to a very good list of desktop computer, cellular, otherwise pill game. We now have unearthed that all titles at that local casino work with effortlessly. We love that the homepage is bright yet , easy and to make use of. For each and every site still has to check out strict foibles, putting sort of focus on age its profiles.<\/p>\n

If you use up all your GC or South carolina, you need the initial pick bonus during the Chumba to provide more coins for you personally. There will be something for everyone, and the new titles are added consistently. Mouse click our hook and you may visit Chumba Casino to set up the the latest pro account. Chumba is recognized for providing its professionals an excellent desired bargain on signup.<\/p>\n

You initially benefit from the zero get incentive one which just is move on to the purchase incentive. After you’ve utilized the free play added bonus you’ll get once enrolling, you might claim the following greeting added bonus by purchasing Coins. The brand new cherry at the top is that you are not faced with suffocating fine print, that’s a primary advantage of sweepstakes more than regular real cash casinos.<\/p>\n

That is an excellent selection for profiles whom choose never to hook its bank accounts myself<\/h2>\n

Once you visit the Chumba Gambling establishment web site, you can spot a relationship to build your membership. As the a player in the Chumba Gambling enterprise, you’ll get 2,000,000 Gold coins and two Sweepstakes Sweeps Coins through to verifying their membership. Once you join, you’re going to get an excellent added bonus Promote you to definitely ushers you to the arena of on line Societal casino. Chumba Casino is one of the ideal personal casinos providing an excellent great gaming feel. The brand new no-buy extra was instantly set in your account after you create and you can make sure your bank account, so you certainly do not need to try out in place of a bonus. You will find over 150 titles, as well as harbors for example Unbelievable Ape, Legacy of one’s Tiger, and you may brand new jackpots additional frequently.<\/p>\n","protected":false},"excerpt":{"rendered":"

By simply following these types of procedures, you can effectively utilize their chumba local casino $100 free play for current professionals and you can enhance your full betting feel. The fresh chumba local casino 100 totally free enjoy bring allows people to explore an array of game without having any\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-27002","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/27002","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=27002"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/27002\/revisions"}],"predecessor-version":[{"id":27003,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/27002\/revisions\/27003"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=27002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=27002"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=27002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}