/* 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":133475,"date":"2026-05-25T20:41:39","date_gmt":"2026-05-25T20:41:39","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=133475"},"modified":"2026-05-25T20:41:41","modified_gmt":"2026-05-25T20:41:41","slug":"lil-red-demo-slot-by-the-rtg-free-play","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/lil-red-demo-slot-by-the-rtg-free-play\/","title":{"rendered":"Lil Red Demo Slot by the RTG Free Play"},"content":{"rendered":"

Yes, winstoria casino<\/a> you could win real money for those who play at the a licensed online casino that offers real money gambling. But not, it does reach up to 5,one hundred thousand moments your bet, specifically in the bonus cycles and you can free spins. The maximum win will be generous, with some players walking away that have winnings worth thousands of moments its bet. The game comes with a competitive RTP rate of about 95.5%, that’s basic for most online slots. While playing for real currency could offer an exciting feel, the new demo mode is even available, allowing you to try out the game risk-free. The new coin denominations range from short bets to have casual players so you can big bets to have high rollers.<\/p>\n

It\u2019s maybe worth listing you to Nothing Red Riding hood herself is the main protagonist, and you can she has a similar winnings to the normal pay table. For one reason or another, i don\u2019t see that of many online slots based on vintage fairy stories. Is Real-time Gambling\u2019s latest game, enjoy risk-free gameplay, talk about has, and you can know game steps while playing responsibly.<\/p>\n

The game has a range of red riding hood-motivated slot symbols as well as toadstools, plants, forest pets, wolves, the new woodsman, the new cottage, the new grandma and you can, of course, Skip Red. Such bonus cycles not only add diversity to the gameplay however, as well as drastically improve your opportunities to have hitting sizable winnings, and make for each spin potentially fulfilling. Are you looking to explore Lil Red Wealth in the an online casino rather than impacting your purse? Use the list of Lil Red casinos to see all the online casinos that have Lil Red. As the Lil Red spends 243 a way to win, shorter bets still make it frequent line exposure; is a calculated approach that have occasional bet shocks so you can chase big winnings in this bonus cycles.<\/p>\n

Play Lil Red for free or win real money awards at the best online casinos. Casino.guru is a separate source of details about online casinos and you can casino games, not controlled by one gambling operator. Red Tiger have also forged of many solid partnerships that have gambling and you can iGaming other sites with their reputation, as well as thousands of online casinos that have Red Tiger game, and their visibility looks set to grow less than NetEnt’s ownership. Are you looking to explore Lil Red in the an online casino rather than impacting your purse? Scroll down to find our Lil Red comment and you can best-rated Williams Interactive online casinos, picked to have protection, quality, and you can generous welcome bonuses.<\/p>\n

At the Mecca Bingo, you\u2019ll find a wide range of online slots, ports game that have jackpots and even more to make sure there\u2019s something for everyone. Of many online casinos give a good li’l red demo version, allowing you to have the game’s has thanks to li’l red free play. Grandma also has lost her not true pearly whites on the trees and you can looking for him or her is worth up to 60 gold coins, while the looking for pies she\u2019ll enjoy dining with her pearly whites in the are worth up to 80 gold coins. You can also make an effort to save Grandma using your favourite latest and best mobile gadget, while the there\u2019s stakes to match all the preferences that have bets doing at just 0.5 gold coins a go.<\/p>\n

That it 243-ways-to-win thrill also offers players the opportunity to pursue Nothing Red Riding Bonnet from the trees\u2014however, watch out for the new Sheriff Wolf who would be waiting around the corner! I’m always thrilled to explore creative ways and you can technology you to give the new levels of gambling to the player. A keen exploding crazy icon in the feet game counts to the the new successful consolidation and will be used to replace any other icon to the grid other than scatters. Lil Red accepts bets in the increments out of 0.30 credits up to 30 credits for each spin. The technology, varying size of reels, and you can one hundred pay lines are what make this slot machine server thrilling. As opposed to most other game in the casinos, there\u2019s a second Colossal reel you to adds, much more, thrill.<\/p>\n

Better yet, there\u2019s a good Spread icon (the big Crappy Wolf), and that causes the new free spins bonus. To play Lil Red casino game is simple, and if you are used to normal online slots, there are the new control easy to navigate. In this Lil Red slot comment, we\u2019ll talk about the new gameplay mechanics, the advantage has, and you can everything you need to know before you can play that it videos game. To get started to the right feet, discuss our safe online casino advice. Yes, as long as you sign in at the a trusting casino, the new Lil Red slots is a safe game to play.<\/p>\n

Take a walk from the trees and you can gather some great awards in the process on the Lil Red slot game at the Everygame Casino! The potential for up to 88 free spins and two unique bonus cycles gives players clear reasons to spin, when you are coin options and you can 243 a way to win make it easy so you can customize for each lesson. That have free spins that can reach up to 88 cycles and you can bonus cycles you to layer more payout opportunities, this one\u2019s built for players who need entertaining gameplay and you can solid win potential.<\/p>\n

All the bonus cycles need to be caused of course during the normal gameplay. Is our free version more than to explore the features. Is Williams Interactive\u2019s latest game, enjoy risk-free gameplay, talk about has, and you can know game steps while playing responsibly. Your successful winnings have decided by the deposit that you bet to the normal game spin you to activated the new free spins so it\u2019s a good idea to consider the likelihood of enabling free spins game after you make your normal game bets.<\/p>\n

Spooky Wins Slot also offers an exciting Halloween night-themed gambling feel. Your morale will most likely soar thanks to everything from the new simple gameplay to the aesthetics and you can perks. He spends his Public relations experience to ask part of the details that have a help team out of online casino operators. You could win up to dos,one hundred thousand gold coins to have outwitting the new wolf, and up so you can dos,five hundred to have saving Li\u2019l Red if the she is to fall into the new purses of your wolf (he will be so lucky)! There\u2019s up to 750 gold coins for getting plants and you can baskets out of treats, while the finding the Woodcutter just over time is worth up to step 1,one hundred thousand gold coins, as is saving Grandma.<\/p>\n

Its romantic graphics, fulfilling bells and whistles, and flexible gambling options make it a must-go for someone looking to liven up its gambling lessons. As the bonus cycles is where the big winnings tend to cover up, think gambling at a rate you to allows you to spin long enough to hit those people has. The true magic out of Lil Red Ports is based on its bonus cycles, that are nothing short of spectacular. Designed by Live Gambling, that it slot game pulls you to the a world of high stakes and higher perks, where all the spin could lead to a huge payout. Most other popular magic and you can fairy tale-themed online slots available to play online now are Dragon’s Kingdom, Book out of Luck, Royal Unicorn, Royal Frog, Want to Up on a good Jackpot, Jack and the Beanstalk, Rapunzel’s Tower, Giant’s Gold, Piggies and the Wolf, Pixies of your Tree and you can Humpty Dumpty.<\/p>\n","protected":false},"excerpt":{"rendered":"

Yes, winstoria casino you could win real money for those who play at the a licensed online casino that offers real money gambling. But not, it does reach up to 5,one hundred thousand moments your bet, specifically in the bonus cycles and you can free spins. The maximum win will\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-133475","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/133475","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=133475"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/133475\/revisions"}],"predecessor-version":[{"id":133476,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/133475\/revisions\/133476"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=133475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=133475"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=133475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}