/* 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":99518,"date":"2026-05-25T11:15:35","date_gmt":"2026-05-25T11:15:35","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=99518"},"modified":"2026-05-25T11:15:35","modified_gmt":"2026-05-25T11:15:35","slug":"the-fresh-new-feature-length-may-vary-based-on-how-of-many-scatters-was-in-fact-triggered","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/the-fresh-new-feature-length-may-vary-based-on-how-of-many-scatters-was-in-fact-triggered\/","title":{"rendered":"The fresh new feature length may vary based on how of many scatters was in fact triggered"},"content":{"rendered":"

S. members trying enjoyable gameplay, prompt crypto winnings, and huge acceptance incentives<\/h2>\n

The brand new paytable shows 10 fundamental along with 3 superior symbols from the Happy Duck on the web slot for real money games. Do you want to use the fortune regarding the cool-searching slot online game within the GAMEROOM?<\/p>\n

Getting twenty three+ scatters while in the you to definitely spin launches the bonus round<\/h2>\n

Beyond you to, Sweeps Regal possess an abundant number of Seafood Game such as Water Little princess, Ka Fish Hunter, and you may Octopus Legend. Your have a different type of Buffalo ports, as well as Buffalo Stack’n’s YNC, Buffalo Huntsman, Ragin’ Buffalo, Buffalo unstoppable, Mystic Buffalo \ufffd and many more. That’s one of the recommended subscribe also provides in terms from Sc, albeit the fresh new GC tally is a bit white full. Even if Jackpota mainly is targeted on ports, offering more than one,five-hundred headings, you’ll also get a hold of jackpots, progressive slots and you can live video game suggests. In other places, there are a well-stocked live local casino, particular very handy Jackpots, and many spare table online game you can play feeling a section closer to just what an on-line casino feels like. After you join, you will get the real Honor Casino no deposit extra, which extra can get you 2 Sweepstakes Gold coins abreast of registering, and along with discovered 100,000 Gold coins which you can use to play for fun.<\/p>\n

Prolific organization for example Relax Gambling and Hacksaw Playing usually launch the brand new games each week, for the ideal sweeps gambling enterprises quickly incorporating them to its library. Iron Lender drops your for the an effective heist-determined caper invest Cuba’s underworld. The newest game’s RTP is during the % during the top sweepstakes gambling enterprises, that’s higher than average, although significantly less high because the Currency Cart 2 otherwise various other fighting harbors.<\/p>\n

That it enticing options is done increasingly tempting towards novel DuckyLuck Desired Added bonus. will bring the greatest group of casino games – anywhere between video poker abreast of 12 reel and you will 5 reel ports. All of our expertise in all the levels of customer service, experience-building, not to mention, all of our swiftness to get you the earnings!<\/p>\n

All the provides, for instance the MergeUp auto mechanic, tumbling reels, and you may extra rounds, is actually accessible towards both ios and you may Android gizmos. Their being compatible around the gizmos and you may user-amicable program then augment accessibility and you will thrills. Giovannis Gems are a great eight-reel game by Betsoft with coal changing so you can diamonds and you may fulfilling large profits and you will base games winnings when complimentary four or maybe more clusters of icons. By using specific post blocking application, excite take a look at their setup. You can learn about slot machines and exactly how they work inside our online slots games book. If you are searching to register at a new casino in order to enjoy Lucky Ducker, listed below are some our very own gambling enterprise opinion area, where we have a selection of invited bonuses.<\/p>\n

It\ufffds ideal for one another newcomers whom see lighthearted themes and experienced people in search of ubet app<\/a> rewarding gameplay. The shape is playful but really excellent, having cartoonish artwork one pop facing a serene liquid-themed backdrop. Click the option below only when you intend to remain right here to read through additional information. Regarding choosing a bona fide money casino on the web, DuckyLuck Gambling enterprise shines which have large advantages, lightning-prompt profits, and private games. DuckyLuck Local casino is one of the finest-rated online casinos to possess U.<\/p>\n

Nolimit City is just one of the latest game company at the sweepstakes gambling enterprises, but it’s quickly become one of many greatest brands for slots that have real money honours. Keep in mind that sweeps casino offering online slots plus ability loads of Getaway-styled advertising through the festive periods, very keep the vision unlock especially all over social networking channels. Which have typically 1000+ slots during the sweeps gambling enterprises, discover multiple free position games available. Of course you can look at all of them 100% free playing with Silver Coins when enrolling just before having fun with Sweeps Gold coins and trying in order to profit real money prizes if you wish. When you are we now have already viewed some big hitters shed, there’s a lot far more decreasing the new range.<\/p>\n

The fresh new Free Revolves bullet spends an icon conversion process meter; obtaining scatters transforms low-using icons into the Puzzle Flannel, enhancing the regularity of your Golden Flannel triggers. Obtaining four or five scatters notably escalates the carrying out nuts multiplier to 10x otherwise 25x correspondingly. ELK’s trademark X-iter purchase diet plan is available, offering four online game methods anywhere between a simple added bonus look so you’re able to a good \ufffdVery Bonus\ufffd which have secured larger signs and you can limitation grid level. NoLimit City goes on their really well-recognized team that have a task-packed 6-reel options within this online position launch. It is a great Pet’s Lifestyle off Knucklehead Syndicate try a free online slot constructed on good 5?12 or 5?4 framework, while the video game features insane modifiers and you may extra-leading to scatters that will lead on the multiple-layered free twist series.<\/p>\n

Fortunate Duck slots can be found playing to the each other pc and you will mobiles, so it is smoother getting users to enjoy the overall game from anywhere. That’s all; the latest cellular type commonly stream following that, and you’ll feel just like you’re to relax and play in the-application the entire day. The reason is effortless – LuckyLand’s mobile version is great adequate, and all of you have to do is actually do an account and gamble for the portrait mode. There is certainly a pc variety of your website, but no matter all that, We appreciated to tackle towards cellular without needing to down load the fresh new software, and i explore an android device. The latest online slots games is ruled because of the pre-developed arbitrary matter machines.<\/p>\n

For the bonus bullet, the latest multiplier ladder does not reset anywhere between revolves, and you will an effective \ufffdComplete Internet\ufffd function can also be at random cause in order to brush all the fish multipliers already into the the fresh new reels to own just one huge payment Especially, one twist can result in the new Fantasy Drop Jackpot admission, providing members a go in the four progressive levels, for instance the Super Jackpot hence vegetables in the \ufffd2 mil. Seafood icons bring instant cash thinking and are accumulated at random during the the beds base games otherwise instantly during the 100 % free Spins round when it get to the base of grid. Settle down Gaming brings good 5?4 \ufffdWays\ufffd online position position having a watch high-frequency jackpot potential. As the twenty-three,000x maximum winnings was conventional compared to the peers this week, the fresh % RTP and you can average volatility succeed good much time-title slot readily available for extended lessons and you will grinding Sc\/GC.<\/p>\n

Today, having people getting completely at the mercy of the new whims of Woman Fortune, there’s absolutely no yes-flames gameplay function here that will guarantee wins. Well, regrettably, there is absolutely no Lucky Duck jackpot being offered, whether or not modern or else. Right here, participants are required to shoot a-row away from bobbing ducks so you can profit multiplier bonuses or the means to access the big Money wheel where substantial multiplier incentives was available. The brand new duck capturing spread out symbol triggers an even more fun Fortunate Duck incentive that can generate people nearly believe they are inside a county fair. The entire feel and look was Western, and therefore feeling was bolstered by type of signs viewed in this online slot, and sounds, that is brilliant and chirpy sufficient to moving to. All of it is set not as much as a definite air and also you can also be nearly smelling the sun glowing to your turf.<\/p>\n","protected":false},"excerpt":{"rendered":"

S. members trying enjoyable gameplay, prompt crypto winnings, and huge acceptance incentives The brand new paytable shows 10 fundamental along with 3 superior symbols from the Happy Duck on the web slot for real money games. Do you want to use the fortune regarding the cool-searching slot online game within\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-99518","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/99518","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=99518"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/99518\/revisions"}],"predecessor-version":[{"id":99519,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/99518\/revisions\/99519"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=99518"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=99518"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=99518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}