/* 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":66539,"date":"2026-05-22T11:47:31","date_gmt":"2026-05-22T11:47:31","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=66539"},"modified":"2026-05-22T11:47:32","modified_gmt":"2026-05-22T11:47:32","slug":"the-fresh-new-100-free-dragon-inspired-slot-game-constantly-require-no-download-and-you-can-no-membership-to-relax-and-play-them","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/the-fresh-new-100-free-dragon-inspired-slot-game-constantly-require-no-download-and-you-can-no-membership-to-relax-and-play-them\/","title":{"rendered":"The fresh new 100 % free dragon inspired slot game constantly require no download and you can no membership to relax and play them"},"content":{"rendered":"

This will give your several totally free revolves while increasing the possibility from hitting huge victories! What set Dragon Tower aside from most other harbors are their focus to help you outline and you may enjoyable storytelling issues woven regarding the game play. At the same time, the new game’s volatility means one another cautious people and you will large-rollers find something to love-there is always an element of amaze prepared just around the corner. When triggered, it does re-double your winnings up to 10x, making also smaller earnings feel like jackpot victories!<\/p>\n

You never know, maybe you will find a new fascination with dragons and want to remain to tackle this type of slots forever! It\ufffds best for anybody who wants to possess adventure off slaying a dragon without having any genuine chance. And you may who knows \ufffd possibly you’ll open the answer to winning big inside games. The fresh game’s background, having its blue dragon balances, set the newest phase having an awesome trip.<\/p>\n

If you like Dragon Spin, you will likely see other free position games<\/h2>\n

Thus, in comparison with a great 12-reel slot video game, 5-reel harbors ability a great deal more reels and you may paylines, making the earnings more regular. Regardless of the sort of dragon-themed ports you select, all of them has its own book provides, bonuses, and is worth playing. According to suggestions on elite members, prior to elizabeth to experience, see its payout costs and game evaluations. When playing slot game with similar templates will receive their hazardous and you can courageous operate compensated that have rich winnings and completely new features of dragon slot video game.<\/p>\n

The new game play is straightforward and it also does not function any bonuses very<\/h2>\n

When to tackle Dragon Spin harbors on line, understand that the gains are derived from your bet amount. If you are to relax and play Dragon Spin for real currency, it will also include a progressive jackpot you to definitely we have been sure you will get tempting. And if this occurs, you will notice as much as 10 wilds and additional novel have such as the secret loaded symbol for extra winnings.<\/p>\n

Dragon Spin also offers a different sort of position knowledge of their entrancing layouts and you may enjoyable incentives. Which slot are an excursion, a way to explore a world of fantasy while you are rotating to own prospective victories. 100 % free spins stop whenever zero 100 % free revolves continue to be otherwise after https:\/\/sweetbonanzagame-no.com\/<\/a> 113 100 % free revolves had been starred. If Currency Golf balls Added bonus is actually triggered inside base form, the money Golf balls Extra container really worth resets to help you 5. The newest Secret Secrets Dragon position run on IGT plays on good 5 x four-reel grid that have 50 paylines; this has 5 added bonus has and you can 5 jackpots. Run on the fresh Bally Innovation app, Double Dragon is an excellent Western-themed release using some regarding bonuses available.<\/p>\n

It is possible to reach larger wins for those who pick limitation wagers however you perform chance dropping much doing this too. A lot of the dragon styled harbors on infamous designers have an enthusiastic RTP in excess of 95%. The newest concept varies to the majority of one’s most other dragon themed harbors games but you still have 5 reels or more to forty paylines. This is an excellent lookin 5 reel dragon inspired slots video game that has quality graphics and you will sounds.<\/p>\n

Which have a number of layouts and you may fascinating enjoys, dragon ports is a treasure-trove of enjoyable. Such game offer free play with no obtain expected, guaranteeing everyone can diving for the adventure. Welcome to the latest fiery field of dragon-inspired slot game, in which mythical creatures and enchanting gains await! Discuss revolves in the Asia because you find purple, eco-friendly and you will bluish Koi fish who promise in order to prize imperial wins. Rule the newest homes which have a metal hand and a super wheel loaded with rewards.<\/p>\n

Perhaps you have realized on the films Pleased and Prosperous try an aesthetically very game that have lucrative modern jackpot incentive provides, book Chinese symbols, and fast-paced game play. Select the right gambling enterprise for your requirements, create a free account, deposit money, and commence to relax and play. Visit otherwise Donate to have the ability to see your appreciated and recently played game. Vegas-design gambling enterprise harbors that have jackpots, tournaments, and you can perks<\/p>\n

The new RTP price you to ways the way the video game will pay out over the player is decided at %, which is way greater than the new industry’s average. Reduced volatility ports such 888 Dragons are recognized for giving such of repeated victories which have brief bucks honours. You could potentially choose Autoplay and select anywhere between 10 and you can one,000 automated spins while you are tired of simply clicking the fresh new Spin button to turn the fresh new reels. Each time you pick an online gambling enterprise to experience 5 Dragons, take a look at incentive has the benefit of it gives.<\/p>\n

The priority is to see the rules for betting bonuses prior to using the advantage. You’ll need to discover slot’s eating plan otherwise details area since the your play Dragon’s Fortune Electricity Reels once you have logged in the gambling enterprise membership and utilizing the true money function. You can examine alone to ensure you may be playing within an excellent gambling enterprise with the top kind of Dragon’s Luck Strength Reels. This explains as to why it’s important to understand that you are to experience the nice RTP mode from Dragon’s Fortune Electricity Reels one to boosts the earn percentage up to 1.01% versus the new lower RTP.<\/p>\n

Old-fashioned photographs including an excellent lotus flower, firecrackers, the latest happy seafood and you can frog tend to for every getting really worth much more even more, while the ideal wins are from the latest dish, hence returns 8,000 gold coins at the very least bet regarding 160 coins for each spin. Vibrant and you may challenging higher credit icons afford the reduced money victories, nevertheless the number claimed depends on which range format you have got picked. Like many of most recent Novomatic slots, it’s also mobile optimised and you can functions very well better all over every networks.<\/p>\n

RTP is the percentage of overall wagers a slot perform return to the player over the years. It determine prospective efficiency to the struck regularity from profitable spins and also the measurements of payouts. In addition, it is attractive for its freedom around the 10 contributing servers and you can improved compatibility configurations. The excess jackpot delivers more effective odds, complimentary a 95.2% RTP, highest volatility, and flexible paylines.<\/p>\n

Unique signs for example wilds and you can scatters is also substitute otherwise end in bonus series, improving the likelihood of building effective combos. The video game makes use of a predetermined level of paylines, that have gains calculated based on the level of complimentary icons and their particular opinions. It put assortment and adventure, since the for every single icon possess various other beliefs and will result in certain games features.<\/p>\n","protected":false},"excerpt":{"rendered":"

This will give your several totally free revolves while increasing the possibility from hitting huge victories! What set Dragon Tower aside from most other harbors are their focus to help you outline and you may enjoyable storytelling issues woven regarding the game play. At the same time, the new game’s\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-66539","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/66539","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=66539"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/66539\/revisions"}],"predecessor-version":[{"id":66540,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/66539\/revisions\/66540"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=66539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=66539"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=66539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}