/* 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":127346,"date":"2026-05-25T13:29:10","date_gmt":"2026-05-25T13:29:10","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=127346"},"modified":"2026-05-25T13:29:10","modified_gmt":"2026-05-25T13:29:10","slug":"max-profits-100-go-out-since-the-added-bonus-finance-that-have-10x-betting-needs-to-be-finished-in-this-seven-days","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/max-profits-100-go-out-since-the-added-bonus-finance-that-have-10x-betting-needs-to-be-finished-in-this-seven-days\/","title":{"rendered":"Max profits ?100\/go out since the added bonus finance that have 10x betting needs to be finished in this seven days"},"content":{"rendered":"

The fresh Pearl Eden Chart is another nuts incentive obtainable in which mystical mermaid harbors games<\/h2>\n

The new starfish production 1,000x their wager for five icons, the fresh anchor perks 400x your choice, plus the appreciate bust features 250 gold coins to own a mix of 5 icons. No \ufffd there’s nothing fishy about this mermaid, but their tail, and you will she welcomes slot members of the many money and you will experience to help you sign up their unique in her own hunt for treasure. Online game such Strange Sea Secrets promote high-volatility skills to your chances of gains exceeding 5,000x your own risk while in the extra cycles. Capture Huge Trout Bonanza 1000 Ports, such-it angling-themed online game provides for so you can 20 100 % free revolves, numerous extra have, as well as the same entertaining gameplay that renders the brand new repaid version very prominent.<\/p>\n

When comparing harbors indication-upwards promotions, work on exactly how effortless it\ufffds to utilize and convert the brand new extra for the withdrawable profits. It\ufffds a platform which enables profiles to tackle more game and you may go into tournaments to victory honours and you can benefits. The brand new Could possibly get Pond Pass is actually live, and that date you could… Today, we will see what Destiny is perfectly up to, talk about the online game, and maybe you are able to actually victory anything to the Wheel out of Fortune. There are a selection from totally free games to pick from, therefore regardless of the your favorite online game are, there’s sure to feel a trend that help keep you amused.<\/p>\n

Wilds, scatters, and expanding signs manage fascinating game play, if you are totally free spins and you can haphazard multipliers raise advantages. There are about three incentive series (two of that are totally free spins) you could stimulate from the gathering insane globes. After you build a deposit, you can easily have fun with the slot for real currency. By simply trying the position in place of paying a penny, become familiar with tips play it and discover if you would like what exactly is to be had. That have three some other bonus rounds, it will definitely charm both the brand new and you will experienced users.<\/p>\n

Steady slots depict tried-and-checked out classics, whilst the volatile of those would be popular however, brief-resided<\/h2>\n

Let’s dive into the mysterious field of mermaids and explore particular of the very popular mermaid inspired online slots games. Move as well as such aquatic beauties as you twist the fresh reels to see hidden secrets, added bonus rounds, and you can totally free revolves. Such gorgeous 1 \/ 2 of-people, half-fish pets provides entertained players for decades making use of their romantic charm and you will mystical powers. Mystical Mermaid King Ports also provides wonderful picture and you will great sound effects, that help keep you entertained non-stop from your personal household. Prepared to exchange spirits having saltwater riches?<\/p>\n

88 Dragon Nice Bonanza Christmas time Egyptian Fortunes Viking Runes The cost Excellent Larger https:\/\/stanleybet-casino.be\/<\/a> Bamboo Dry otherwise Live Transformers Race getting Cybertron There are many most other categories and you can slot game themes to try out such as the wants from Old Egypt, explorer, Christmas time, fruit servers, Halloween party, and you will Superhero and you may comic. Instead of being forced to battle from legs games going to huge victories, you could do thus in the 100 % free revolves bonus bullet or go right to the newest jackpot.<\/p>\n

Every lookup prominence information is collected month-to-month through KeywordTool API and you may kept in our loyal Clickhouse database. This will help pick whenever attention peaked \ufffd possibly coinciding which have major wins, marketing and advertising ways, otherwise extreme profits being common online.<\/p>\n

The fresh new wild enjoys are in addition to symbol removals on the incentive levels, every adding to specific truly decent victories. You can unravel the newest treasures of your mermaids as well as their domestic \ufffd the latest strong water. This position online game try specifically made getting users who do not see bonus series and other has, but prefer to simply spin the brand new reels and you will sit back and you will observe the latest profits move for the. There’s absolutely no incentive icon otherwise extra round within this online game, there are no 100 % free revolves or other bonus provides.<\/p>\n

It slot is perfect for players whom want to speak about the new mysteries of water and also have the opportunity to winnings huge. This is the latest under water world of Happy Mermaid Position by the Swintt, where you will be in the middle of gorgeous mermaids, attractive fish, and you may precious pearls. And you can let’s remember regarding the fun and you will colorful icons such shells, starfish, and also e’s style is actually good twenty-three-twenty three grid with 27 betways, enclosed by a beautiful under water vistas having fish, octopus, whales, or any other ocean pets. Home around three or higher pearl scatters in order to result in totally free spins, in which most of the gains is actually twofold.<\/p>\n

Simultaneously, tying inside secrets and you will huge victories creates an easy transition on casino betting industry. Plan pearls pearls pearls, fun and you can impressive jackpot victories in the wild Pearls mermaid games free online at Gambino Harbors! Insane Pearls 2 include several wanted incentive provides to possess online slots games admirers.<\/p>\n

Like many online game to my list of lowest volatility harbors, Mermaids Hundreds of thousands can honor repeated brief victories. These types of wins spend 3x inside Free Spins, in which all free spins will be retriggered. We have been a modern and creative betting application supplier providing as well as in charge feel for these over 18. The brand new Gold fish stands for Wild, it does alternative the symbols but Scatter and you can increases the fresh new earn when substituting.<\/p>\n

See insane symbols, spread out symbols, and you will a plus bullet to possess promising perks. The new starfish will pay one,000x the wager for five signs, the brand new anchor will pay 400x the choice for 5 signs, and also the cost breasts will pay 250 gold coins for 5 icons. This really is in addition to the wild icon on the game, that it really stands set for all the other icons, but the bonus, to create more possible victories. To evolve your own \ufffdmoney value’, click the plus and you will without signs on the starfish to decide the very least money from \ufffd0.05 and you may a maximum coin of \ufffdone.00.<\/p>\n

One of the liquids you’ll find an array of position stones, hidden strong on the ocean and status pleased towards exotic flooring. Water are navy blue and you are quite a distance away from the exterior but there is nonetheless an air away from strange peace almost everywhere. The new integrated reel symbols range from the pink orb, the fresh new bluish orb, a great mermaid, shellfish, a golden bangle, a blue jar, snails and you will poker symbols. Of course, it is within the water but do they simply swimming to such as ordinary fish or perhaps, he’s stone-established belongings such human beings and you can spend time to the Tik Tok?<\/p>\n

When you are extra has and simple gameplay try nice have, online slot couples often look out for the new RTP and you can volatility of the position incase you’ll find people jackpots offered. Position extra has was an excellent help position people that is the reason he could be highly wanted. Like with most other IGT gambling establishment headings, Strange Mermaid game has a standard design with many interesting provides. The overall game enjoys sea-styled icons for example shed boats, value chests, attractive mermaids, seahorses, starfish, dolphins, and you can shells. There is two totally free revolves and you can four jackpot awards which can promote huge victories even if you will be blank into the betting steps. This type of professionals enjoy added bonus enjoys at best-ranked online casino sites for example totally free revolves and multipliers that may enhance their chances on the reels.<\/p>\n","protected":false},"excerpt":{"rendered":"

The fresh Pearl Eden Chart is another nuts incentive obtainable in which mystical mermaid harbors games The new starfish production 1,000x their wager for five icons, the fresh anchor perks 400x your choice, plus the appreciate bust features 250 gold coins to own a mix of 5 icons. No \ufffd\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-127346","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/127346","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=127346"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/127346\/revisions"}],"predecessor-version":[{"id":127352,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/127346\/revisions\/127352"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=127346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=127346"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=127346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}