/* 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":95710,"date":"2026-05-24T02:01:58","date_gmt":"2026-05-24T02:01:58","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=95710"},"modified":"2026-05-24T02:02:00","modified_gmt":"2026-05-24T02:02:00","slug":"day-after-day-leaderboards-are-worth-20100000-in-addition-to-weekly-there-is-350000-worth-of-award-controls-awards-getting-claimed-the-latest-greatest-pragmatic-play-drops-gains-venture-is-avail","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/day-after-day-leaderboards-are-worth-20100000-in-addition-to-weekly-there-is-350000-worth-of-award-controls-awards-getting-claimed-the-latest-greatest-pragmatic-play-drops-gains-venture-is-avail\/","title":{"rendered":"Day-after-day leaderboards are worth \u00a320,100000, in addition to weekly there is \u00a3350,000 worth of Award Controls awards getting claimed. The latest greatest Pragmatic Play Drops & Gains venture is available in a lot of of your own most readily useful slot websites, and additionally Duelz Casino, 32Red Local casino, Betrino, NetBet Gambling establishment, Unibet Gambling establishment, and RedAxePlay Gambling enterprise. The latest John Hunter activities began from inside the September 2018 that have Da Vinci\u2019s Benefits, which had professionals hooked as soon as regarding launch on account of its throat-watering maximum earn possible out-of 48,000x this new wager."},"content":{"rendered":"

️️Zeus II Game \u1408 Free Enjoy Game\/h1><\/p>\n

This new bet for every single range and effective paylines during Totally free Spins are nevertheless an equivalent, and you can winning combinations stick to the legs games guidelines. These more revolves initiate since totally new set try depleted. While the Totally free Spins is brought about, the overall game changes to another gang of reels.<\/p>\n

WMS always introduces symbols which can be linked to the fresh theme, and will leave four of five symbols to help you encourage you you to you\u2019lso are playing a slot and not reliving the latest theme. Zeus Ports Totally free Gamble slots is actually starred no-cost in almost every playing place. By using unique keys, possible lay the desired details.<\/p>\n

You will make use of two special symbols as well as 2 bonus have to help expand increase reel-spinning thrill for the ancient Greece. Many rewarding symbol from the games is actually Zeus themselves, boosting your bankroll by the around 150x their stake after you screen 5 Zeus icons using one payline. Just before mode the fresh reels during the actions, you’ll earliest need certainly to decide how much you want to invest in for every single twist. Inside free spins round, participants within the Italy, the uk, as well as the United states will look forward to even more wild and spread icons toward reels.<\/p>\n

The newest hook is the fact participants must pay a premium to use Chicken Road apk<\/a> incentive possess. Meanwhile, the latest payouts away from lower-volatility ports are more typical however, quicker. The latest winnings of higher-volatility online game are huge but less common. The device advantages enough time winnings chains and you may produces solitary revolves in a position to of making numerous earnings from inside the series.<\/p>\n

This new Zeus slot pays aside if you\u2019re also to play the real currency particular the game. New volatility and you will payment rates of Zeus slot will be meticulously believed ahead of time to try out. It brings the potential for several matches in per round, enhancing the measurements of the payment. When the totally free spins is actually triggered, new nuts symbols come in hemorrhoids, raising the likelihood you\u2019ll find multiple wilds when you look at the per spin. During this added bonus bullet, yet another group of reels is used; these reels enjoys stacked wilds, performing the chance for huge wins.<\/p>\n

After hitting five successive profitable spins of any proportions, you will end in 5 free spins. Within Zeus II feedback, we unearthed that you just home a few Zeus icons to earn a genuine currency honor value 2 gold coins. You can enjoy an easy immediate-gamble variation using your simple web browser.<\/p>\n

Most 100 percent free harbors 777 have this type of selection, however create give all the have, including 100 percent free spins and extra cycles. No, even though many 777 harbors is vintage, specific offer imaginative have\/game play. If you want assistance with so it, feel free to see on-line casino analysis towards the SlotsUp. For those who\u2019re looking to wager real money, make sure you favor a reliable gambling enterprise. Usually lay limits on the time and money, and use the various tools open to help keep you in your constraints. Compliment of our trial setting feature directly on the website, you can look at such or any other free ports 777 with no down load or deposit, from the finest company.<\/p>\n

Letters pop music having bright color while maintaining one classic casino slot games end up being players like. If the function is brought about, the new gameplay will be gone on to an alternative group of reels incase the leading to consolidation lands once more, far more cycles is added to the fresh already established revolves. Most of the showcased better web based casinos uphold the fresh strictest defense criteria, including the latest studies cover software and you will SSL encryption technical. When you\u2019re finding a position having vibrant game play, a great bonus bullet, and several wise theming, Doors of Olympus may be the video game for you! On the other hand, matching several or even more of online game\u2019s five highest-worthy of signs deserves 12x so you’re able to 50x the new risk.<\/p>\n

The max victory try capped within 500x your bet, that is modest by the modern criteria. The latest Zeus symbol can seem stacked in the foot video game also, not merely inside incentive. The new 100-twist headline is the ceiling, but retriggering is what makes the average incentive bullet feel this has legitimate energy.<\/p>\n

Use the measure to demonstrate the range closest with the wished choice and then click on relevant switch to find the direct wager matter, the newest reels have a tendency to instantly spin into the newest wager setting. If you find yourself perception fortunate and want to enjoy a lot more online game at no cost, within NeonSlots discover of a lot totally free demonstrations from online slots games. Throughout Totally free Revolves an extra selection of reels are available although successful combos are the same while they was in fact however games. 3 icons prize 10, cuatro signs award 25 and you may 5 icons award 100 utilising the exact same wager and you will range settings that have been positioned till the free revolves was basically brought about. There are eleven symbols together with an untamed and you will an element Symbol (Scatter) that may release to a hundred totally free spins. The latest Zeus slot games remains a favorite in online and land-built gambling enterprises due to the interesting theme, rewarding extra series, and you may solid payout possible.<\/p>\n

This variation doesn\u2019t search good-sized, but it is certainly and you can worthy of detailing! Because of this they\u2019s crucial to discover without a doubt your\u2019re also to relax and play the optimal RTP type of Ze Zeus hence enhances your odds of winning up to 2.11% across the bad RTP. During the slot game play, everything is much harder to see given that everything is dependent on formulas hidden below enticing animated graphics.<\/p>\n

You can spin the base online game regarding \u20ac\/$0.10 as much as \u20ac\/$one hundred for every twist or take advantage of the many other added bonus purchase options. You\u2019ll need connect four icons or even more in any way so you can safer a winnings, as soon as the brand new signs commission, the overall game have a tendency to cascade, making it possible for a lot more signs to decrease into the put. The overall game is set during the ancient Greece, which have an excellent stormy background presenting classic columns. New Hand of Zeus unleashes the benefit to make icons where you\u2019ve struck a profit for the Coins with various multipliers out of 0.2x to have Bronze in order to 500x to possess Coins.<\/p>\n

The online game\u2019s mobile optimisation ensures that the fresh image and gameplay are on par into the pc version. Whether you\u2019re also playing with an android os otherwise ios device, you may enjoy the full experience of so it slot to the wade. Ze Zeus is made to perform seamlessly to your cell phones, also each other cellphones and you can shields. Otherwise, for folks who\u2019re happy to wager real cash, make the most of a special local casino offer so you’re able to allege a welcome added bonus and you may fool around with bonus finance.<\/p>\n","protected":false},"excerpt":{"rendered":"

️️Zeus II Game \u1408 Free Enjoy Game\/h1> This new bet for every single range and effective paylines during Totally free Spins are nevertheless an equivalent, and you can winning combinations stick to the legs games guidelines. These more revolves initiate since totally new set try depleted. While the Totally free\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-95710","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/95710","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=95710"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/95710\/revisions"}],"predecessor-version":[{"id":95711,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/95710\/revisions\/95711"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=95710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=95710"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=95710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}