/* 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":213759,"date":"2026-06-22T21:51:37","date_gmt":"2026-06-22T21:51:37","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=213759"},"modified":"2026-06-22T21:51:37","modified_gmt":"2026-06-22T21:51:37","slug":"play-21410-free-casino-games-no-download-no-sign-up-10","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/play-21410-free-casino-games-no-download-no-sign-up-10\/","title":{"rendered":"Play 21,410+ Free Casino games No Download, No Sign up"},"content":{"rendered":"

That 5 Lions Megaways<\/a> have an eternal array of templates and you can models to choose from, you\u2019re also destined to find something you love. Online casinos now give grand choices of free ports, anywhere between vintage-design headings featuring simple and speedy gameplay so you can Megaways game boasting over 100,one hundred thousand a way to win. If you want to return to the big you could click here, if you want to return to the big list next delight click here. If you have registered so you can Gamstop and are still struggling that have ending up to play to the casinos not on Gamstop.<\/p>\n

Just do an account and you can make sure your information to receive the new sign-up bonus. Not all the new Uk casino sites is regulated, that is why it\u2019s important to just prefer those people registered by the Uk Gambling Commission. Of many prioritise prompt withdrawals, that have e-wallets generally offering the fastest winnings than the old-fashioned banking steps. Very the new casino sites support a wide range of commission steps, as well as debit cards, PayPal, Skrill, Neteller, Apple Pay, Google Pay and you can bank transmits.<\/p>\n

Here are the chief something players always ask about protection, winnings, mobile play, casino bonuses and you can in control gambling devices. Second, it\u2019s had a powerful roster out of game of any kind, specifically live broker options, and some unbelievable jackpots and flexible commission steps. Be sure to listen up to what Nigel needs to say on the online casino protection \u2013 it might just save you several pounds. I don\u2019t, so that when a problem goes, you\u2019ll get it fixed within just a few minutes. I focus on the stuff that in fact matters so you can Uk players \u2013 protection, bonus fairness, winnings, game, mobile play with and you can support.<\/p>\n

There should be a game to you one of you to list out of casino games. You could deposit and you can withdraw using the majority of commission steps -other than Paysafecard. Some of them is popular game which might be used at the a good amount of casino sites in the uk, although some is private so you can HighBet. In addition to the game you can use to the welcome give, there is still so much to choose from, they are Gold Blitz Share, High Rhino Megaways, Gold Bucks Free Spins, cuatro Containers Wealth and you can Pirots cuatro. LosVegas ran live to have Uk players in the October 2025, and the style is easy. Commission Steps Available – LosVegas has a range of commission steps that allow you to deposit and you can withdraw your finance.<\/p>\n

Such casino sites feature a diverse group of slot game that have novel templates, high-quality image and you can immersive gameplay, all the out of best app company. Giving approximately dos,one hundred thousand ports, Bar Casino also offers a diverse mix of slot game, that have a powerful work on jackpot headings. Mega Wealth has an impressive line of 5,500+ slot game, giving the ultimate mix of vintage favourites, exciting the new launches and you can a variety of jackpot ports.<\/p>\n

I have a safer gambling page, where you can know about safe gambling, find any possible warning signs to look out for and you can know internet deposit restrictions. That means your bank details and you can financial advice are always safe with us. Be sure to keep checking straight back to the our promotions page so you can find our lingering also offers and you can promotions, to make sure you don\u2019t lose out.<\/p>\n

BetVictor Casino provides the full range online casino feel as well as live broker options and you can step 3,000+ slot game. BetAhoy is a good Uk online sportsbook giving live gambling, sports areas, short membership settings, and easy gambling has around the major incidents. No wagering criteria. A casino available for players and you can casino admirers. The new casino sites are regularly analyzed by the OLBG\u2019s group out of casino pros.<\/p>\n

So, it doesn’t matter after you play a slot game, the potential winnings is the same. But not, because it is the average taken over several years, performance might not necessarily reflect that it because of the random nature out of slot game. Click the Sign up button and you can follow the steps to the-screen to make an account and you can gain access to our epic library out of online slots and you can casino games. Not only is i always updating our collection to bring players the hottest the new launches, however, i as well as ensure that we offer a selection to make sure there\u2019s something for each type of player.<\/p>\n

Always search through a plus\u2019 fine print, as there can be wagering criteria or other issues that have to be met before you can allege one winnings. After you\u2019ve registered and you can logged into your membership, you\u2019ll want to make a minimum commission of at least \u00a3ten into your membership. Before you choose and that game to play, it\u2019s best to familiarise your self to the type of online casino game we offer at the Mecca Game. After you\u2019ve registered, you\u2019ll want to make your first deposit in order to play for real money. As opposed to landing successful combinations to the reels, you\u2019ll mark symbols out of your Slingo card so you can allege wins and you can climb the new Slingo ladder so you can win awards. Whether or not we want to play the best Uk slot game to the the market now or settle in the to the classics, you\u2019ll find hundreds of game able and you can waiting.<\/p>\n

Find full fine print here. Free Spins wins offered in the Game Bonus over five days & valid to have three days. There are wagering criteria to have players to turn such Bonus Finance to the Bucks Finance. No wagering criteria to the free spin winnings. The new players just, \u00a3ten min finance, 65x bonus wagering criteria, max bonus conversion so you can real finance equivalent to life dumps (up to \u00a3250). 40x wagering criteria.<\/p>\n

There is a list of the big ten Uk online casinos that offers a whole analysys of the best-rated operators. Thanks to my comprehensive feel reviewing casino sites and having used my solutions to check and you can compare other operators, my group and i has objectively analyzed of many popular platforms. For each basis is important for your protection as the an online gambler, so they are not set up in the a certain purchase. While the top 10 casinos online provide the best gambling feel, you have to know what to find should you choose to play at any site.<\/p>\n

Neteller is used in the over 150 nations and the amount of online casinos that have joined the company continues to grow more. There is more information about the type of game in our review of casino sites you to take on Trustly. You can use Trustly so you can deposit at the casino sites and you can play a range of game. I have researched all the best casinos you to take on Apple Pay as the a payment approach, and we have created a thorough section to the Apple Pay casino sites in the uk.<\/p>\n

An informed online casinos give a good mix of casino commission steps. It work on soft checks at the sign-up, so you can initiate to play instantly. Certain casinos want to scream on the being \u201cno docs\u201d \u2013 but in the uk, you to doesn\u2019t mean you\u2019ll never have to tell you ID. Are they offering the best online slots for real currency? Our team out of pros go through such how to make yes they only highly recommend an informed online casino sites in the uk. Only the best casinos you to meet our criteria and are very liked by our players make it on to our list of best online casinos.<\/p>\n","protected":false},"excerpt":{"rendered":"

That 5 Lions Megaways have an eternal array of templates and you can models to choose from, you\u2019re also destined to find something you love. Online casinos now give grand choices of free ports, anywhere between vintage-design headings featuring simple and speedy gameplay so you can Megaways game boasting over\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-213759","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/213759","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=213759"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/213759\/revisions"}],"predecessor-version":[{"id":213760,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/213759\/revisions\/213760"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=213759"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=213759"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=213759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}