/* 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":98274,"date":"2026-05-25T10:36:56","date_gmt":"2026-05-25T10:36:56","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=98274"},"modified":"2026-05-25T10:36:57","modified_gmt":"2026-05-25T10:36:57","slug":"the-advantage-features-during-the-majestic-mermaid-game-make-the-slot-also-a-great-deal-more-pleasing","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/the-advantage-features-during-the-majestic-mermaid-game-make-the-slot-also-a-great-deal-more-pleasing\/","title":{"rendered":"The advantage features during the Majestic Mermaid game make the slot also a great deal more pleasing"},"content":{"rendered":"

Efficient banking ensures that ports register extra profits are already obtainable<\/h2>\n

Which have a keen RTP regarding % and reduced volatility, this online game has the benefit of regular game play that have constant wins. At the same time, the latest Spread symbol \ufffd the fresh Treasure Chest \ufffd leads to the brand new game’s special incentive enjoys.<\/p>\n

If you want high rewards, see put-founded acceptance bonus harbors that have obvious criteria. For each and every ports sign up extra offers an alternative feel, and real worthy of comes from just how with ease you might transfer it on the withdrawable payouts. Quick and legitimate withdrawals make certain that payouts of totally free revolves for the sign-right up is going to be accessed straight away. A highly-planned ports greeting bring allows users to understand more about much more video game and you will offer gameplay instead of additional cost. An educated 100 % free revolves indication-right up revenue are those that enable players to understand more about casino games online versus so many limits.<\/p>\n

The minimum is the one and limit is 100 therefore discover an abundance of slot boss casino official site<\/a> selection for one another low and you may highest betters. There are also the fresh new totally free revolves that you’ll profit in the event the you matches at the very least about three of your icons; there’s anywhere between that and you will 10 free converts waiting to become stated. The newest wild icon will give you a huge award from 2,000 for those who twist five but there is however zero payout to have coordinating three to four.<\/p>\n

Are you looking to explore Mystical Unicorn within the an online gambling establishment rather than affecting your handbag? Strange Unicorn slot regarding WMS was featuring an extraordinary Go back to User (RTP) regarding 96.0% and offering the possible opportunity to safe limit victories to x520. When three or maybe more Scatter signs are available, might result in re also-spins one improve your odds of getting larger victories. The latest Nuts Mermaid icon helps mode winning combos by the substituting to have most other signs, since the Spread icon turns on the main benefit features for even far more ventures. During the Secure & Stream function, your collect Award symbols, which offer cash advantages based on the choice proportions. The bonus online game inside Majestic Mermaid slot was created to keep members involved and offer extra ventures for wins.<\/p>\n

The fresh strange allure of mermaids-half-peoples, half-fish beings with supernatural vitality-brings the perfect backdrop for a keen immersive gaming feel where anything seems you are able to. Yet not, in spite of the fun graphics there can be very little additional enjoys otherwise bonuses and also the play is relatively easy. Profit Huge having Esoteric Slots from the comfort of your property for free!<\/p>\n

So you can strike a winning streak, there is incorporated titles including Gaming Arts’ Pinatas Ole\ufffd, AGS’s Rakin’ Bacon\ufffd, Lightning Box’s 100x RA\ufffd, and you may Aruze’s Dance Panda Chance\ufffd. The best part about the entire round is that all victories feature a twice multiplier that produces a difference in the event your gamer decided to choice a considerably lot of achievements. The player get as much as forty 100 % free revolves if he are fortunate to obtain the extra rounds brought about and you may retriggered.<\/p>\n

When you’re an enthusiast away from dream Vegas harbors, your search ends here. Boasting 4 type of totally free revolves and you will an effective mermaid excitement so you can keep you looking Las vegas ports gifts. Progressive free ports package an equivalent strike since the real-money types, filled with wild icons, scatter pays, and interactive bonus series.<\/p>\n

You can rapidly learn and therefore online game match your to try out design and hence added bonus series offer the best possibility larger gains. That it underwater thrill are certain to get your diving on the fishes (regarding the best method you can) and searching for drowned appreciate. And speaking of winnings, Mermaid Beauty Slot even offers a lot of chances to score large with their incentive has. You to alive matches awaits you each day-take over the fresh new mountain, collect chips for the industry, and you will unlock private perks.<\/p>\n

The largest interest of online game was its totally free revolves ability that have Nuts Multipliers boosting your wins by doing 5x. It uses 5 reels and you will thirty paylines featuring big icons illustrated because of the purple-haired seductive mermaid, dolphins that have wonderful decoration, fantastic bracelets, containers filled with wonderful coins and shells having starfish. Willing to grab a-deep plunge of a lot leagues beneath the sea to find Mermaid’s Silver? To the potential for high wins and an user-friendly style, the video game also offers a variety of excitement and recreation that’s certain to captivate people. Participants is also speak about the online game having 100 % free Mysterious Chance movies harbors, when you find yourself real cash enjoy begins at only 0.20 for every spin, to the solution to choice as much as to possess big spenders trying to large thrills.<\/p>\n

The wins in the incentive round is actually set in the remainder quantity of credit until the added bonus online game has started. Having 20 repaired paylines and a bet set of 0.20 to 100, Mermaid’s Victory & Spin provides all explorer-away from careful swimmers to help you deep-ocean high rollers. Graceful whales, lovely turtles, wonderful crowns, and you may sparkling starfish twist along side screen because calm sound of your own sea guides the adventure. Plunge into the a slot machines dream that have Mermaid’s Win & Spin\ufffd and you will carry on a vibrant under water slots adventure, in which huge gains wait for in game’s crystal-clear waves! The benefit series was in addition to this for the one-fourth and you may buck denomination ???? Higher reappearance!! For the incentive, most of the victories are twofold!<\/p>\n

Appreciate antique slot auto mechanics that have progressive twists and you will enjoyable bonus cycles<\/h2>\n

The fresh slot even offers zero high-risk video game where you can make an effort to enhance the payout without bonus rounds with an excellent multiplier. I have found me holding my personal inhale in the incentive rounds in hopes observe you retrigger. This type of bonuses not only enhance your winnings plus put an pleasing dimensions regarding variability towards online game, ensuring you might be always to the edge of the seat. Since you diving on the unique cycles, you will have a world of wilds, scatters, and you can novel symbols you to boost your possibility of profits. The fresh impress away from Strange Unicorn exceeds their simple game play; their extra enjoys it is get the brand new limelight.<\/p>\n

This type of romantic video game combine gleaming visuals, oceanic soundscapes, and you will phenomenal added bonus provides that produce every spin feel just like an aquatic excitement. At the same time, you can even signup their VIP Plan, get into its slot competitions, and located incentives and advantages as well.<\/p>\n

The sea Richies position is a treasure trove away from enjoyable and you will benefits, and also you wouldn’t need certainly to lose out on the action. Which have free spins, multipliers, and wilds galore, it slot will keep you addicted particularly a seafood for the an excellent range. An element of the icons are a dolphin, an excellent seahorse, good crab, a starfish, and additionally, a mermaid.<\/p>\n","protected":false},"excerpt":{"rendered":"

Efficient banking ensures that ports register extra profits are already obtainable Which have a keen RTP regarding % and reduced volatility, this online game has the benefit of regular game play that have constant wins. At the same time, the latest Spread symbol \ufffd the fresh Treasure Chest \ufffd leads\u2026<\/p>\n

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