/* 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":115435,"date":"2026-05-25T11:58:57","date_gmt":"2026-05-25T11:58:57","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=115435"},"modified":"2026-05-25T11:59:40","modified_gmt":"2026-05-25T11:59:40","slug":"below-are-a-few-our-enjoyable-overview-of-pompeii-megareels-megaways-slot-because-of-the-practical-play","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/below-are-a-few-our-enjoyable-overview-of-pompeii-megareels-megaways-slot-because-of-the-practical-play\/","title":{"rendered":"Below are a few our enjoyable overview of Pompeii Megareels Megaways slot because of the Practical Play!"},"content":{"rendered":"

Fans from aquatic-inspired ports want Large Bass Bonanza, which offers the opportunity to reel for the big wins using its enjoyable fishing theme. One another video game promote a great and you will white-hearted playing sense which is ideal for players of all types. If you value slots with some jokes, Piggy Commission is sure to happiness.<\/p>\n

As the online game is available during the multiple casinos on the internet, the chances of profitable is quicker. After identifying that sentence you’re going to be served with the fresh new RTP as the 96% or even the RTP lay within %. The highest RTP mode away from 96% will always be screen if you are maybe not logged for the or if you are using demo form. To start, log in to the gambling membership and make certain you might be to play the real money settings and then, initiate Pompeii Megareels Megaways, the fresh new position online game.<\/p>\n

Exactly what sets apart Stake in comparison with most other casinos on the internet is the fact the creators are clear and you can privately available to its listeners. They have various online game with additional RTP, giving you a far better probability of profitable at this site in the place of almost every other web based casinos.<\/p>\n

Pompeii slot online game has high-paying icons like armor, head protection, and you can chariot, medium-paying icons like silver coin plus blade, and you can lower-spending signs An effective, J, K, ten, and Q. These symbols range from the Roman Empire, head protection, armour, silver coin, chariot, amulet, sword, Jack, King, Expert, Queen plus the Deadly Volcano. With a great 96% RTP, it launch provides several symbols one end in more victories.<\/p>\n

To the a far more severe mention, Practical Enjoy is actually packed with ports centered on a very comparable gameplay. For 100x the new risk, buy the classic mode, and 300x the latest stake, buy the choice to the doubled earn multiplier. After each and every profitable twist, the fresh new successful combinations is given out and all sorts of icons eliminated. 10x and you can 1x the fresh new stake, as the Roman Emperor, armor, chariot, protect and you can gold coin will pay anywhere between 0.25x and you can 5x the latest stake.<\/p>\n

Spreaders won’t need to appear close to both or during the a specific order out of https:\/\/slot-boss-casino.co.uk\/<\/a> remaining so you’re able to correct like other icons manage. For all other signs except scatters, so it icon is only able to appear on reels 2 and four. These include wilds, scatters, multipliers you to definitely keep going upwards, and you can a free of charge spins round which is often really successful. The newest review of Pompeii Slot covers a good amount of interactive have which can be meant to create for every games more enjoyable. For both the brand new and you will knowledgeable position members, the brand new blend of inspired stories and you will attempted-and-correct slot qualities would be a goody. It game’s appearance and you can regular earnings and you will added bonus cycles wade hand in hand, offering users one another visual and tangible perks.<\/p>\n

According to our very own listing of greatest web based casinos positions all of them in the the top ranks<\/h2>\n

According to level of scatters that have brought about the fresh new totally free revolves you could be rotating 10, 15 otherwise 20 minutes 100% free. Sure, after you register from the casino, your account might possibly be replenished, you might wager real money, and you may located genuine winnings. To follow high profits, professionals need to would a free account, deposit fund, and you can fool around with the genuine balance. In spite of this, the new characteristics this club carries are well-laid out to help make the process of share alternatives as basic while the compared to game play.<\/p>\n

RTP (Go back to Athlete) reveals exactly how much a slot machine pays out over go out compared to wagers which were produced. The brand new quantity of wagers provides one another casual participants and you may high rollers, and also the mobile-friendly design makes it much simpler to get more individuals to availableness. It is obvious that most people faith the game since it is rather preferred inside the controlled casinos. Society enthusiasts and people who want to gamble ports which have tons regarding possess usually both such as the means it is produced.<\/p>\n

The latest insane symbol in the Pompeii ft game ‘s the erupting volcano icon, and it will solution to every other symbol but the fresh insane symbol to form profitable combos. The ft game winnings in the list above is increased inside type after you add more credit being wagered for each and every spin. Aristocrat instilled Pompeii with several of one’s organizations most widely used game play enjoys, such as the presence away from nuts icons, spread symbols, 100 % free revolves, added bonus online game, and multipliers. This is just an ante wager, called the benefit Spend function to your many Aristocrat slot headings, and this entitles participants to the full fit off added bonus online game and you may most profits.<\/p>\n

Certain web based casinos render exclusive honours to possess gaming on the cent harbors into the a mobile, as well as free revolves. Create an online gambling enterprise, establishing financial pointers which will make an account. Minimal restriction is actually 0.01, allowing members to enjoy some technicians, storylines, and extra has.<\/p>\n

Irrespective of system, the game suits any screen resolution when you are delivering clean picture since well as simple regulation. Online Pompeii slot online game pulls Canadian local casino fans due so you can their flexible\/unique gameplay. Pompeii’s Reel Stamina increases gameplay liberty, delivering a substitute for antique payline designs. It\ufffds best for novices and seasoned members who search research strategies otherwise enjoy this choice limited to amusement.<\/p>\n

The latest Good, K, Q, J and you may 10 symbols can pay ranging from 0<\/h2>\n

The newest RTP serves as an excellent metric proving how much cash professionals is also welcome successful back on the games over the years. Icons depicting natures miracle appear on reels 2 so you can six position set for most of the except the newest Spread symbol to help make profitable combos. Using an effective Megaways system it has around 117,649 a means to winnings bequeath round the 6 reels taking possibilities to have effective combos. They supply a look towards minutes in which method, luck and online game possess like 100 % free spins and cascading reels come together to transmit epic winnings. It is not a haphazard amount; they shows huge gains having members who are immediately following pleasing wins featuring the new game high-risk while the exciting uncertainty of Pompeiis last days. They look alike, however in the newest crappy variation you’ll receive shorter added bonus possess and you will less multipliers the newest casino takes away their biggest victories.<\/p>\n

Cent ports enable it to be players so you’re able to choice at the very least one cent for every choice line inside web based casinos. She directly observe releases off top online game studios, evaluating how progressive possess and you will structure trend effect game play. Mark is actually a casino and you will ports professional that have a strong interest to the gameplay aspects and gratification data. The newest Megareels extension element and you will tumble auto mechanic do function exactly as intended, as well as players especially trying to Megaways actions, one another enjoys would admirably.<\/p>\n","protected":false},"excerpt":{"rendered":"

Fans from aquatic-inspired ports want Large Bass Bonanza, which offers the opportunity to reel for the big wins using its enjoyable fishing theme. One another video game promote a great and you will white-hearted playing sense which is ideal for players of all types. If you value slots with some\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-115435","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/115435","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=115435"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/115435\/revisions"}],"predecessor-version":[{"id":115455,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/115435\/revisions\/115455"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=115435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=115435"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=115435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}