/* 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":66029,"date":"2026-05-22T11:20:21","date_gmt":"2026-05-22T11:20:21","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=66029"},"modified":"2026-05-22T11:20:22","modified_gmt":"2026-05-22T11:20:22","slug":"the-fresh-new-free-dragon-styled-position-video-game-constantly-require-no-down-load-and-you-will-zero-subscription-to-try-out-them","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/the-fresh-new-free-dragon-styled-position-video-game-constantly-require-no-down-load-and-you-will-zero-subscription-to-try-out-them\/","title":{"rendered":"The fresh new free dragon styled position video game constantly require no down load and you will zero subscription to try out them"},"content":{"rendered":"

This will grant your several totally free revolves while increasing your chances regarding striking huge wins! What establishes Dragon Tower aside from almost every other harbors try its interest to detail and you may engaging storytelling factors woven on gameplay. Simultaneously, the brand new game’s volatility implies that both careful members and you may large-rollers find something to love-often there is an element of treat prepared just around the corner. Whenever triggered, it can re-double your profits as much as 10x, making also modest winnings feel like jackpot victories!<\/p>\n

Who knows, maybe you’ll discover a different sort of love for dragons and wish to keep to try out this type of ports forever! It\ufffds perfect for anybody who desires possess adventure from slaying a great dragon with no real chance. And you can who knows \ufffd perhaps you are able to open the key to successful large in this video game. The new game’s backdrop, having its bluish dragon bills, sets the brand new stage to own a magical travels.<\/p>\n

If you prefer Dragon Spin, you will probably take pleasure in almost every other totally free position game<\/h2>\n

Therefore, when comparing to good twenty three-reel position games, 5-reel slots feature much more reels and you can paylines, making its profits more frequent. Regardless of the type of dragon-inspired ports you choose, each has its own novel have, incentives, that’s really worth to try out. According to the guidance regarding top-notch participants, prior to elizabeth to relax and play, see their payout pricing and you may game reviews. When to try out slot game with similar themes will have their harmful and you may brave work rewarded that have steeped payouts and you can brand new popular features of dragon position games.<\/p>\n

The brand new gameplay is straightforward and it does not feature any incentives extremely<\/h2>\n

When to tackle Dragon Twist slots online, remember that your own gains are based on the choice matter. If you are to play Dragon Spin for real money, it is going to is a modern jackpot you to definitely the audience is sure you will find appealing. And if this occurs, you will see as much as 10 wilds and additional unique possess including the secret stacked icon for extra winnings.<\/p>\n

Dragon Spin also offers a different sort of position experience in its entrancing templates and you will enjoyable bonuses. That it slot was an excursion, a chance to delve into a full world of dream when you are spinning to have prospective wins. 100 % free spins end whenever no totally free revolves will still be otherwise shortly after 113 totally free spins had been Aviatrix spill demo<\/a> starred. If the Money Balls Added bonus are caused during the ft mode, the money Golf balls Added bonus pot well worth resets in order to 5. The latest Secret Treasures Dragon position powered by IGT plays on an effective 5 x 4-reel grid having 50 paylines; it offers 5 incentive has and you may 5 jackpots. Running on the latest Bally Technologies app, Double Dragon is a great Far-eastern-inspired release with a couple from bonuses in store.<\/p>\n

You can easily reach huge wins for those who opt for limit bets however you manage exposure shedding a lot doing so too. Most of the dragon inspired harbors regarding the notorious designers possess an RTP of more than 95%. The new concept is different to most of your almost every other dragon themed harbors games however still have 5 reels or over so you can forty paylines. This is a good looking 5 reel dragon themed harbors game that has high quality picture and you can sounds.<\/p>\n

With a number of templates and fascinating provides, dragon harbors was a treasure trove of fun. Such game give 100 % free fool around with zero download requisite, making sure everybody is able to dive towards excitement. Thank you for visiting the brand new fiery arena of dragon-inspired slot games, in which mythical pets and you can magical wins loose time waiting for! Discuss spins regarding the Asia because you come across red-colored, environmentally friendly and you will blue Koi fish which promise in order to reward purple victories. Code the fresh new home having a metal hand and you will a super wheel loaded with advantages.<\/p>\n

As you can plainly see from the video clips Happier and you may Successful was a visually awesome online game which have financially rewarding modern jackpot incentive has, unique Chinese symbols, and timely-paced game play. Select the right casino to you personally, manage a free account, deposit money, and begin to tackle. Sign in otherwise Donate to have the ability to visit your preferred and has just played game. Vegas-build gambling establishment slots which have jackpots, competitions, and rewards<\/p>\n

The newest RTP speed one means how the game will pay out to the player is decided at %, that is method greater than the brand new industry’s average. Lower volatility harbors like 888 Dragons are notable for providing a great deal out of frequent wins with small dollars awards. You could decide for Autoplay and pick ranging from ten and one,000 automated revolves if you are fed up with simply clicking the brand new Twist option to turn the fresh new reels. Any time you pick an internet local casino to play 5 Dragons, browse the bonus has the benefit of it offers.<\/p>\n

Their consideration should be to read the regulations to possess wagering bonuses before you use the bonus. You’ll want to discover slot’s eating plan or facts part because your gamble Dragon’s Chance Power Reels once you have signed to your gambling establishment membership and using the true currency means. You can check by yourself to be certain you’re to play within an excellent gambling establishment with the top sort of Dragon’s Luck Electricity Reels. This shows you as to why it’s vital to find out that you are to play the great RTP means of Dragon’s Chance Fuel Reels that increases the profit fee by as much as 1.01% in place of the new lower RTP.<\/p>\n

Old-fashioned photo such as a good lotus rose, firecrackers, the newest lucky fish and you will frog usually each become well worth much more much more, since finest wins are from the fresh dish, which returns 8,000 gold coins at the minimum bet off 160 coins for each twist. Bright and you may challenging higher credit symbols afford the reduced coin victories, but the amount claimed utilizes hence line structure you have got chosen. Like other of your own latest Novomatic ports, furthermore mobile optimised and really works well really all over all networks.<\/p>\n

RTP is the percentage of overall bets a slot create come back to the ball player over time. It dictate prospective output to your hit frequency away from winning spins and the measurements of earnings. Additionally appeals because of its liberty around the 10 contributing computers and you will increased compatibility options. The other jackpot delivers additional effective chance, matching good 95.2% RTP, highest volatility, and versatile paylines.<\/p>\n

Unique signs for example wilds and you can scatters can be alternative otherwise lead to extra rounds, improving the possibility of creating winning combinations. The online game utilizes a predetermined amount of paylines, with wins computed in accordance with the number of matching signs and its particular viewpoints. They create assortment and you may thrill, as the for each symbol have other philosophy and will trigger various online game features.<\/p>\n","protected":false},"excerpt":{"rendered":"

This will grant your several totally free revolves while increasing your chances regarding striking huge wins! What establishes Dragon Tower aside from almost every other harbors try its interest to detail and you may engaging storytelling factors woven on gameplay. Simultaneously, the brand new game’s volatility implies that both careful\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-66029","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/66029","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=66029"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/66029\/revisions"}],"predecessor-version":[{"id":66030,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/66029\/revisions\/66030"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=66029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=66029"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=66029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}