/* 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":95556,"date":"2026-05-24T01:27:23","date_gmt":"2026-05-24T01:27:23","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=95556"},"modified":"2026-05-24T01:27:25","modified_gmt":"2026-05-24T01:27:25","slug":"environmentally-friendly-machine-luxury","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/environmentally-friendly-machine-luxury\/","title":{"rendered":"Environmentally friendly Machine Luxury"},"content":{"rendered":"

When you find yourself fed up with apparently attractive templates with less to help you zero reasonable payment, this is exactly a position you to pulls you a buck icon generated off solid gold. However, you claimed\u2019t get any economic compensation in these bonus cycles; instead, you\u2019ll become compensated circumstances, additional revolves, or something similar. You could potentially lead to a similar bonus series you’d find out if you were to experience the real deal money, sure. As you aren\u2019t risking anything, it\u2019s perhaps not a variety of playing \u2014 it\u2019s purely enjoyment. Ignition Casino keeps a weekly reload extra fifty% around $1,one hundred thousand you to definitely players normally receive; it\u2019s in initial deposit fits one\u2019s according to play regularity.<\/p>\n

It\u2019s let me make it clear one of the better 100 percent free ports playing having enjoyable, giving a studies into just how varied and you will persuasive incentive features are. Once till the extra rounds, you\u2019ll pick totally free revolves, gluey wilds, converting icons, growing reels, honor see enjoys, and. Motivated because of the cult film, the video game has half dozen independent added bonus cycles alongside numerous random base setting modifiers. The days are gone regarding effortless 100 percent free spins and you will wilds; industry-leading titles these days may have all of the technique of inflatable extra series. Which have reasonable volatility and you may twenty-five paylines, it\u2019s a great option if you like getting regular victories on the fresh panel rather than grand, however, sporadic jackpots.<\/p>\n

In the course of time we ended up with total payouts out of $96. At least risk out-of $5 each twist i become solid which have a $6 payout once just one or two spins. It\u2019s simply an indication of something good you to\u2019s planning to started. The beds base game play throughout the Environmentally friendly Host doesn\u2019t require complimentary any icons to locate a payout. On the reels getting a loans print machine, Brand new Green Servers slot will teach the genuine property value the fresh new payout.<\/p>\n

Lovecraft-determined story go for about since the immersive as you’re able rating, as portal effects and you will super wilds shoot a whole lot more excitement (and you can winnings potential). Based on Statista, the best commission slots on the internet will be leading revenue driver inside the the worldwide online casino globe, so they\u2019re also a leading look for to own U.S. users looking to victory real money. Most importantly of all, free online harbors LuckyMe Slots<\/a> allow visitors to enjoy the experience with zero stress on the bank equilibrium. The latest triggering procedures of your own Green Servers is back! Designed in the design of a sharp banknote, Dollars Servers on the internet slot merely include blanks, 5s, 10s, and you may zeroes given that symbols. You have the typical spins towards option to utilize the Turbo otherwise Autoplay provides, however the high part is that you has actually an electrical energy Choice function, which runs the paylines which have dos more rows for even significantly more opportunities to winnings.<\/p>\n

His content is basically a close look in the game play and features \u2014 the guy shows what a slot lesson actually feels as though, which\u2019s fun to look at. It\u2019s humorous to see just how J.Todd provides casino games to life compliment of genuine-time streaming and you can polite reactions. Enjoy the Green Server slot with free revolves, scatters paying step 1-step 1,one hundred thousand gold coins, and you may four jackpots to 1,000x their bet. But not, in this instance, per credit turns on an excellent reel; to experience that borrowing from the bank ways precisely the very first reel causes possible winnings. Your always check new display and make an effort to make similar signs regarding left to help you best all over their paylines.<\/p>\n

Whether you are wanting totally free slot machine games with 100 percent free spins and you may incentive series, such as for example labeled slots, or classic AWPs, we\u2019ve had you secure. As to why enjoy 40 or 50 paylines if you possibly could utilize the entire display screen? These have simple gameplay, usually that half dozen paylines, and you can an easy money wager assortment. Of many casinos promote totally free revolves on the current online game, and you may keep the profits once they meet up with the web site’s wagering requirements. Wild signs act like jokers and you can done winning paylines. Specific totally free slot game possess bonus has actually and you can added bonus rounds within the the type of special icons and you can front side video game.<\/p>\n

I have actually place all our modern jackpot game to the an effective independent category, so you’re able to easily find the new harbors towards premier potential profits. It\u2019s really worth detailing that there exists zero typical shell out contours in the the online game, but you have access to other scatters one verify instant earnings. The online game only has a number of bonus have, but they are every exposure-100 percent free and provide a good profits. This type of sectors let you know how big is fixed dollars profits, multipliers wagers, totally free spins, or activators incentive choice. Because video game keeps a leading volatility, you can experience less frequent gains, however, here\u2019s together with a heightened possibility of big payouts.<\/p>\n

Brand new slot doesn’t function of several bells and whistles, including totally free spins nor bonus rounds. There are numerous quick victories open to sooth the pain, but the video game naturally shifts ranging from shedding lines and you can huge payouts. The entire video game operates off scatter legislation to possess profits. Users need certainly to bet 1 borrowing from the bank each reel, and you may gambling over one multiplies the latest profits because of the choice. If you find yourself this type of slots are particularly eyes-finding as a consequence of their picture, nevertheless they come with adequate features to ensure they are worthy of to experience.<\/p>\n

Also known as \u2018vintage harbors\u2019, they were played towards good grid 3×3 in size or smaller, and generally had no features anyway. Although not, the straightforward aspects and you can good earnings try certain professionals. I became getting victories most of the two to four revolves, having profits ranging anywhere between 0.2x and you will 4x my wager. Starting with the beds base game, I discovered a great grid of five reels and you will step 3 rows able actually in operation.<\/p>\n

Large 5 Games replicates the typical five-reel of the three-line grid, throwing in a few stylistic changes. Celebrity Joker is yet another best pick, providing totally free revolves having insane signs as well as the potential to win as much as 5,000x. It’s got features like the stamina choice, repaired jackpots, and you may a free of charge twist bullet. The latest Green Servers Deluxe has the benefit of higher volatility game play, on the opportunity for huge earnings.<\/p>\n

However, if you’re looking to own a little finest picture and you can a slicker game play experience, we advice downloading your preferred on the web casino’s software, if available. Found in extremely position online game, multipliers can increase an excellent player’s payouts of the as much as 100x the fresh new completely new number. With the same graphics and you can added bonus has just like the real money online game, free online harbors are exactly as pleasing and you will entertaining for professionals. 100 percent free enjoy you are going to stop you from and make a bet that is much more you really can afford, and educate you on about coin sizes in addition to paylines. You can study a lot more about bonus series, RTP, and also the laws and regulations and you will quirks of different game.<\/p>\n

Ever heard the definition of one some thing can be so most likely is successful you to definitely getting you to action is the same as \u201cprinting money? Certain types include a bonus round that have 100 percent free revolves for added excitement. Secure they Hook Night life \u2013 That it WMS position will require you to your a night for the town round the their four reels and you can fifty paylines. Spartacus Awesome Huge Reels \u2013 Head back so you can Ancient Rome with this particular fun online game which comes that have one or two categories of four reels and 100 paylines. The latest Central processing unit-NXT2 integrate almost 2GB off RAM, a good three dimensional ATI image cards, a 40GB harddisk and a beneficial IV classification Intel Pentium Processor chip.<\/p>\n","protected":false},"excerpt":{"rendered":"

When you find yourself fed up with apparently attractive templates with less to help you zero reasonable payment, this is exactly a position you to pulls you a buck icon generated off solid gold. However, you claimed\u2019t get any economic compensation in these bonus cycles; instead, you\u2019ll become compensated circumstances,\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-95556","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/95556","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=95556"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/95556\/revisions"}],"predecessor-version":[{"id":95557,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/95556\/revisions\/95557"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=95556"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=95556"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=95556"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}