/* 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":113980,"date":"2026-05-25T11:58:14","date_gmt":"2026-05-25T11:58:14","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=113980"},"modified":"2026-05-25T11:58:39","modified_gmt":"2026-05-25T11:58:39","slug":"here-are-a-few-the-enjoyable-report-on-pompeii-megareels-megaways-position-because-of-the-practical-play","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/here-are-a-few-the-enjoyable-report-on-pompeii-megareels-megaways-position-because-of-the-practical-play\/","title":{"rendered":"Here are a few the enjoyable report on Pompeii Megareels Megaways position because of the Practical Play!"},"content":{"rendered":"

Admirers away from marine-themed harbors will love Big Bass Bonanza, which provides the opportunity to reel inside the larger gains having its fun fishing theme. Each other video game provide a great and you can white-hearted gaming feel that is good for players of all types. If you value ports with a little laughs, Piggy Commission will certainly joy.<\/p>\n

Since the game can be obtained within several casinos on the internet, chances out of profitable could be smaller. Shortly after identifying that sentence you’ll be offered the new RTP because the 96% or perhaps the RTP lay at the %. The highest RTP setting from 96% will always display screen when you find yourself not logged in the or if you may be using trial mode. To begin with, get on their gambling account and make sure you may be to play the true money setup and then, begin Pompeii Megareels Megaways, the fresh slot video game.<\/p>\n

Exactly what distinguishes Stake in comparison to almost every other casinos on the internet would be the fact the founders are clear and you can actually available to the listeners. He’s a wide selection of games with more RTP, providing you a better odds of winning at this site instead of most other online casinos.<\/p>\n

Pompeii position games has higher-expenses icons including armor, head protection, and you can chariot, medium-spending signs like gold money plus sword, and lower-spending symbols Good, J, K, ten, and you may Q. This type of icons range from the Roman Kingdom, helmet, armor, gold money, chariot, amulet, blade, Jack, King, Ace, Queen plus the Deadly Volcano. Which have an excellent 96% RTP, so it discharge provides numerous symbols you to lead to other victories.<\/p>\n

For the a significant mention, Pragmatic Play is actually full of slots centered on a very comparable gameplay. To have 100x the latest share, buy the vintage function, and for 300x the brand new risk, purchase the alternative towards doubled earn multiplier. After every profitable spin, the fresh new successful combinations is given out and all symbols removed. 10x and you will 1x the fresh share, since Roman Emperor, armor, chariot, secure and gold coin can pay anywhere between 0.25x and you can 5x the new stake.<\/p>\n

Spreaders don’t need to arrive next to both or for the a specific buy from remaining to right like other icons carry out. For all most other signs but scatters, that it symbol can simply appear on reels 2 and you will 4. These include wilds, scatters, multipliers one to endure up, and you will a free spins bullet that may be most profitable. The new post on Pompeii Slot talks about lots of entertaining provides that will be supposed to create each online game more enjoyable. For the latest and you may educated position people, the newest mixture of inspired reports and you can attempted-and-real slot qualities was a treat. Which game’s visual appeal and you may regular payouts and you will added bonus series go in conjunction, providing participants both artwork and concrete perks.<\/p>\n

Centered on all of our directory of finest web based casinos ranks all of them for the the top ranks<\/h2>\n

According to number of scatters having triggered the newest totally free revolves you may be rotating 10, fifteen otherwise 20 minutes vbet<\/a> for free. Sure, after you register within local casino, your account is replenished, you can play for a real income, and you’ll located actual winnings. To pursue extreme earnings, participants have to carry out an account, put fund, and you can play with its actual harmony. However, the brand new functions which club offers are very well-defined to help make the procedure of stake possibilities as basic because the regarding game play.<\/p>\n

RTP (Return to User) suggests just how much a video slot will pay over to big date compared to any or all wagers which have been produced. The fresh new wide range of wagers suits both casual users and you will big spenders, as well as the cellular-friendly framework makes it easier for much more individuals to accessibility. It\ufffds obvious that most anyone trust the game since it’s very preferred within the managed casinos. Culture buffs and those who have to enjoy harbors that have tons out of have will both like the means it’s produced.<\/p>\n

The newest crazy symbol during the Pompeii foot game ‘s the erupting volcano symbol, and it may choice to every other icon except the brand new nuts symbol to form successful combinations. All of the base video game earnings in the list above try increased inside the kind once you add more loans getting gambled for every twist. Aristocrat ingrained Pompeii with quite a few of your organization’s most popular gameplay has, like the presence out of crazy symbols, spread out symbols, free revolves, bonus game, and multipliers. This is just an ante wager, also known as the benefit Shell out element into the of many Aristocrat slot headings, and that entitles professionals so you’re able to the full complement from extra video game and you will more profits.<\/p>\n

Certain online casinos offer personal prizes to own gambling towards penny harbors on the a smart device, as well as 100 % free spins. Create an on-line local casino, unveiling financial pointers which will make an account. Minimal maximum is actually 0.01, enabling participants to enjoy some aspects, storylines, and extra have.<\/p>\n

No matter what program, this game fits people screen resolution while you are getting brush picture since the well as easy regulation. Online Pompeii position games pulls Canadian local casino fans due to the versatile\/book gameplay. Pompeii’s Reel Power increases gameplay independence, getting a substitute for antique payline habits. It\ufffds ideal for beginners and you can experienced people which find investigations methods or enjoy particularly this alternatives limited by recreation.<\/p>\n

The new A great, K, Q, J and 10 signs can pay between 0<\/h2>\n

The fresh RTP functions as an excellent metric indicating what kind of cash users is also greeting successful back on game through the years. Signs depicting natures secret show up on reels 2 to help you 6 standing in for every except the fresh new Spread out symbol to help make successful combinations. Having fun with an effective Megaways program it offers doing 117,649 a method to victory spread around the six reels taking potential for effective combinations. They give you a peek for the moments in which strategy, chance and you can video game provides such as totally free revolves and you may cascading reels already been to one another to send unbelievable payouts. It is far from a random matter; it symbolizes big gains having players who’re after exciting wins exhibiting the latest online game high risk as well as the thrilling suspicion away from Pompeiis latest weeks. They look alike, however in the fresh bad version you’ll get smaller added bonus enjoys and reduced multipliers the fresh local casino removes their greatest victories.<\/p>\n

Penny ports make it professionals so you’re able to wager at the very least one cent each choice range in the online casinos. She closely observe launches away from leading video game studios, determining exactly how modern provides and you may construction manner effect gameplay. Mark try a gambling establishment and you may harbors pro which have a powerful interest to the gameplay auto mechanics and performance analysis. The newest Megareels extension ability and you may tumble auto technician perform function just as designed, and for players particularly trying to Megaways motion, both enjoys manage admirably.<\/p>\n","protected":false},"excerpt":{"rendered":"

Admirers away from marine-themed harbors will love Big Bass Bonanza, which provides the opportunity to reel inside the larger gains having its fun fishing theme. Each other video game provide a great and you can white-hearted gaming feel that is good for players of all types. If you value ports\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-113980","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/113980","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=113980"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/113980\/revisions"}],"predecessor-version":[{"id":114018,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/113980\/revisions\/114018"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=113980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=113980"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=113980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}