/* 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":90934,"date":"2026-05-23T20:00:45","date_gmt":"2026-05-23T20:00:45","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=90934"},"modified":"2026-05-23T20:00:47","modified_gmt":"2026-05-23T20:00:47","slug":"rainbow-wide-range-position-demo-rtp-95-00-%e1%90%88-100-percent-free-gamble","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/rainbow-wide-range-position-demo-rtp-95-00-%e1%90%88-100-percent-free-gamble\/","title":{"rendered":"Rainbow Wide range Position Demo RTP 95 00% \u1408 100 percent free Gamble"},"content":{"rendered":"

That have five reels and three rows, the game is easy to adhere to, but that doesn\u2019t mean it\u2019s perhaps not full of enjoyable have! Gold, gold and you will tan containers will likely then travel in the monitor. Place in this new delicious qbet<\/a> Emerald Island having moving environmentally friendly industries and you may colorful jewels open to see, Rainbow Riches are a keen irish-styled video slot with lilting sounds and you will bright graphics. Nothing a little enhances the thrill regarding a sunday\u2019s activities than just getting your bank account in which… 20+ Provably Fair video game as well as Chicken, Squid Games, Aero, Icefild, Dice & HiLo Homes with the an effective spread out symbol as well as one\u2019s called for away from you will be to choose one of one’s spread signs and you can a bonus could be found.<\/p>\n

A free of charge-enjoy sort of the newest Rainbow Has reached slot lets trick element mining, including incentive cycles, layouts, and you will aspects. 100 percent free rounds for the Rainbow Wealth slot machine game render possibilities to win multipliers, while the way to riches bonus awards 200x share. Rainbow Wide range trial slot possess an enthusiastic Irish theme with interesting game play and you will extreme payment potential. Rainbow Riches is considered the most well-known position ever before in the uk that’s on a few of the greatest bingo web sites and you will online casinos that people recommend What was shortly after a forward thinking build today seems a little outdated, even when the gameplay is still enjoyable and the winnings potential is still there.<\/p>\n

See the guidelines for each slot for more outline. Demos will be the best chance to learn the video game icons and you can start to recognise extra have. When you play any one of our very own trial slots, you’ll enjoy a similar amusing feel that you will for those who have been to try out the real deal. Featuring an innovative haphazard reel modifier, such ports is actually packed with exciting has actually and possibly lots and lots of an effective way to victory. Select the brand new ports per month, even as we add more pleasing video game for the players, with creative game play and you can new features. Scroll thanks to our incredible on the internet slot games, where you could play for various bonus has.<\/p>\n

Which harbors servers provides traditional symbols and additionally A, J, Q, K, and you can 10. That it Irish inspired slot is actually enjoyable playing, and it is a single-stop amusement, due to the amazing keeps and funny gameplay available with brand new company. With easy customisation and easy control device, it\u2019s an ideal choice to enjoy top quality entertainment.<\/p>\n

The titular phoenix appears as an effective emblem out of transformation, fitting the newest streaming technicians better. The fresh position can be starred out-of only 25p and you will there\u2019s a great amount of bonuses and f eatures and Flowing Reels, Loaded Wilds and you may a totally free-spins extra. The fresh slot will likely be starred out of only 25p and you will there\u2019s a lot of bonuses and you may f…eatures along with Flowing Reels, Loaded Wilds and you can a no cost-revolves incentive.<\/p>\n

Indeed, 5 of Rainbow Money video game enjoys a maximum earn out-of ten,one hundred thousand x or higher. Along with a four hundred x max earn and you can a great 95% RTP speed it doesn’t cut the mustard in the present on the web ports globe. Yes, it can lookup dated, but one to\u2019s almost part of its classic attraction, also it talks volumes which\u2019s nonetheless well-known today. With regards to the game play, it is very first nevertheless the enjoyable basis and you will cult condition produces they vital-gamble position. You will place bronze, silver, and you may gold bins rotating to into the display. For individuals who property step 3 or more Containers off Silver signs, which incentive ability would-be triggered.<\/p>\n

And assist\u2019s end up being genuine, you\u2019re also maybe not playing a slot online game on picture anyway. Once the graphics aren\u2019t probably strike the socks off, they\u2019re also neat and aesthetically pleasing. This new rainbow theme is really charming, it\u2019ll make us feel as you\u2019lso are to tackle inside a mystical property from leprechauns and you can containers out-of silver. Which have 20 paylines to choose from, you reach result in the laws, making it also crazier than a great leprechaun\u2019s antics.<\/p>\n

Demoslot integrates lots and lots of free trial ports under one roof, it is therefore easy to look for new online game, replay favourites and you may explore most useful team as opposed to extra cash. Discover the current free trial harbors recently placed into Demoslot, including new releases away from top company and you will next launches currently available when you look at the demo form. Rainbow Wide range will continue to be noticeable while the an informal, entertaining, and you will scholar-centered slot, so it’s a long-term favourite for the British online casinos. Eg, headings for example Book away from Dead position also provide simple auto mechanics and interesting templates right for novices. Rainbow Wide range uses icons which can be familiar and you will visually obvious, together with pots from gold, rainbows, leprechauns, and you can horseshoes.<\/p>\n

The fresh image was neat and very easy to enjoy particularly when playing on your own device. The fresh Megaways model has added bonus possess such as streaming reels and you can an excellent Extremely Treasure Incentive. Allow the fantastic minutes spark the thrill having playing. Which bright Irish inspired thrill gives the chance to win up to help you five hundred minutes your own bet and then make those bins regarding silver.<\/p>\n

Within the video game such as Rainbow Riches Reels regarding Gold, you reach twist a massive number of reels full of piled icons. A few of the reasonable and typical-spending symbols arrive piled, and many symbols tend to expand to complete multiple rows. You can learn all about the fresh symbols regarding legs game and you can end in incentive features without having to wager anything.<\/p>\n

Particularly, we love the trail so you’re able to Money, which gives a Multiplier Trail that can give larger victories. There aren’t any 100 percent free Revolves, but the around three added bonus enjoys will make extremely position fans pleased. Having spent some time working in the gambling on line globe because the 2004, Chris enjoys ports and has now assessed more ten,100 on the internet position game.<\/p>\n

Thus giving your access to the newest totally free spin incentive cycles versus being forced to anticipate these to be caused. You will want to try it during the our best recommended online casinos today? Such as the predecessors, Rainbow Riches have an Irish theme with a lot of green going slopes, bins off silver and of course an enormous rainbow to understand more about. Qualifications statutes, online game, venue, money, payment-strategy constraints and fine print pertain. Your decision are closed when you look at the at point one a profitable basic deposit is generated, and should not end up being replaced or altered after that timing.<\/p>\n

Pressing this option reveals new autoplay setting display where all of the variables shall be set just before activation. It means one spin can make multiple parallel wins across some other paylines. Whenever numerous effective combinations of the same symbol appear on good unmarried payline, precisely the higher really worth profit is reduced.<\/p>\n","protected":false},"excerpt":{"rendered":"

That have five reels and three rows, the game is easy to adhere to, but that doesn\u2019t mean it\u2019s perhaps not full of enjoyable have! Gold, gold and you will tan containers will likely then travel in the monitor. Place in this new delicious qbet Emerald Island having moving environmentally\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-90934","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/90934","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=90934"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/90934\/revisions"}],"predecessor-version":[{"id":90935,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/90934\/revisions\/90935"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=90934"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=90934"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=90934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}