/* 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":116042,"date":"2026-05-25T12:43:10","date_gmt":"2026-05-25T12:43:10","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=116042"},"modified":"2026-05-25T12:43:11","modified_gmt":"2026-05-25T12:43:11","slug":"best-headings-is-gonzos-trip-and-you-will-frankenstein-but-today-we-take-a-closer-look-during-the-king-of-slots","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/best-headings-is-gonzos-trip-and-you-will-frankenstein-but-today-we-take-a-closer-look-during-the-king-of-slots\/","title":{"rendered":"Best headings is Gonzo’s Trip and you will Frankenstein, but today we take a closer look during the King of Slots"},"content":{"rendered":"

Finish the indication-upwards processes and you will put at the very least ?ten to receive a full bonus number<\/h2>\n

Four Scatters give you 10 revolves totally free, half dozen scatters give you ten revolves 100 % free, eight scatters make you winmasters<\/a> twenty revolves free, seven scatters leave you twenty-five spins free while more 7 scatters honor you thirty revolves free. The latest Regal setting is full of bonuses and you may awards when you play royal web based poker to your king that may lead to 125x of the line bet. NetEnt could have been developing app having web based casinos since the 1996 and you may enjoys more than 250 video game across the sites. Which have a love of online gambling and a-deep knowledge of the fresh South African field, I have been trusted into the task out of evaluating licensed on the internet gambling enterprises and you will harbors and you will getting ready websites for the webpages.<\/p>\n

Such wilds choice to almost every other cues to help make successful combos. Reaching the best floors together with prizes a supplementary award of just one,000 coins. Although not, tall wins can also occur through the 100 % free spins with a high multipliers.<\/p>\n

36 Vegas get limit or exclude any customers using this venture at its discernment, together with getting conformity, risk, membership habits, or responsible gambling grounds. For individuals who admiration diversifying their rotating experience, speak about the huge distinct position games to get more fun rankings. Usually, regardless if, the newest Queen from Ports slot was created as easy playing. Including the construction and you can winnings be seemingly in fact a good.<\/p>\n

To own people in the united kingdom, going for a slot isn’t only regarding theme or the picture it’s about value. For example, they provide higher payment possible that will are as long as 5,000x their wager and added bonus enjoys, including totally free spins otherwise wilds which might be guaranteed to enhance your earnings. Before you choose a knowledgeable large payout position to the the number, i very carefully experienced specific key factors to ensure that you have an unforgettable gambling sense.<\/p>\n

We have a lot of in control gambling products and you may a much safer betting webpage as well<\/h2>\n

Should you embrace the chance-100 % free glee of totally free harbors, and take the newest step on the world of a real income to own an attempt at larger profits? These types of online casinos always brag an enormous number of ports you could play, providing to all preferences and you will expertise membership. The brand new fifty,000 gold coins jackpot isn\ufffdt miles away for people who start getting wilds, and this secure and you can grow in general reel, boosting your earnings. This particular aspect kicks for the once you belongings a win during the base level and gives you the chance to enjoy your earnings for possibly large profits. He started out because a great crypto author coating cutting-boundary blockchain technology and you will easily discovered the newest glossy arena of online casinos.<\/p>\n

Starburst remains probably one of the most played online slots in the British year after year. The eye off Horus is set for the Old Egypt having increasing signs one to bring about in the 100 % free revolves bullet, coating whole reels getting tall win combinations. Higher volatility means gains is less common but can become notably large. A similar fisherman collection auto mechanic enforce – seafood signs keep multiplier viewpoints you to stack in the free revolves bullet. Larger Trout Splash is consistently one of the most-played ports the real deal cash in the united kingdom. 800+ online slots off trusted organization plus Practical Enjoy, NetEnt, Microgaming, Playtech, and you will Eyecon – which have the fresh new headings additional every week.<\/p>\n

Internet sites enables you to wager totally free however, to get dollars honors with your earnings. Purple Tiger – Experts in Day-after-day Miss Jackpots – claims honours that has to spend inside a-flat screen. Three or more scatters lead to totally free spins, where fisherman multiplier increases with every collection.<\/p>\n

Yet not, while the newest and get not a clue regarding and therefore casino otherwise team to decide online slots, you should attempt our very own position range during the CasinoMentor. You could potentially get involved in it right at the online position team otherwise within all of our finest online casinos that provide the new ports which you should enjoy. Other gambling enterprises assemble additional titles and certainly will to evolve their payouts in this the fresh new ranges specified because of the their certificates. In this way, might increasingly restrict your alternatives to slot machines one will give good results. Playing slots is straightforward, everyone can participate in the online game and secure on most very first revolves being not the same as Casino poker or Blackjack. not, in today’s world, there are numerous top web based casinos where you can play with a real income and gamble secure.<\/p>\n

It’s an entertaining online game with quite a few great features included, plus higher graphics and you may gameplay. Six scatters render fifteen freespins, seven offer 20 freespins and seven of them award you having all in all, twenty-five freespins. And you will these are the latest spread symbols, these are represented by the about three red gemstones, and it’s really this icon which will result in the fresh new game’s freespins round.<\/p>\n

Inspite of the breadth of one’s slot, it is the truth is easy to see. In reality, it is one of many smoothest online slots games i have played. For folks who hit 7, that’s 20, 8 are twenty five, and 30 all the way doing 15 scatters. If you get four scatters, you may get 5 revolves.<\/p>\n

For each and every featured solution will get lowest and limit purchase alternatives. Various casinos on the internet promote the professionals the option for slots invited incentive for including cards in britain. A suggestion position discount rewards participants whom score friends so you can signal right up during the gambling enterprise. Since you gamble much more cycles and you may progress VIP levels, your discover increased meets even offers, most revolves revenue, and position-specific awards that cater to your activity. As well as, you will find instances when ports may well not lead totally but nevertheless give extreme improvements for the cleaning your harbors added bonus.<\/p>\n

I encourage so it Lottomart venture so you’re able to people who would like to mention several online game models, particularly ports, table and you may alive video game. Therefore, you may also withdraw all your winnings. After registering from the Midnite Gambling enterprise, the latest members possess 2 weeks to put and you can share ?20.<\/p>\n

Because earnings for that spin is actually complete, after that a free spin starts with the latest nuts reels leftover fixed. It rather develops your opportunity off striking a payout, but needless to say will not affect the said RTP out of 96.1% and you may just earn immediately after per winline. The design is filled with absolutely nothing facts, treasure symbols are moving to twinkle, and browse along side winlines to make them apparent. Here you can learn regarding the gaming securely to see any possible symptoms to watch out for. Sure, it\ufffds secure to experience ports for real currency in the Mecca Bingo.<\/p>\n","protected":false},"excerpt":{"rendered":"

Finish the indication-upwards processes and you will put at the very least ?ten to receive a full bonus number Four Scatters give you 10 revolves totally free, half dozen scatters give you ten revolves 100 % free, eight scatters make you winmasters twenty revolves free, seven scatters leave you twenty-five\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-116042","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/116042","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=116042"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/116042\/revisions"}],"predecessor-version":[{"id":116043,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/116042\/revisions\/116043"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=116042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=116042"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=116042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}