/* 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":128736,"date":"2026-05-25T13:30:58","date_gmt":"2026-05-25T13:30:58","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=128736"},"modified":"2026-05-25T13:30:58","modified_gmt":"2026-05-25T13:30:58","slug":"yet-not-scatters-don%ef%bf%bdt-appear-during-100-free-spins-and-so-the-bullet-cannot-be-retriggered","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/yet-not-scatters-don%ef%bf%bdt-appear-during-100-free-spins-and-so-the-bullet-cannot-be-retriggered\/","title":{"rendered":"Yet not, scatters don\ufffdt appear during 100 % free spins, and so the bullet cannot be retriggered"},"content":{"rendered":"

That it auto technician plus increases the threat of carrying out big profits. Wins form whenever three or even more matching signs home towards adjacent reels, ranging from the fresh new leftmost reel. So it highly volatile position also provides an optimum victory away from ten,000x the risk, with an enthusiastic RTP away from %.<\/p>\n

The new unpredictability of your Megaways\ufffd system provides adventure and you can unlimited choice to possess huge payouts. It vibrant gameplay have participants to their foot since the number from symbols and you may paylines alter with every twist. The new Come back to User (RTP) percentage is a critical foundation to have users whenever choosing a position game, as it ways the common payment price through the years. The fresh new Crazy Symbol, lookin into the reels 2, 12, four, and you may 5, replacements for everyone symbols but the newest Spread.Use these Wilds to complete otherwise promote effective combos. Click the Twist button to start to try out.Having persisted game play, utilize the Autoplay element, which enables one put a particular number of spins and you may loss\/victory restrictions having automated gamble.<\/p>\n

Find the brand new game’s menu or slot info when you are rotating towards Pompeii Megareels Megaways when logged to your gambling membership and you can gambling which have genuine finance. Let’s assume you will be gaming $1 for each and every spin, and you place $100 in the account to your an online playing site. The latest maximum WinSpirit<\/a> earn of your own Pompeii Megareels Megaways online game try 10,000x the share, and therefore supports better against other Pragmatic Play slots. While you don’t need to choose particular traces, victories is actually paid of left to correct, making it easy for one particular you are able to combos. The new typical volatility of the online game will make it appealing to an excellent quantity of individuals, and 243 ways to profit improve game play rewardingly easy. Downloads are not necessary for browser-based features, which makes it even easier for people to use.<\/p>\n

The fresh new image for Pompeii is historic and you will meticulously in depth, as in the situation regarding Aristocrat’s almost every other slots, plus they vigilantly recreate the latest events of the time. If you’re looking having a position video game that can take you towards a crazy excursion back in time, Pompeii ‘s the games to you personally. Only align five energy reels symbols and you will unlock an excellent totally new number of game play which have 243 paylines! The newest picture and you can background detail transport your back in time because the your tune in to the new thunderous roar off Mount Vesuvius and see the latest lava disperse. Here are some our very own exciting report on Pompeii Gold Rapid Hook slot from the NetGame!<\/p>\n

You could select from nine to Expert since your to play poker credit denomination<\/h2>\n

I have to point out that I actually do benefit from the full theme trailing Pompeii. And when about three, four or five of those come in look at in almost any location, you can easily trigger 10, fifteen or 20 freespins, respectively. The methods to help you win on position are only having combos molded from left in order to correct, and never each other ways.<\/p>\n

At the same time, the number of icons towards a certain reel increases. Pompeii Megareels Megaways of the Pragmatic Play takes the new much-enjoyed Megaways auto mechanic and you will dials some thing right up a level, having great picture and you will an impressive Free Revolves bullet. Depending on how of a lot scatters are available, members get ranging from 10 and 20 totally free spins, and they will get a great deal more when they gamble once more.<\/p>\n

The game is obviously fun and you can fair, whilst most significant earn isn’t as huge since certain higher-chance choices. Pompeii Slot will likely be starred into the each other computers and you will mobile devices, so you’re able to choose which program to utilize depending on the driver. You might enjoy Pompeii Position at most web based casinos with game by Aristocrat.<\/p>\n

The online game offers repeated successful combinations and also the 100 % free revolves bullet shall be caused in most cases. All of these symbols along with prize prizes for a few-of-a-form winning combinations. Thus, since games get not be able to allure progressive slots fans, people who appreciated the initial Pompeii pokie usually see you to very nothing has changed. The new picture are still an identical and sound recording contains simply a few effects. Even if very on-line poker machines is actually infused which have three dimensional graphics and uniform soundtracks, Pompeii’s online pokie video game is quite just an area-centered web based poker host that has been equipped for on the web fool around with.<\/p>\n

It does solution to any symbols but the brand new Spread, to complete profitable combos<\/h2>\n

Bring about the newest round which have five or half a dozen scatters, therefore rating 20 or 25. It begins with four or higher scatters, the place you found fifteen bonus spins. While the a great Megaways position, you’re in to own an endless move from effective spins. With some luck, you will observe reels completing towards maximum number of symbols, and this greatly boosts the effective prospective. The latest slot’s evident graphics make Mt. Vesuvius a lot more menacing. Today you are ready to play the slot with a real funds.<\/p>\n

You may make a new player account indeed there in a matter of seconds and have started immediately. We advise you to select one of the best casinos regarding the list of shot champions. Here you can find and therefore video game symbols render the highest earnings, which have two snakes as being the higher-purchasing icon. Alternatively, profitable combinations are going to be formed whenever about three or maybe more identical icons appear on surrounding reels. The latest slot enjoys a good 95% RTP and suitable with steady bonus have, which makes it a good slot game to enhance your own earnings.<\/p>\n

You get yourself up to three semi-sticky wilds for every extra round spin, as well as the maximum profit try 10,000x the risk. You can even choose the improved style of the main benefit bullet for 300x the brand new share, as well as brought on by three to five scatters. Eligible people should buy the typical extra round to have 100x the latest stake, which provides you with less than six leading to scatters. The brand new Pompeii Megareels Megaways maximum winnings try 10,000x your own stake, and the max earn struck volume was one in 5,780,347 spins. Pompeii Megareels Megaways comes to life on the extra round even when, which have a different multiplier program that can submit sizzling earnings right up in order to ten,000x your risk.<\/p>\n

Aristocrat is very large to your addition of absolve to enjoy types due to their game, and therefore Pompeii Position shall be starred with no demand for bucks limits. Regarding play game, punters is actually served with a gambling credit featuring its deal with off, and they’ve got to determine be it red-colored otherwise black colored. Immediately after a combo is landed, the really worth is actually increased by the that the fresh new risk wear the new twist, and victories was showcased within the credits. Therefore, the appearance of similar emails for the three or even more adjoining reels, which range from the fresh new leftmost you to, causes a payout. Whenever wilds are utilized towards both the next and you can next reel to complete a similar consolidation, the newest winnings gathered try increased by ten.<\/p>\n

So it on the web position features an optimum earn restriction from 10,000x the fresh choice, significantly outperforming a great many other 100 % free gamble slots hosts for fun. These types of Pompeii Megareels Megaways extra provides commonly numerous however, enjoyable and you can possibly successful. I am hoping you enjoyed the fresh new review of this game which you’ll check this out Pompeii Megareels Megaways position review to help you their prevent. If you think you happen to be happy to have fun with real money, you can check all of our directory of necessary online casinos featuring this game.<\/p>\n","protected":false},"excerpt":{"rendered":"

That it auto technician plus increases the threat of carrying out big profits. Wins form whenever three or even more matching signs home towards adjacent reels, ranging from the fresh new leftmost reel. So it highly volatile position also provides an optimum victory away from ten,000x the risk, with an\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-128736","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/128736","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=128736"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/128736\/revisions"}],"predecessor-version":[{"id":128741,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/128736\/revisions\/128741"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=128736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=128736"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=128736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}