/* 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":111959,"date":"2026-05-25T11:57:16","date_gmt":"2026-05-25T11:57:16","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=111959"},"modified":"2026-05-25T11:57:17","modified_gmt":"2026-05-25T11:57:17","slug":"however-scatters-do-not-come-during-the-100-free-spins-so-that-the-round-can-not-be-retriggered","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/however-scatters-do-not-come-during-the-100-free-spins-so-that-the-round-can-not-be-retriggered\/","title":{"rendered":"However, scatters do not come during the 100 % free spins, so that the round can not be retriggered"},"content":{"rendered":"

That it auto technician along with advances the danger of performing huge winnings. Victories setting when about three or more coordinating symbols home into the surrounding reels, including the new leftmost reel. Which extremely erratic position even offers a maximum earn out of 10,000x your stake, having an enthusiastic RTP of %.<\/p>\n

The fresh unpredictability of Megaways\ufffd program will bring excitement and limitless options to have substantial profits. So it vibrant game play possess members to their toes because matter off icons and you may paylines transform with each spin. The newest Go back to Athlete (RTP) fee try a vital factor to possess members when choosing a position video game, because suggests the common payment rate through the years. The brand new Crazy Icon, searching for the reels 2, twenty-three, 4, and you will 5, replacements for all signs but the newest Spread.Make use of these Wilds doing or boost profitable combos. Click the Twist option first off to tackle.To own continued gameplay, utilize the Autoplay ability, that allows you to put a particular level of revolves and loss\/win limitations having automatic play.<\/p>\n

Discover the latest game’s diet plan otherwise position information while spinning on the Pompeii Megareels Megaways whenever logged in the gambling membership and you will gambling which have genuine funds. Let’s hypothetically say you might be gaming $one for every single twist, and you set $100 to your account for the an on-line betting web site. The new maximum earn of the Pompeii Megareels Megaways game are 10,000x the share, and therefore stands up really against most other Pragmatic Gamble harbors. Whilst you don’t have to prefer certain traces, wins is paid down out of kept in order to proper, rendering it easy for many you’ll be able to combinations. The new typical volatility of your own video game causes it to be attractive to a good number of anybody, plus the 243 a method to profit make game play rewardingly effortless. Packages are not necessary for browser-established features, which makes it less difficult for people to utilize.<\/p>\n

The latest graphics getting Pompeii was historical and you may cautiously outlined, such as the situation away from Aristocrat’s almost Betfair Casino login<\/a> every other slots, plus they faithfully replicate the fresh new events of time. If you’re looking to have a slot game that take you to your an untamed excursion back in its history, Pompeii is the video game for your requirements. Just make five power reels symbols and you may open a good totally new level of gameplay with 243 paylines! The newest graphics and background outline transport your back in time because the your hear the fresh thunderous roar of Mount Vesuvius to check out the fresh lava circulate. Here are some all of our pleasing writeup on Pompeii Gold Fast Link position because of the NetGame!<\/p>\n

You could potentially select 9 to Adept as your to try out casino poker cards denomination<\/h2>\n

I have to point out that I do gain benefit from the total motif behind Pompeii. And in case around three, 4 or 5 of those have look at in almost any location, you can stimulate 10, 15 or 20 freespins, correspondingly. The ways in order to winnings from the slot are only to have combinations formed out of left so you can proper, and never both means.<\/p>\n

Meanwhile, the amount of symbols for the a specific reel can increase. Pompeii Megareels Megaways by the Practical Gamble requires the newest far-adored Megaways auto mechanic and dials some thing upwards a level, that have great picture and you may a superb 100 % free Spins round. Depending on how of many scatters are available, participants rating ranging from ten and you can 20 totally free spins, and they get much more whenever they gamble once again.<\/p>\n

The game is obviously enjoyable and reasonable, although the biggest profit isn’t as larger as the some higher-chance solutions. Pompeii Slot will likely be played on the both personal computers and you can cellular devices, so you can decide which platform to make use of depending on the user. You could potentially gamble Pompeii Position at most casinos on the internet which have games by the Aristocrat.<\/p>\n

The video game offers up repeated winning combos plus the 100 % free spins round are going to be triggered in most cases. Most of these signs along with prize prizes for a few-of-a-kind profitable combos. Very, since the video game get struggle to charm modern ports fans, individuals who enjoyed the initial Pompeii pokie tend to take pleasure in one to most nothing has changed. The newest picture will still be the same and also the soundtrack contains merely a few outcomes. Regardless if really online poker hosts try infused which have three dimensional image and you will uniform soundtracks, Pompeii’s online pokie game is pretty just a secure-dependent poker host that was furnished getting on the internet fool around with.<\/p>\n

It can option to another symbols except the newest Scatter, to accomplish effective combos<\/h2>\n

End in the newest bullet with five or half dozen scatters, and you also score 20 otherwise twenty-five. They starts with four or maybe more scatters, the place you located fifteen bonus revolves. While the an effective Megaways slot, you’re in to possess an endless move out of winning revolves. With a bit of chance, you will observe reels filling out to the restriction number of signs, and therefore greatly escalates the effective prospective. The new slot’s sharp graphics build Mt. Vesuvius far more threatening. Now you happen to be ready to play the position which have a bona fide finances.<\/p>\n

You possibly can make a player account here in just mere seconds and also have started straight away. I suggest that you pick one of the finest casinos out of our variety of attempt champions. There you can observe which video game signs render the greatest profits, which have a couple of snakes as the high-spending icon. Alternatively, winning combos will be formed when about three or maybe more the same icons appear on adjacent reels. The latest position features a 95% RTP and you can fitted which have secure bonus possess, which makes it an excellent slot online game to enhance your own winnings.<\/p>\n

You get up to 3 semi-gooey wilds for each and every incentive bullet spin, and also the max victory are 10,000x their share. You may also purchase the improved type of the main benefit round to possess 300x the latest share, along with caused by three to five scatters. Qualified professionals can find the typical bonus round to possess 100x the newest share, and that will give you three to five causing scatters. The brand new Pompeii Megareels Megaways max win try ten,000x their risk, and also the max victory strike frequency was 1 in 5,780,347 spins. Pompeii Megareels Megaways relates to lifestyle regarding the incentive bullet regardless if, with a different multiplier system that send sizzling winnings up to ten,000x your risk.<\/p>\n

Aristocrat is big towards introduction of liberated to gamble products due to their video game, which means that Pompeii Slot will be starred without any demand for dollars stakes. Regarding enjoy video game, punters are presented with a gambling credit with its deal with down, and they’ve got to choose be it yellow or black. Shortly after a combo is arrived, their value is actually increased by regarding the fresh new stake put on the fresh twist, and you can gains are emphasized within the credit. Ergo, the appearance of equivalent letters inside around three or higher adjoining reels, ranging from the new leftmost one to, causes a commission. Whenever wilds are utilized towards the 2nd and you will next reel accomplish an equivalent consolidation, the newest profits amassed is actually increased from the ten.<\/p>\n

Which online position have an optimum winnings limitation away from ten,000x the fresh new wager, significantly outperforming many other 100 % free play ports machines enjoyment. These types of Pompeii Megareels Megaways bonus enjoys are not multiple but enjoyable and you can possibly profitable. I am hoping your enjoyed the latest overview of this game and this you are able to look at this Pompeii Megareels Megaways slot comment to help you the end. If you feel you happen to be ready to explore real money, you can examine our set of demanded web based casinos offering so it game.<\/p>\n","protected":false},"excerpt":{"rendered":"

That it auto technician along with advances the danger of performing huge winnings. Victories setting when about three or more coordinating symbols home into the surrounding reels, including the new leftmost reel. Which extremely erratic position even offers a maximum earn out of 10,000x your stake, having an enthusiastic RTP\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-111959","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/111959","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=111959"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/111959\/revisions"}],"predecessor-version":[{"id":111995,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/111959\/revisions\/111995"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=111959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=111959"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=111959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}