/* 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":119069,"date":"2026-05-25T13:06:22","date_gmt":"2026-05-25T13:06:22","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=119069"},"modified":"2026-05-25T13:06:23","modified_gmt":"2026-05-25T13:06:23","slug":"of-mythology-and-you-may-history-to-help-you-films-and-character-there-can-be-a-themed-slot-video-game-for-all","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/of-mythology-and-you-may-history-to-help-you-films-and-character-there-can-be-a-themed-slot-video-game-for-all\/","title":{"rendered":"Of mythology and you may history to help you films and character, there can be a themed slot video game for all"},"content":{"rendered":"

These types of templates not only enhance the visual and you can auditory experience but include breadth to the game play, and then make for each session much more immersive and enjoyable. Noted for its straightforward gameplay and you may retro appeal, this type of slot machine game harbors offer a simple yet enjoyable playing sense. Clips slots will be modern development off position online game, offering enjoys including scatters, wilds, and you can numerous paylines one boost full gameplay. The simple game play and you will fewer paylines make classic ports available having novices and everyday professionals, permitting them to enjoy the games without the need for advanced actions.<\/p>\n

At the same time, taking advantage of casino games gadgets like to experience go out announcements and you may losings maximum configurations can help manage in charge vavada onlinekasino<\/a> gambling patterns. The necessity of extra series is dependant on their capability to help you discover advanced signs that come with large multipliers having larger winnings. Particular slots on line United kingdom utilize group shell out aspects, making it possible for users to help you winnings of the getting matching signs anyplace towards grid, incorporating another dimension into the gameplay. Online slots real money United kingdom try laden up with individuals mechanics and you can has you to definitely sign up for another type of and you can entertaining gambling feel. Megaways British slots online provides transformed the net slot betting feel employing unique active reel program.<\/p>\n

Autoplay was designed to give it up around particular criteria, together with bonus round activation, reaching a predetermined losings restrict (a key in charge gambling size in britain), or perhaps the honor away from a modern jackpot. Every Real time Gaming’s Random Matter Turbines (RNGs) read uniform, separate certification of the certified assessment labs, specifically eCOGRA and you will Gaming Labs Global (GLI). This really is evident inside the headings for example Fishin’ Madness, and this exemplify RTG’s dedication to robust tech fundamentals and you can intuitive gameplay, making sure reliable and you can entertaining recreation around the diverse systems. Live Betting (RTG) retains a life threatening, long-condition visibility within the on the web position world, significantly affecting the united kingdom market.<\/p>\n

Offer ongoing however, must be complete inside one week out of claim<\/h2>\n

While the a leading vendor away from online casino games, MansionCasino takes pride inside the providing you a fantastic all the-round sense each time you sign in and you can gamble. All of our service team is obtainable 24\/seven via alive cam on the site by email during the email address protected. I empowered all of us in order to fast care for technical points or effortlessly deal with verifying levels with no reduce. We tailored Donbet to incorporate a totally frictionless cashier experience, allowing you to attention entirely on your gameplay without having any so many concerns.<\/p>\n

The newest come back stands within %, arranged within this a standard business assortment one to balances long-title assumption up against the enjoyment time of a top-volatility experience. In practice, the best consequences often come whenever higher-level symbols people while in the an effective duel round, or when a profile second intersects having multipliers. Video game Aspects Dollars range program Added bonus Feature Duel series which have multipliers Special Signs Nuts, Bucks, Added bonus Volatility Profile Large The structure is made to ensure that multipliers move focus on the a lot fewer however, more significant profits, straightening into the highest-volatility intention.<\/p>\n

A average was 96%, but the top on the internet slot payment percentages try 98% and higher<\/h2>\n

Extremely professionals appreciate such online slots games on the nostalgic be and you can simplified game play. The cash heist-styled slot provides reduced gaming restrictions from ?0.01 in order to ? for every twist, making it a great choice having funds gamblers. The fresh Free Slide added bonus is where the true enjoyable starts, that have an enthusiastic Avalanche feature that applies multipliers of up to 15x, resulting in prospective wins from 37,500x. About fishing thrill, you will have to connect the many icons in order to homes a commission.<\/p>\n

Decide inside, allege & bet ?10+ on the Any ACCA or Choice Builder (2+ selections) (min chance twenty three\/one (4.00)). The new sports consumers just. 18+ Render offered to new clients only just who join Discount Password BET40GET20. 100 % free Wagers is repaid because the Choice Credit and are generally available for fool around with abreast of payment away from wagers in order to property value being qualified deposit.<\/p>\n

So you can ideal it well, we are usually leading to the online game catalog, making certain that to include our very own users for the greatest on the web possibilities. From the top and most prominent slots into the favorite dining table video game like black-jack, roulette and baccarat, and also live online casino games! Join 666 Gambling establishment (for folks who haven’t currently) to relax and play probably the most popular online casino games on line! This will then stimulate a match 12 game where you could potentially win multipliers getting doing 100x! Normal symbols which can show up on the fresh new reels tend to be a variety from seafood, and this show the latest Blended Will pay.<\/p>\n

So it detailed catalogue, combined with a clear support shop in which missions earn you specific perks, helps it be the most versatile and you will athlete-centric appeal in britain. Of the completing specific within the-online game challenges, your improvements as a consequence of ranks and you can earn tokens to pay in the an excellent dedicated shop for the benefits one number very to the approach. While the added bonus are productive, you must adhere to the most choice signal from ?5 per twist, or 5% of extra count, to be certain your own payouts will still be good getting a successful detachment. Maximize your perks by checking the brand new \ufffdMissions’ case before rotating to earn things into the Added bonus Store shorter.<\/p>\n

The fresh three dimensional animated graphics is actually an excellent touching that assist the online game turn on, and its own avalanche program, together with growing multipliers, pledges a vibrant gameplay. The quantity your profit varies according to your own share, the latest rarity of icons your meets, and you may one bonus has or multipliers your end in throughout a go. Such things as 100 % free revolves, nuts icons, multipliers, and you will puzzle pick’em bonuses leave you more ways to help you winnings. Check always the fresh new within the-games help diet plan to ensure the brand new RTP of the certain adaptation you\ufffdre playing before betting a real income. This enables you to change typical gameplay for the certain money for to buy bet-totally free spins otherwise designed cashback selling. We’re a big enthusiast of the three incentive enjoys which are the big interest of the games and therefore comes with Rush Share.<\/p>\n

Microgaming circulated the new safari-themed Super Moolah progressive jackpot position within the 2006 to help you much recognition. These types of game provide a true all the-or-little feel, emphasising highest-risk, high-prize game play. Giving another type of mix of slots and you will bingo, Slingo allows members twist a slot reel generate quantity, which are noted of a traditional bingo-build grid.<\/p>\n

Right here there are just real money ports, plus blackjack, web based poker, and other dining table games, in addition to the alive specialist designs. A small grouping of community pros came together inside 2018 to ascertain this business. Check out our very own handpicked directory of required United kingdom gambling enterprise internet sites that have a real income slots to get the alternative which is right for your. However, BTG has truly transformed a and you may introduced exclusive Megaways auto technician, which provides 243, 1,024, or maybe more ways to earn, with regards to the grid style.<\/p>\n","protected":false},"excerpt":{"rendered":"

These types of templates not only enhance the visual and you can auditory experience but include breadth to the game play, and then make for each session much more immersive and enjoyable. Noted for its straightforward gameplay and you may retro appeal, this type of slot machine game harbors offer\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-119069","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/119069","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=119069"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/119069\/revisions"}],"predecessor-version":[{"id":119070,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/119069\/revisions\/119070"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=119069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=119069"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=119069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}