/* 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":68772,"date":"2026-05-22T16:17:57","date_gmt":"2026-05-22T16:17:57","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=68772"},"modified":"2026-05-22T16:17:58","modified_gmt":"2026-05-22T16:17:58","slug":"play-reel-em-during-the-free-during-the-demo-and-study-remark","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/play-reel-em-during-the-free-during-the-demo-and-study-remark\/","title":{"rendered":"Play Reel Em During the! Free during the Demo and study Remark"},"content":{"rendered":"

What is enjoyable on Reel Em During the Event Fishing are their balance out of risk and you can reward. Overall, Reel Play is actually a developer to view on iGaming world, offering something new and you will pleasing for players of the many profile. Having a great deal of knowledge of game invention, with prior to now composed video game for well-known iGaming workers, Reel Gamble is actually well-supplied to deliver exceptional titles. Reel Enjoy, previously also known as Opportunity Entertaining, is actually established in 2014 which have a look closely at development highest-quality slots that have significant winnings and you can entertaining game play.<\/p>\n

Reel Em Within the Contest Fishing is actually an online slots online game written of the Light & Ask yourself Royal Joker: Hold and Win \u03c0\u03b1\u03b9\u03c7\u03bd\u03af\u03b4\u03b9<\/a> that have a theoretical come back to user (RTP) away from 96.10%. Join otherwise Subscribe manage to visit your liked and recently played games. Here you will find the majority of sorts of harbors to choose the right one yourself.<\/p>\n

If around comes a period when you ought to alter the scenery some time and fancy playing another thing within on the internet gambling enterprises, you will want to realize about various other humorous online slots. So huge indeed one high-rollers will likely love to relax and play with the Reel \u2018em Within the Lobster Toilet casino slot games. Close to the individuals a lot more fulfilling signs will be the instead standard to try out credit icons that participants will already become well used to which have off their online slots. Indeed, you’ll find at the very least about three around the that it 5-reel, 20-payline online fresh fruit machine we understand punters only will like.<\/p>\n

Slots come into a variety and designs \u2014 understanding the keeps and you will mechanics assists players opt for the correct online game and enjoy the experience. Comprehend the informative articles to obtain a better comprehension of video game legislation, probability of earnings and also other regions of online gambling Separated your choice and build their bankroll, the new 100 percent free spin ability is lost within pokie, nevertheless cuatro incentive has with ease fit their game. Everything you need to play ‘s the control board on your own monitor. You\u2019d see going colour fishes under water to provide cash rewards when 3 or higher of your signs appear on the brand new reels. When the good Fishing Pole icon are shown where the Lateral REEL From Seafood has actually a blank status, zero honor is actually given.<\/p>\n

Previously, it did feel the tale one to online slots games are rigged. No, totally free slots commonly rigged, online slots for real currency aren\u2019t too. 100 percent free slots are perfect means for novices to understand how position game works also to talk about all into the-online game keeps. Since the an experienced ports enthusiast having spun lots and lots of reels across the business, I’ve handpicked the top ten really prominent ones guiding our 100 percent free harbors library. What is the difference in RTP within the no down load no subscription slot titles and you can ports the real deal currency? I daily revision the collection according to user feedback, guaranteeing a varied directory of common and you will asked headings.<\/p>\n

Even better, all these templates possess their particular designed 100 percent free spin bonus features. Each one of these templates keeps fascinating symbols and you can sounds features. Better yet, in case the members place higher wagers for the game, he’s got the chance to profit more selections you to definitely progressive. Many fun function of games ‘s the Stairway Stepper. Such headings are no expanded the newest fanciest ones doing, nevertheless they have an appeal you to definitely\u2019s unignorable. It aided innovate the kinds of incentive series that people now ignore now, ushering in the present time off ports play.<\/p>\n

Click the Play for Free switch so you’re able to weight the newest Reel Em Within the Event Fishing trial, take to the have and you may profits and determine when it is a online game you love. Part of the ability are triggered by getting about three or more Seafood Trophy spread icons, which has anywhere between 8 and you may twelve free spins. If you prefer so you can fish, after that which really helps make the perfect on-line casino game.<\/p>\n

When you get three or more of these symbols, towards the reels you\u2019ll unlock 15 spins. Reel Treasures will bring playing possibilities enabling you to choice regarding $0.01, so you can $0.50 providing in order to one another mindful players and people willing to need a tad bit more exposure. Reel Treasures also offers a payment from 120,100000 gold coins so it is an appealing selection for each other newbies and you can knowledgeable members. Whenever you are finding plunge deeper into their online game collection and you may experiment some headings which might be tend to skipped believe seeking to this type of away. Immortal Relationship DemoPlay a free of charge demo out-of Immortal Relationship trial The brand new main motif spins doing black gifts out-of immortal like also it premiered last year.<\/p>\n

The new crazy illustrated from the a funny red seafood substitutes simply for regular symbols and will pay away to $50,100000 for five out-of a kind, which is the highest jackpot honor about slot. Reel \u2018em During the was perfect for angling partners and you may participants exactly who enjoys function-packed middle- or large-variance slots. From the SlotsJack.com, i bring you an informed (and honest) critiques out-of gambling enterprise an internet-based ports. In our view, this will be one of several better slot machines from the WMS Playing. From the brand spanking new online game towards of many variations, you\u2019ll never ever wind up injuring for fun in addition to possibility to victory huge.<\/p>\n

It\u2019s a good choice for both the brand new and you will educated participants, and therefore opinion completely backs it given that best fishing-styled slot machine game. You could potentially replace the volatility options within the Reel Em Within the Position, and that allows users select the right exposure-to-prize ratio in their eyes. Certain games has more keeps particularly modern added bonus meters, second-monitor video game, or possibilities to win a great jackpot. Individuals who make this bonus can choose from other ponds otherwise seafood, whenever it just click any of them, it inform you undetectable benefits.<\/p>\n

The new icons, displayed against a background reveal many different brilliant gems, attractive badges and antique card icons. The best perks, inside the Reel Jewels come from landing wins in the a go, which attracts participants finding reasonable earnings. Yes, totally free slot machines also have extra has actually such as free spins and mini-online game. You play online harbors with a virtual equilibrium, and also the earnings are also maybe not actual. To possess professionals, everything you need to do try weight the overall game up if or not you\u2019re also on mobile web or enjoys downloaded a software, additionally the position is to scale towards the mobile display screen and become up and running.<\/p>\n

In the event the a Angling Pole icon seems to the reels dos, step 3, 4 or 5 it will hook the new symbol presented into Horizontal REEL Out of Seafood and you can award brand new related award. In the video game, you can turn on brand new Play feature to attempt to increase earnings or take a risk getting a go during the a bigger honor. These icons can also be significantly increase payouts. These types of signs form the basis to your head earnings. To take action, click on the coin symbol at the bottom of display. For each and every position, the score, appropriate RTP really worth, and you may updates certainly almost every other ports regarding class is actually displayed.<\/p>\n","protected":false},"excerpt":{"rendered":"

What is enjoyable on Reel Em During the Event Fishing are their balance out of risk and you can reward. Overall, Reel Play is actually a developer to view on iGaming world, offering something new and you will pleasing for players of the many profile. Having a great deal of\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-68772","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/68772","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=68772"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/68772\/revisions"}],"predecessor-version":[{"id":68773,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/68772\/revisions\/68773"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=68772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=68772"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=68772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}