/* 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":65865,"date":"2026-05-22T11:02:25","date_gmt":"2026-05-22T11:02:25","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=65865"},"modified":"2026-05-22T11:02:28","modified_gmt":"2026-05-22T11:02:28","slug":"the-fresh-new-totally-free-dragon-styled-position-game-usually-require-no-install-and-you-may-zero-subscription-to-tackle-all-of-them","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/the-fresh-new-totally-free-dragon-styled-position-game-usually-require-no-install-and-you-may-zero-subscription-to-tackle-all-of-them\/","title":{"rendered":"The fresh new totally free dragon styled position game usually require no install and you may zero subscription to tackle all of them"},"content":{"rendered":"

This will give you several free spins and increase the possibility away from striking larger gains! Exactly what kits Dragon Tower apart from other ports was its desire in order to outline and engaging storytelling elements woven on the gameplay. Simultaneously, the new game’s volatility implies that both careful members and you will large-rollers discover something to love-there is always a component of shock waiting coming soon. When triggered, it can redouble your earnings up to 10x, while making actually small payouts feel just like jackpot victories!<\/p>\n

You never know, maybe you will discover a new love for dragons and want to keep to relax and play these types of harbors forever! It is ideal for anyone who desires experience the thrill out of slaying a great dragon without having any real exposure. And you may who knows \ufffd maybe you can open the key to profitable huge within games. The newest game’s backdrop, featuring its blue dragon balances, kits the new phase for a magical travel.<\/p>\n

If you’d like Dragon Spin, you will likely enjoy other free position game<\/h2>\n

Hence, in comparison to a good twenty three-reel slot games, 5-reel slots function much more reels and you may paylines, while making their payouts more frequent. Regardless of the kind of dragon-styled slots you select, every one of them has its own novel enjoys, incentives, that’s well worth to play. According to advice on the elite players, just before elizabeth to experience, view its payment rates and you may games recommendations. When to tackle slot games with similar templates will get the harmful and you can fearless operate rewarded that have rich profits and you can completely new attributes of dragon slot game.<\/p>\n

The latest game play is not difficult and it doesn’t feature people incentives very<\/h2>\n

Whenever to relax and play Dragon Twist slots online, remember that your own gains are derived from your choice count. When you’re to play Dragon Spin for real currency, it will likewise is a modern jackpot you to the audience is sure you can find tempting. And if this occurs, you will see up to 10 wilds and additional novel features like the secret stacked icon for additional earnings.<\/p>\n

Dragon Twist offers a different position experience with its entrancing themes and you may enjoyable incentives. It position is actually a tour, an opportunity to look into a world of dream sweet bonanza 1000 kasino<\/a> if you are spinning to have prospective wins. Totally free spins prevent when no totally free revolves are or immediately after 113 100 % free revolves was basically starred. If the Money Golf balls Added bonus try caused in the legs means, the bucks Balls Incentive container really worth resets in order to 5. The fresh new Wonders Secrets Dragon slot powered by IGT performs on a 5 x 4-reel grid which have 50 paylines; it offers 5 extra has and you may 5 jackpots. Running on the new Bally Technology software, Twice Dragon is a great Asian-styled discharge with a couple out of incentives in store.<\/p>\n

You can easily go huge gains if you choose limitation bets however you carry out chance dropping a great deal doing this as well. A lot of the dragon styled slots on the well known designers features a keen RTP in excess of 95%. The fresh new layout differs to many of the most other dragon styled ports video game however you continue to have 5 reels and up so you’re able to forty paylines. This is a good appearing 5 reel dragon inspired ports game which has high quality image and you will sound clips.<\/p>\n

With many different templates and fascinating has, dragon harbors try a treasure-trove from fun. This type of online game give 100 % free have fun with no down load requisite, making certain everybody is able to diving for the excitement. Thank you for visiting the fresh flaming world of dragon-themed position video game, in which mythical animals and you may enchanting wins expect! Mention spins from the China because you come across purple, eco-friendly and you may blue Koi seafood that promise so you’re able to prize purple victories. Rule the fresh belongings that have an iron hand and you will a super controls packed with perks.<\/p>\n

Perhaps you have realized regarding video Delighted and you will Successful is actually an aesthetically extremely video game that have profitable progressive jackpot added bonus possess, unique Chinese icons, and you can timely-paced game play. Select the right casino to you personally, do a merchant account, deposit currency, and start to relax and play. Log on otherwise Donate to have the ability to see your liked and recently played video game. Vegas-layout gambling enterprise harbors having jackpots, competitions, and you can perks<\/p>\n

The fresh RTP price that ways how the video game will pay out to the ball player is decided at the %, that is method more than the latest industry’s mediocre. Lowest volatility ports for example 888 Dragons are recognized for offering a great deal off repeated gains having brief cash honours. You might choose Autoplay and pick ranging from ten and you may one,000 automatic revolves if you are tired of simply clicking the brand new Spin option to make the new reels. Any time you get a hold of an internet casino to try out 5 Dragons, investigate bonus now offers it provides.<\/p>\n

Their consideration would be to browse the laws and regulations to possess betting incentives before you use the advantage. You’ll need to discover slot’s diet plan or info area while the you play Dragon’s Fortune Strength Reels after you have logged into your gambling enterprise membership and ultizing the real currency setting. You should check by yourself to ensure you may be playing at the a good local casino that has the finest type of Dragon’s Fortune Fuel Reels. So it demonstrates to you why it’s important to understand that you are to tackle the favorable RTP setting regarding Dragon’s Chance Fuel Reels one to boosts your earn percentage by as much as one.01% in place of the fresh new substandard RTP.<\/p>\n

Antique pictures including an excellent lotus rose, firecrackers, the brand new happy fish and you may frog have a tendency to for each getting well worth many much more, because greatest gains come from the newest dish, and therefore output 8,000 gold coins at the very least bet regarding 160 gold coins for every spin. Brilliant and ambitious high card symbols afford the reduced money victories, however the number said depends on and therefore range style you have got chosen. Like many of your own current Novomatic harbors, it’s also cellular optimised and you may really works really well better across the all of the programs.<\/p>\n

RTP is the portion of total bets a position manage return to the ball player over time. They influence potential efficiency towards strike frequency away from successful revolves and also the sized profits. In addition it appeals for the versatility across the 10 contributing computers and increased compatibility configurations. The excess jackpot delivers more profitable possibility, matching a 95.2% RTP, highest volatility, and versatile paylines.<\/p>\n

Unique symbols like wilds and you can scatters normally substitute otherwise result in incentive series, increasing the likelihood of creating profitable combos. The video game employs a predetermined number of paylines, which have gains computed in line with the amount of coordinating symbols and you will its respective opinions. They put range and you may thrill, while the for each symbol provides some other opinions and can bring about individuals game have.<\/p>\n","protected":false},"excerpt":{"rendered":"

This will give you several free spins and increase the possibility away from striking larger gains! Exactly what kits Dragon Tower apart from other ports was its desire in order to outline and engaging storytelling elements woven on the gameplay. Simultaneously, the new game’s volatility implies that both careful members\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-65865","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/65865","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=65865"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/65865\/revisions"}],"predecessor-version":[{"id":65866,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/65865\/revisions\/65866"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=65865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=65865"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=65865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}