/* 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":115203,"date":"2026-05-25T11:58:48","date_gmt":"2026-05-25T11:58:48","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=115203"},"modified":"2026-05-25T11:59:30","modified_gmt":"2026-05-25T11:59:30","slug":"here-are-a-few-our-very-own-fun-article-on-pompeii-megareels-megaways-slot-by-pragmatic-enjoy","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/here-are-a-few-our-very-own-fun-article-on-pompeii-megareels-megaways-slot-by-pragmatic-enjoy\/","title":{"rendered":"Here are a few our very own fun article on Pompeii Megareels Megaways slot by Pragmatic Enjoy!"},"content":{"rendered":"

Fans away from marine-styled ports would love Big Bass Bonanza, which supplies the opportunity to reel during the big victories with its enjoyable fishing motif. Both games provide a great and white-hearted betting sense that’s ideal for professionals of all types. If you enjoy ports with a little jokes, Piggy Commission will joy.<\/p>\n

Because the online game can be obtained in the numerous casinos on the internet, chances of profitable might possibly be shorter. After identifying one to phrase you’re going to be served with the latest RTP since 96% and\/or RTP lay during the %. The greatest RTP mode from 96% are often display screen if you are not logged for the or if perhaps you are having fun with trial setting. To begin, get on their playing membership and make certain you might be to experience the true money settings and next, begin Pompeii Megareels Megaways, the brand new slot online game.<\/p>\n

Just what separates Stake when compared to almost every other web based casinos is the fact its creators is transparent and individually open to its audience. He has got various online game with increased RTP, providing you a far better odds of profitable at this site rather than almost every other web based casinos.<\/p>\n

Pompeii slot online game provides highest-purchasing icons particularly armour, helmet, and you can chariot, medium-expenses signs for example silver coin and sword, and you will reasonable-expenses signs A, J, K, ten, and you will Q. This type of symbols include the Roman Empire, helmet, armour, gold coin, chariot, amulet, sword, Jack, King, Ace, Queen while the Deadly Volcano. Having an effective 96% RTP, so it release provides numerous signs one end in various other victories.<\/p>\n

Towards a more major notice, Wageon<\/a> Pragmatic Enjoy are loaded with harbors predicated on an incredibly similar gameplay. To own 100x the fresh share, find the classic form, and 300x the brand new risk, purchase the choice towards twofold winnings multiplier. After each effective twist, the brand new successful combos is actually paid out and all of icons got rid of. 10x and you can 1x the latest stake, as the Roman Emperor, armour, chariot, secure and you can gold coin will pay between 0.25x and you can 5x the fresh stake.<\/p>\n

Spreaders don’t need to show up alongside one another otherwise within the a particular order from remaining to help you correct like other signs carry out. For everybody other symbols except scatters, so it icon can simply appear on reels 2 and you can 4. These are generally wilds, scatters, multipliers one to endure right up, and you may a free of charge revolves bullet which can be most effective. The new article on Pompeii Position talks about lots of interactive have which can be designed to generate for each online game more enjoyable. Both for the brand new and you may experienced slot members, the newest combination of themed stories and experimented with-and-true slot characteristics could be a delicacy. It game’s looks and normal earnings and you may incentive rounds wade hand in hand, giving users one another artwork and you may concrete advantages.<\/p>\n

According to the list of ideal online casinos ranks them in the the major positions<\/h2>\n

Depending on the level of scatters that have caused the new totally free revolves you might be spinning ten, 15 or 20 times free of charge. Yes, once you check in in the gambling enterprise, your bank account would be replenished, you could potentially play for a real income, and you may located real profits. To pursue tall winnings, members need certainly to perform a merchant account, deposit finance, and you can have fun with the genuine harmony. In spite of this, the newest features this pub carries are well-discussed to make the procedure for stake alternatives as easy because regarding gameplay.<\/p>\n

RTP (Come back to Athlete) suggests how much cash a slot machine will pay out to go out compared to all wagers which were produced. The brand new few wagers suits both relaxed users and high rollers, and the cellular-amicable design makes it much simpler for much more individuals access. It\ufffds obvious that many anybody trust this video game while the it is rather popular within the regulated gambling enterprises. Society enthusiasts and those who must play harbors that have loads from provides tend to both including the method it is produced.<\/p>\n

The latest nuts icon inside Pompeii legs online game is the erupting volcano symbol, also it can substitute for any other symbol except the fresh insane symbol to make successful combos. The base online game earnings mentioned above are increased for the form when you add more credits becoming wagered each twist. Aristocrat ingrained Pompeii with many of your own organization’s hottest game play has, like the presence of nuts icons, spread out icons, totally free spins, incentive games, and you can multipliers. This is just an enthusiastic ante choice, called the power Spend function into the of numerous Aristocrat position headings, hence entitles participants in order to the full complement away from bonus online game and a lot more profits.<\/p>\n

Some online casinos render private honors for gaming to the penny harbors for the a smart device, together with free revolves. Create an on-line gambling establishment, starting financial recommendations to help make a free account. Minimal maximum was 0.01, making it possible for members to love some auto mechanics, storylines, and additional enjoys.<\/p>\n

No matter what system, the game suits people display screen resolution when you’re getting clean picture since the really as easy regulation. Online Pompeii position game brings Canadian gambling establishment admirers due to its flexible\/book game play. Pompeii’s Reel Power increases gameplay freedom, providing an alternative to old-fashioned payline patterns. It is best for novices and you can experienced participants which search analysis procedures or love this particular options limited by recreation.<\/p>\n

The fresh An effective, K, Q, J and 10 icons pays between 0<\/h2>\n

The newest RTP functions as a great metric demonstrating what kind of cash members is acceptance effective right back regarding the games throughout the years. Signs portraying natures magic appear on reels 2 in order to six position in for most of the except the brand new Spread out symbol in order to make effective combinations. Using an excellent Megaways program it has up to 117,649 an effective way to winnings give round the six reels providing possibilities to own winning combos. They supply a glimpse to your moments in which means, chance and you can games enjoys such 100 % free spins and cascading reels come to each other to deliver epic earnings. It is not a haphazard matter; they shows big victories to own users who’re after fascinating gains featuring the latest video game high risk as well as the exciting suspicion out of Pompeiis last weeks. They look equivalent, but in the brand new bad variation you get less added bonus provides and you will quicker multipliers the fresh gambling enterprise eliminates your own most significant victories.<\/p>\n

Penny ports make it members in order to choice no less than 1 penny for every single wager line for the web based casinos. She directly uses launches out of leading games studios, examining exactly how progressive enjoys and you will construction trend impression gameplay. Draw are a casino and you may harbors expert that have a robust appeal for the gameplay aspects and gratification analysis. The new Megareels extension function and you will tumble auto mechanic carry out form exactly as intended, and players especially trying to Megaways action, one another provides perform admirably.<\/p>\n","protected":false},"excerpt":{"rendered":"

Fans away from marine-styled ports would love Big Bass Bonanza, which supplies the opportunity to reel during the big victories with its enjoyable fishing motif. Both games provide a great and white-hearted betting sense that’s ideal for professionals of all types. If you enjoy ports with a little jokes, Piggy\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-115203","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/115203","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=115203"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/115203\/revisions"}],"predecessor-version":[{"id":115241,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/115203\/revisions\/115241"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=115203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=115203"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=115203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}