/* 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":122032,"date":"2026-05-25T13:17:32","date_gmt":"2026-05-25T13:17:32","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=122032"},"modified":"2026-05-25T13:17:33","modified_gmt":"2026-05-25T13:17:33","slug":"yet-not-scatters-do-not-come-during-100-free-spins-so-the-round-cant-be-retriggered","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/yet-not-scatters-do-not-come-during-100-free-spins-so-the-round-cant-be-retriggered\/","title":{"rendered":"Yet not, scatters do not come during 100 % free spins, so the round can’t be retriggered"},"content":{"rendered":"

This auto technician plus increases the danger of doing larger earnings. Victories form whenever three or more coordinating signs property towards adjoining reels, which range from the latest leftmost reel. This highly unpredictable slot offers an optimum winnings of 10,000x your share, that have an RTP out of %.<\/p>\n

The fresh unpredictability of the Megaways\ufffd system provides adventure and you can unlimited choices having massive payouts. This active gameplay provides users to their feet because amount out of signs and you can paylines transform with every spin. The fresh Go back to Athlete (RTP) fee is a crucial basis to have users when choosing a position game, whilst means the common commission rates through the years. The newest Nuts Icon, looking on the reels 2, twenty three, 4, and you will 5, substitutes for all signs but the newest Scatter.Make use of these Wilds to accomplish otherwise augment effective combinations. Click the Spin option to begin with playing.Having continued game play, make use of the Autoplay element, that allows you to definitely place a specific amount of revolves and loss\/winnings limits to own automatic enjoy.<\/p>\n

Come across the newest game’s menu or position information when you’re rotating to your Pompeii Megareels Megaways whenever logged to your gaming membership and you may gambling which have actual loans. Let`s say you will be playing $one per spin, and you also put $100 into your membership to the an on-line playing web site. The brand new maximum victory of one’s Pompeii Megareels Megaways video game was 10,000x your own share, hence stands up well against other Practical Play harbors. While you don’t have to choose particular contours, victories are paid regarding leftover so you’re able to correct, making it simple for many you can combinations. The latest typical volatility of one’s games will make it popular with a great few individuals, while the 243 a method to victory result in the game play rewardingly simple. Packages aren’t you’ll need for web browser-founded possibilities, which makes it even easier for people to utilize.<\/p>\n

The fresh picture getting Pompeii was historic and you will cautiously detailed, as in the way it is of Aristocrat’s almost every other slots, plus they faithfully replicate the brand new incidents of the time. If you are searching to possess a position online game that will take you into the an untamed trip back in its history, Pompeii is the video game to you. Simply line up five electricity reels symbols and you’ll unlock a completely new amount of gameplay which have 243 paylines! The latest image and you will records detail transport your back in time because you tune in to the new thunderous roar regarding Attach Vesuvius to see the latest lava flow. Below are a few the fascinating post on Pompeii Gold Quick Connect position by the NetGame!<\/p>\n

You could select nine so you can Ace since your to experience poker cards denomination<\/h2>\n

I need to point out that I really do benefit from the total motif at the rear of Pompeii. And when around three, four or five of these come in see in virtually any place, you’ll activate 10, fifteen or 20 freespins, respectively. The ways to profit on the position are merely to have combos formed out of kept so you’re able to right, and not each other means.<\/p>\n

Meanwhile, how many signs on the a certain reel increases. Pompeii Megareels Megaways because of the Pragmatic Gamble takes the fresh new much-enjoyed Megaways auto technician and you may dials anything upwards a level, having big graphics and you can an extraordinary 100 % free Spins round. Depending on how of a lot scatters appear, participants get ranging from ten and you may 20 100 % free revolves, and additionally they can get far more if they enjoy once again.<\/p>\n

This video game is definitely fun and you may fair, while the greatest win is not as big https:\/\/sushicasino-ca.com\/<\/a> because the some high-chance possibilities. Pompeii Slot are going to be starred to your one another desktop computers and you can mobile phones, in order to choose which system to utilize depending on the agent. You could potentially play Pompeii Slot at the most web based casinos which have video game of the Aristocrat.<\/p>\n

The game offers up regular effective combinations and totally free spins bullet is going to be caused quite often. All of these icons as well as prize prizes for two-of-a-type successful combos. Very, because the video game may not be able to attract modern slots fans, people that liked the initial Pompeii pokie tend to take pleasure in one really nothing has changed. The fresh picture are nevertheless an identical and also the sound recording consists of just several consequences. Regardless if extremely internet poker computers try infused that have 3d picture and you may consistent soundtracks, Pompeii’s online pokie online game is fairly simply an area-centered poker server which was provided to possess online have fun with.<\/p>\n

It does option to any icons except the latest Spread out, to accomplish winning combinations<\/h2>\n

End in the fresh bullet which have five otherwise half a dozen scatters, while score 20 otherwise twenty-five. It starts with five or more scatters, for which you discovered 15 incentive spins. While the a Megaways position, you are in to have an endless streak of profitable revolves. With a bit of luck, you will see reels completing to your maximum amount of symbols, hence greatly advances the winning possible. The fresh slot’s sharp image build Mt. Vesuvius more menacing. Now you’re ready to play the position with a bona fide budget.<\/p>\n

You may make a player account around in just moments and now have come right away. We suggest that you pick one of the best gambling enterprises away from all of our set of try champions. Indeed there you can observe and therefore games signs bring the highest winnings, which have a few snakes as being the higher-purchasing icon. Instead, winning combos will be shaped whenever around three or more similar signs appear on adjacent reels. The latest slot features good 95% RTP and fitted with stable extra features, rendering it a great slot online game to expand your own winnings.<\/p>\n

You get yourself up to 3 semi-gooey wilds for each extra round twist, as well as the max winnings is ten,000x your own share. It is possible to purchase the enhanced type of the bonus round to own 300x the fresh share, plus brought on by less than six scatters. Eligible participants can purchase the regular incentive bullet getting 100x the newest stake, hence provides you with less than six leading to scatters. The fresh Pompeii Megareels Megaways max victory is actually 10,000x their share, while the maximum earn strike regularity is one in 5,780,347 spins. Pompeii Megareels Megaways pertains to life regarding the bonus round even when, with a different sort of multiplier system that will send sizzling winnings up so you can ten,000x their risk.<\/p>\n

Aristocrat is huge into the inclusion away from liberated to play designs because of their video game, and thus Pompeii Position will be starred with no interest in dollars bet. From the play online game, punters is presented with a gambling card using its deal with down, and they’ve got to determine be it yellow or black colored. After a combo is actually arrived, its really worth was increased of the regarding the newest share put-on the fresh spin, and you may gains are emphasized in the credit. Hence, the appearance of similar letters in the around three or maybe more adjacent reels, which range from the brand new leftmost that, causes a payout. Whenever wilds can be used for the the 2nd and 4th reel accomplish an identical integration, the fresh new winnings accumulated is actually increased because of the fifteen.<\/p>\n

Which online slot has an optimum earn restriction away from ten,000x the brand new bet, notably outperforming many other totally free gamble harbors computers for fun. Such Pompeii Megareels Megaways incentive possess aren’t numerous but enjoyable and possibly winning. I’m hoping your liked the latest article on this video game and this you’ll read through this Pompeii Megareels Megaways slot review to their end. If you feel you will be willing to play with real cash, you should check our set of demanded online casinos offering this games.<\/p>\n","protected":false},"excerpt":{"rendered":"

This auto technician plus increases the danger of doing larger earnings. Victories form whenever three or more coordinating signs property towards adjoining reels, which range from the latest leftmost reel. This highly unpredictable slot offers an optimum winnings of 10,000x your share, that have an RTP out of %. The\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-122032","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/122032","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=122032"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/122032\/revisions"}],"predecessor-version":[{"id":122034,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/122032\/revisions\/122034"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=122032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=122032"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=122032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}