/* 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":120786,"date":"2026-05-25T13:13:25","date_gmt":"2026-05-25T13:13:25","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=120786"},"modified":"2026-05-25T13:13:26","modified_gmt":"2026-05-25T13:13:26","slug":"you-will-find-a-big-icon-with-it-that-makes-it-all-search-a-bit-more-enjoyable","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/you-will-find-a-big-icon-with-it-that-makes-it-all-search-a-bit-more-enjoyable\/","title":{"rendered":"You will find a big Icon with it, that makes it all search a bit more enjoyable"},"content":{"rendered":"

Getting 6 currency symbols produces respins, when you’re spread out symbols release totally free spins<\/h2>\n

The fresh new chance of Irish makes we happier but it is not a hope in any way. Once you have done it you’ll be delivered to a grip and you can Spin sort of game with twenty-three respins. It is too retro but I am conscious that specific members such as they so it can nevertheless be fun, based your option. That you really have both the Purchase Added bonus as well since the Enjoy option after each and every earn, does create things a great deal more enjoyable.<\/p>\n

The brand new receptive build adapts to virtually any display screen size, guaranteeing smooth game play and you may prompt packing times. These types of assistance are checked-out and you will vbet<\/a> confirmed from the separate laboratories particularly GLI (Playing Laboratories Worldwide) and you may iTech Labs, which review games efficiency, RTP accuracy, and you can equity. The fresh aspects are made to become user-friendly, meaning you can quickly know how for each and every function performs if you are nevertheless benefiting from greater game play levels. The balance between effortless auto mechanics and you will satisfying systems allows both newbies and experienced users to love the brand new games. It creates constant minutes of excitement, where participants can also be make profitable combinations over consecutive respins.<\/p>\n

Sign in your account, financing your debts, and you can delight in an enjoyable and you may trouble-100 % free reel-spinning lesson. Alternatively, you can just load the fresh inside the-browser app of an internet gambling establishment one to aids this developer’s slots. As the app merchant creates every one of the slot online game using the newest HTML5 framework, altering from 1 sort of product to a different when you are enjoying your own favorite craft is a straightforward activity. Harbors are made in order that, depending on their device’s capabilities, they may be starred both in portrait and you may surroundings types. As well, for each slot has a double-or-little game and you can sometimes a trending Bet or Get Added bonus possibilities.<\/p>\n

Rabcat is a software organization that is located in Austria and you will that creates exceptional videos harbors having exciting storylines and you may to experience enjoys. Likelihood Jones are a great British-founded application company that induce online slots and scratchcard games to own ideal casinos on the internet in the business. Pragmatic Gamble is a prominent articles seller to the iGaming world, giving a multi-unit profile out of harbors, alive casino, bingo & more thru a unitary API. Playtech ‘s the planet’s premier local casino application business registered to run within the more than 20 places in which they provide top ports, desk, and you will alive specialist games. The newest playing merchant delivers book and you will advanced playing items that boundary the fresh iGaming community.<\/p>\n

The fresh new playing cover anything from 0.10 to 100 helps it be offered to all sorts of professionals, while the capped maximum winnings away from 2,000x brings an obvious target versus introducing way too much exposure. Gamzix have crafted a game title you to definitely areas traditional slot basics when you’re adding a proven Keep and you can Spin auto mechanic to operate a vehicle excitement and you will significant winsbined having cellular optimisation, demonstration accessibility, and you can an extensive playing diversity, the video game near the top of since a whole and accessible plan one suits the new expectations of modern slot participants. The new Free Spins bullet, having its at random chosen multiplier, adds a sheet away from unpredictability that somewhat accelerates victory possible and replay worth. The latest Pick Extra possibilities incorporate commercial and you may athlete independence, enabling direct access into the slot’s most effective minutes, because compact file size and you can good mobile optimization promote entry to. Simply Diamonds try a position built for members who well worth construction, anticipation, and you can quality more disorderly reel action.<\/p>\n

Membership supply tips and you may community opportunities for the designer in addition to generate common enquiries. Trial features are every standard gameplay aspects except real money wagering.<\/p>\n

KA Gaming are a comparatively the fresh new casino application provider that has safeguarded a place on iGaming parece with exclusive titles and mathematics designs. JFTW or just To your Victory try good Swedish software providers that occurs position games away from really good top quality and numerous gamification have. SoftGamings provides tattooed a deal with JDB Gambling, a good Vietnamese local casino game designer whose online game portfolio is prepared for combination from the company’s harmonious API. Owing to you to-single combination customers can also be access more 8000 online game together with 150 finest-undertaking iSoftbet headings, state-of-the-art pro wedding and you will analysis options.<\/p>\n

The latest Get Added bonus alternative (30?) brings members command over timing, missing ft video game grinding after they choose instantaneous feature availableness. During 100 % free Spins, a worldwide multiplier escalates on the ?100, because the video game promises between 5 and you can 20 Crazy symbols across all extra spins. The brand new Jalapeno Award Steps is short for the fresh new center auto mechanic – property anywhere between about three and you may nine jalapeno icons to go honor sections, having 9 peppers delivering the top award. Maximum victory limits in the 2,000?, lower than specific Gamzix solutions, but the Pick Added bonus (30?) provides reasonable feature accessibility. The latest Get Bonus element lets players purchase direct access compared to that round having fifty? its stake – of use whenever foot video game determination works thin.<\/p>\n

The game blends classic structure which have progressive provides. Professionals get twenty three respins in the event the bonus leads to, having coins keeping to possess bigger wins.<\/p>\n

Fantasma Game is a Swedish app organization that mixes the newest planets away from desktop that have casino gambling to produce harbors that will be an excellent primary mixture of the 2. Espresso Video game combines Italian design and style having playing systems so you can build higher-quality and you can ines to have online and cellular gambling enterprises international. ELK Studios is among the brand-new app company regarding Sweden you to specialises for the development advanced cellular-very first clips slots and has an excellent portfolio out of book titles.<\/p>\n

The new games are manufactured that have fair formulas one to ensure random abilities<\/h2>\n

The range of online game are diverse, but all are carefully made to supply the finest gambling sense, whether you are new to the online gambling establishment community or an experienced. Gamzix’s manage quality and you may uniform results round the gizmos makes them a standout developer from the iGaming business. The content was enhanced both for mobile and desktop computer gadgets, guaranteeing the means to access for all users. Of the focusing on these types of core facets and you may maintaining consistent high quality, Gamzix has generated a robust presence from the online casino markets. This reliability inside the performance is actually a key element you to definitely sets Gamzix besides of numerous competition. This technique allows members with various choices and you may to play appearance to help you get a hold of game you to matches their appeal, causing a top fulfillment rates.<\/p>\n","protected":false},"excerpt":{"rendered":"

Getting 6 currency symbols produces respins, when you’re spread out symbols release totally free spins The fresh new chance of Irish makes we happier but it is not a hope in any way. Once you have done it you’ll be delivered to a grip and you can Spin sort of\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-120786","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/120786","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=120786"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/120786\/revisions"}],"predecessor-version":[{"id":120788,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/120786\/revisions\/120788"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=120786"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=120786"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=120786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}