/* 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":64448,"date":"2026-05-22T09:48:35","date_gmt":"2026-05-22T09:48:35","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=64448"},"modified":"2026-05-22T09:48:37","modified_gmt":"2026-05-22T09:48:37","slug":"the-newest-totally-free-dragon-themed-slot-online-game-usually-need-no-down-load-and-you-will-no-registration-to-relax-and-play-all-of-them","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/the-newest-totally-free-dragon-themed-slot-online-game-usually-need-no-down-load-and-you-will-no-registration-to-relax-and-play-all-of-them\/","title":{"rendered":"The newest totally free dragon themed slot online game usually need no down load and you will no registration to relax and play all of them"},"content":{"rendered":"

This can offer your several 100 % free revolves and increase your chances regarding hitting larger victories! What establishes Dragon Tower apart from almost every other slots are the desire to detail and you may engaging storytelling factors woven in the game play. Simultaneously, the latest game’s volatility ensures that one another cautious people and you may large-rollers find something to enjoy-often there is a component of amaze waiting coming soon. When caused, it will re-double your profits up to 10x, and make actually more compact earnings feel just like jackpot victories!<\/p>\n

That knows, perhaps one can find a different sort of love for dragons and wish to keep to experience these slots permanently! It\ufffds ideal for whoever desires possess thrill regarding slaying an effective dragon without any real risk. And you may that knows \ufffd possibly you are able to discover the secret to successful huge within games. The fresh new game’s background, with its bluish dragon balances, kits the brand new phase having an awesome excursion.<\/p>\n

If you prefer Dragon Twist, you will likely see almost every other free position game<\/h2>\n

Ergo, when compared to a 3-reel position game, 5-reel slots function much more reels and you may paylines, to make its payouts more frequent. No matter what sort of dragon-themed slots you choose, all of them has its own book have, bonuses, which can be worth to relax and play. According to the suggestions from the elite people, just before elizabeth to tackle, look at its commission cost and you may online game ratings. When playing slot video game with the exact same layouts will have their risky and you will daring operate rewarded that have steeped winnings and you may new features of dragon position games.<\/p>\n

The fresh new gameplay is simple and it also doesn’t function people incentives really<\/h2>\n

Whenever playing Dragon Twist ports on the internet, remember that your own gains derive from your own choice amount. When you’re to relax and play Dragon Twist for real currency, it will include a modern jackpot that we’re sure your are able to find tempting. And when this happens, you will see around ten wilds and additional novel have like the secret piled icon for additional winnings.<\/p>\n

Dragon Twist even offers a different sort of position experience in the entrancing online casino Sugar Rush<\/a> themes and you may fun bonuses. So it position was an adventure, a chance to look into a world of fantasy while you are spinning having potential wins. 100 % free spins prevent whenever zero totally free spins are otherwise shortly after 113 100 % free spins were played. In the event that Money Golf balls Extra are brought about inside the feet function, the cash Testicle Bonus container value resets so you can 5. The fresh new Miracle Treasures Dragon position run on IGT takes on from a great 5 x four-reel grid which have 50 paylines; it’s got 5 added bonus enjoys and you can 5 jackpots. Run on the newest Bally Technology application, Twice Dragon is a great Far-eastern-themed release using some off incentives available.<\/p>\n

It is possible to get to huge gains for folks who choose for maximum bets nevertheless create chance dropping much doing this as well. A lot of the dragon inspired slots regarding notorious developers provides an RTP of greater than 95%. The brand new design differs to the majority of one’s most other dragon styled harbors game but you have 5 reels or more so you’re able to forty paylines. This is a good appearing 5 reel dragon inspired harbors online game which has top quality graphics and you can sound files.<\/p>\n

Having a number of themes and fascinating have, dragon slots is actually a treasure-trove off enjoyable. These types of video game promote free fool around with zero obtain needed, making sure everybody is able to diving to your adventure. Welcome to the new flaming realm of dragon-inspired position online game, where mythical animals and magical victories anticipate! Speak about spins regarding the Asia because you pick red, green and you may blue Koi seafood which promise so you’re able to prize purple victories. Laws the fresh home that have a metal little finger and a brilliant wheel packed with advantages.<\/p>\n

Clearly regarding the video Happier and Successful are a visually extremely games which have profitable modern jackpot added bonus have, book Chinese signs, and fast-paced game play. Choose the best gambling enterprise to you, perform a free account, deposit currency, and commence to experience. Sign in otherwise Donate to manage to visit your appreciated and you can has just starred online game. Vegas-design local casino harbors having jackpots, competitions, and you can rewards<\/p>\n

The fresh RTP rate you to definitely ways how the online game pays over to the player is determined during the %, that is means greater than the fresh new industry’s average. Low volatility ports like 888 Dragons are recognized for offering much out of regular victories having short bucks prizes. You can pick Autoplay and select anywhere between ten and one,000 automatic spins if you are tired of simply clicking the fresh new Twist switch to show the fresh new reels. Any time you discover an online casino playing 5 Dragons, investigate extra now offers it gives.<\/p>\n

Their priority is to try to browse the laws and regulations for wagering incentives prior to using the benefit. You’ll need to discover the slot’s menu or info area because your gamble Dragon’s Chance Energy Reels once you have signed to your local casino membership and making use of the genuine money means. You can check by yourself to be sure you’re to relax and play at a great gambling establishment that has the top variety of Dragon’s Luck Stamina Reels. This teaches you as to why it is important to understand that you\ufffdre to tackle the favorable RTP form away from Dragon’s Chance Strength Reels one increases your victory payment by as much as 1.01% in the place of the latest substandard RTP.<\/p>\n

Antique photo particularly a great lotus flower, firecrackers, the new fortunate seafood and you may frog will each end up being well worth many a lot more, since best victories come from the latest dish, and that production 8,000 coins at the very least stakes from 160 gold coins for each twist. Brilliant and you will bold large card icons pay the quicker coin victories, nevertheless the amount reported relies on and therefore line style you have got chosen. Like other of one’s current Novomatic harbors, it is also mobile optimised and you will work very well well all over every systems.<\/p>\n

RTP is the portion of overall wagers a position do go back to the player through the years. It dictate possible output to your hit regularity out of winning spins plus the sized winnings. In addition, it is attractive because of its liberty round the 10 contributing machines and you may increased being compatible settings. The other jackpot brings even more winning chances, complimentary a great 95.2% RTP, higher volatility, and versatile paylines.<\/p>\n

Unique signs including wilds and you may scatters can also be substitute otherwise result in bonus series, enhancing the likelihood of developing winning combos. The overall game employs a predetermined number of paylines, which have gains computed in accordance with the number of matching icons and you will the respective beliefs. They create diversity and you may thrill, as the for every single icon has some other values and can cause individuals online game has.<\/p>\n","protected":false},"excerpt":{"rendered":"

This can offer your several 100 % free revolves and increase your chances regarding hitting larger victories! What establishes Dragon Tower apart from almost every other slots are the desire to detail and you may engaging storytelling factors woven in the game play. Simultaneously, the latest game’s volatility ensures that\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-64448","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/64448","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=64448"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/64448\/revisions"}],"predecessor-version":[{"id":64449,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/64448\/revisions\/64449"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=64448"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=64448"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=64448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}