/* 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":68700,"date":"2026-05-22T16:14:00","date_gmt":"2026-05-22T16:14:00","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=68700"},"modified":"2026-05-22T16:14:01","modified_gmt":"2026-05-22T16:14:01","slug":"enjoy-reel-em-for-the-free-within-the-trial-and-read-remark","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/enjoy-reel-em-for-the-free-within-the-trial-and-read-remark\/","title":{"rendered":"Enjoy Reel Em For the! Free within the Trial and read Remark"},"content":{"rendered":"

What is actually exciting regarding the Reel Em Inside the Competition Angling try its balance regarding exposure and you may prize. Total, Reel Enjoy are a creator to watch on the iGaming business, giving something new and you can fascinating having users of the many profile. That have a wealth of knowledge of games creativity, having before composed video game for preferred iGaming operators, Reel Enjoy try well-supplied to transmit exceptional headings. Reel Enjoy, earlier called Chance Entertaining, are established in 2014 having a watch developing highest-high quality slots having tall earnings and you can entertaining gameplay.<\/p>\n

Reel Em In Contest Angling was an internet ports video game composed because of the White & Inquire having a theoretical return to athlete (RTP) from 96.10%. Log in or Subscribe to have the ability to see your appreciated and you may has just played games. Here there are almost all sorts of harbors to choose the correct one yourself.<\/p>\n

In the event that indeed there appear a time when you will want to replace the vistas a little while and you will adore to experience another thing at the online casinos, you ought to find out about different entertaining online slots games. Therefore huge in fact that highest-rollers are going to like playing towards Reel \u2018em Inside Lobster Toilet casino slot games. Next to the individuals alot more fulfilling icons would be the as an alternative simple to relax and play credit signs you to definitely players tend to already be well familiar with having off their free online slots. Indeed, you can find no less than about three across the that it 5-reel, 20-payline on the web fresh fruit servers that people see punters will simply love.<\/p>\n

Slot machines have been in various types and styles \u2014 knowing its provides and aspects helps members find the proper video game and relish the experience. See our very own Aviatrix \u0995\u09cb\u09a5\u09be\u09af\u09bc \u0996\u09c7\u09b2\u09ac\u09c7\u09a8<\/a> instructional posts to get a much better comprehension of online game rules, odds of earnings as well as other aspects of online gambling Split up your wager and create your money, the totally free spin ability is destroyed inside pokie, but the cuatro bonus features effortlessly fit your games. Everything you need to gamble is the control board on your own display screen. You\u2019d see animated color fishes underwater giving bucks benefits whenever step 3 or more of your icons show up on the fresh new reels. When the good Angling Pole symbol are exhibited where in actuality the Horizontal REEL Of Fish have an empty reputation, zero prize is actually awarded.<\/p>\n

Previously, it did have the story one to online slots games try rigged. No, free ports aren’t rigged, online slots games the real deal currency aren\u2019t as well. 100 percent free harbors are fantastic suggests for newbies understand exactly how position online game performs also to mention all in-online game have. As a veteran harbors lover that spun a large number of reels all over organization, You will find handpicked the top 10 very known of them powering our very own totally free slots collection. What is the difference between RTP for the zero download no registration position titles and slots the real deal money? I frequently revision the collection considering representative opinions, making sure a diverse selection of common and you will requested titles.<\/p>\n

Better yet, all of these templates have their unique tailored totally free spin added bonus keeps. A few of these templates enjoys fascinating icons and you may musical features. Better yet, when your people put large bets during the games, he’s the ability to cash in much more picks you to progressive. Probably the most fascinating function associated with online game is the Stair Stepper. This type of headings are no offered the brand new fanciest of them around, but they continue to have a charm one\u2019s undeniable. They aided innovate the kinds of added bonus series we today take for granted today, ushering in the present point in time of ports enjoy.<\/p>\n

Click on the Wager 100 percent free key to help you load the Reel Em Inside Event Angling trial, shot their provides and you will payouts and determine when it is a game you love. Area of the function is triggered by obtaining three or even more Fish Trophy spread out symbols, and therefore has ranging from 8 and you can twelve 100 percent free spins. If you like so you’re able to fish, next which very helps make the primary internet casino video game.<\/p>\n

When you are getting about three or more of these icons, with the reels you\u2019ll unlock 15 revolves. Reel Jewels will bring playing solutions letting you wager from $0.01, to $0.fifty providing so you can one another careful participants and people prepared to get more chance. Reel Treasures also provides a payment of 120,100000 gold coins therefore it is a fascinating choice for one another novices and you can knowledgeable people. While you are trying to find diving deeper within their video game range and you will check out specific titles that are will overlooked imagine seeking these types of away. Immortal Love DemoPlay a totally free trial out of Immortal Relationship demo The fresh central motif revolves to black secrets off immortal love therefore was launched in 2011.<\/p>\n

The brand new wild depicted by a funny reddish fish substitutes just for normal signs and you can pays aside as much as $50,one hundred thousand for 5 from a kind, the large jackpot honor throughout the slot. Reel \u2018em Inside the is ideal for angling couples and you can participants just who loves ability-packed mid- otherwise highest-difference ports. At the SlotsJack.com, i provide you with the best (and you can honest) evaluations out of gambling establishment and online ports. Within thoughts, this can be among ideal slots by the WMS Gambling. About unique games for the many distinctions, you\u2019ll never end up hurting for fun together with chance to winnings big.<\/p>\n

It\u2019s helpful for both this new and you will knowledgeable professionals, hence review completely backs it given that most useful angling-inspired video slot. You could replace the volatility options inside the Reel Em Inside the Slot, hence lets participants choose the right risk-to-prize ratio for them. Particular game have more has like modern extra meters, second-screen game, otherwise chances to winnings an effective jackpot. People who get this bonus can choose from some other lakes or fish, incase it just click any of them, they inform you undetectable perks.<\/p>\n

This new signs, showed up against a background showcase many different vibrant treasures, ornamental badges and you may old-fashioned card symbols. The greatest rewards, during the Reel Gems are from getting victories inside a spin, which draws professionals wanting good-sized winnings. Yes, 100 percent free slot machines also provide incentive has actually particularly 100 percent free revolves and you will mini-games. You gamble online harbors that have a virtual balance, additionally the winnings also are perhaps not real. Getting professionals, all you need to manage is actually stream the online game upwards if you\u2019re also into the cellular online otherwise enjoys downloaded an app, together with position will be level toward mobile display screen and become working.<\/p>\n

In the event the a Fishing Rod symbol appears into reels dos, 3, four or five it does hook new symbol showed toward Lateral REEL From Seafood and you can award the fresh new relevant prize. In the game, you can turn on the newest Enjoy function to try and increase payouts and take a danger for a spin from the a much bigger award. This type of icons can also be notably improve your earnings. These types of icons setting the cornerstone for the head winnings. To achieve this, click the money icon at the bottom of your monitor. For each slot, the get, exact RTP value, and you may reputation one of almost every other ports throughout the category try displayed.<\/p>\n","protected":false},"excerpt":{"rendered":"

What is actually exciting regarding the Reel Em Inside the Competition Angling try its balance regarding exposure and you may prize. Total, Reel Enjoy are a creator to watch on the iGaming business, giving something new and you can fascinating having users of the many profile. That have a wealth\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-68700","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/68700","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=68700"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/68700\/revisions"}],"predecessor-version":[{"id":68701,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/68700\/revisions\/68701"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=68700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=68700"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=68700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}