/* 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":122675,"date":"2026-05-25T13:19:45","date_gmt":"2026-05-25T13:19:45","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=122675"},"modified":"2026-05-25T13:19:45","modified_gmt":"2026-05-25T13:19:45","slug":"register-now-at-jackpot-town-and-you-can-experience-the-best-online-gaming-thrill","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/register-now-at-jackpot-town-and-you-can-experience-the-best-online-gaming-thrill\/","title":{"rendered":"Register now at Jackpot Town and you can experience the best online gaming thrill"},"content":{"rendered":"

Ever since then, the working platform is continuing to grow to around 30 billion monthly profiles<\/h2>\n

Nonetheless, that have Microgaming, because they are an umbrella for way too many reduced indy slot studios and you may huge hitters, you’ll end Vegas Casino<\/a> up hard-pressed not to find something to enjoy in their titles. JW is the best gambling games I’ve found-met global members exactly who turned into family, and you may profitable Actual prizes helps it be exclusively special.<\/p>\n

This allows getting smooth transitions anywhere between pc and you may mobile play rather than one reduced visual quality otherwise rates. All of our program is actually powered by Microgaming, a world frontrunner for the casino application, making sure all of the give from black-jack and each spin of your own roulette controls is actually lead inside the sharp high definition. And, rather than other online casino games, i have no wagering requirements towards payouts generated from our Free Spins offers, to help you keep what you winnings! Zero betting standards towards free spin payouts. Users win a real income to the online slots all day, regarding simple winnings so you’re able to large jackpot honors. You might enjoy real money online slots in the Jackpot City, a licensed and respected harbors casino providing a wide selection of classic, clips, and jackpot online game.<\/p>\n

The assistance party can be obtained to simply help that have any queries otherwise items your ing experience. In addition, the new cellular-optimized website makes you gamble straight from their web browser instead of having to install the fresh new application, guaranteeing a seamless gambling experience on the road. Jackpot Area spends advanced encryption tech to safeguard your own advice and you may financial transactions, making certain that your own gaming experience is secure and you can secure. The fresh gambling establishment continuously will bring bonus rules to have present pages, which can be redeemed for further totally free revolves, deposit suits, or other rewards.<\/p>\n

Upgrade your cellular playing feel by the downloading Jackpot City’s local casino application<\/h2>\n

Recurring mobile local casino bonuses in the Jackpot Area occur have a tendency to, therefore it is very easy to play a popular game and possess a great high playing experience. Incorporate 24\/seven service, commitment program, and you will designed gambling enterprise offers and you may Jackpot Town one of the most dependent gambling establishment websites providing players globally of Canada, to NZ and much more the chance to enjoy local casino on the internet, mobile otherwise through a cellular gambling establishment application. The latest online game are obtainable to your all equipment, and you may people is also put finance with ease playing with Charge, Neteller or any other prominent commission tips. Firstly, if you’ve ever starred on the a good Microgaming gambling establishment to your mobile, you’ll acknowledge the fresh new common feel and look.<\/p>\n

Bonanza Megapays adds progressive jackpots compared to that iconic position, that also enjoys the latest Megaways gameplay mechanic. Bonanza Megapays by the Big time Betting brings together the fresh legendary Megaways slots auto technician having fascinating Megapays progressive jackpots. Wilds is also build and you will end in fun gains on the Starburst position because of the NetEnt. Struck 12 or even more Scatter symbols so you’re able to trigger the latest 100 % free revolves bullet, where you could hook a few of the greatest wins. Publication out of Dry because of the Play’n Wade takes you strong to the ancient Egypt together with the adventurous explorer Steeped Wilde.<\/p>\n

The new mobile platform maintains the same top quality image and you will smooth gameplay because the desktop computer version, with several game available. Jackpotcity Gambling enterprise are completely enhanced having cell phones, making certain that players can enjoy their favorite games while on the move. The brand new professionals was welcomed with a large signal-upwards added bonus, which can be paired around the multiple dumps. Yes, Jackpotcity Local casino also provides many different incentives and you can advertisements to enhance the fresh gaming experience. The platform try registered and you will controlled because of the Malta Playing Expert, making certain a secure and fair playing environment. The latest image was finest-notch, as well as the earnings are quick.<\/p>\n

At the Jackpot City, the audience is satisfied giving punctual, credible profits inside circumstances from a valid withdrawal demand. Plus perform a different sort of account to suit your account and you will confirm that you might be more than 18 and get have a look at Terms and conditions and Criteria. You are prepared in line, and you will you may like to enjoy a circular off pokies, you remove the cellular phone… and it’s even slowly than swimming because of treacle. Jackpot Area has the benefit of many percentage solutions to fit your needs when creating a deposit.<\/p>\n

To own users out of British, strong protection starts once they create the brand new Jackpotcity software. For each and every video game tile shows secret information (such as jackpots, volatility, and you can minimum stakes) having just one faucet, allowing prompt evaluations in advance of entering a subject. Should you decide find reduced abilities otherwise monitor mistakes, look at your tool resources just before calling Jackpotcity assistance. Regarding the secure Jackpotcity ecosystem, you could circulate ? to your balance, look for bonuses, and continue maintaining monitoring of their transactions. To own Android os admirers who would like to come across Jackpotcity posts, these types of guidelines are created for just United kingdom users. Get dependable customer service and you can secure transactions created which have privacy in mind for Uk profiles.<\/p>\n

All the purchases are included in a comparable SSL encoding, making certain debt studies stays safer. Licensed of the Malta Betting Expert (MGA), Jackpot Town NZ abides by stringent regulating conditions, ensuring fair play and monetary openness. If or not you need playing towards an application or through your web browser, Jackpot Town NZ implies that you may enjoy your preferred online game irrespective of where you\ufffdre, in place of decreasing for the high quality or safety. Inside the suming feel readily available, with a totally checked application and you may a cellular-optimized webpages one to caters to the requirements of modern people.<\/p>\n

The fresh new “Top Picks” part suggests regional favourites, popular United kingdom options, and you can local exclusives for many who have an interest in them. VIP users rating even more incentives, novel cashback, and you will top priority invitations in order to situations as a consequence of personalised announcements. Start a qualified put that have any of the recognized fee steps, as well as the money can look in minutes. After you make a deposit, paired ? loans was immediately put into your account equilibrium, and you may 100 % free spins come to your certain online game. That it extra package usually fits your first put and offer your even more spins on the particular gambling enterprise slots.<\/p>\n

Whether or not you need short relaxed fun otherwise a lot of time betting instructions, you can easily always find something fresh to play. Delight in antique game play and you will classic fun in the many Flash-based video game. Popular labels tend to be vehicles game, Minecraft, 2-pro video game, meets twenty-three game, and you may mahjong. When you are a developer having a casino game the country needs to discover, here are some Poki to own Designers.<\/p>\n","protected":false},"excerpt":{"rendered":"

Ever since then, the working platform is continuing to grow to around 30 billion monthly profiles Nonetheless, that have Microgaming, because they are an umbrella for way too many reduced indy slot studios and you may huge hitters, you’ll end Vegas Casino up hard-pressed not to find something to enjoy\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-122675","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/122675","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=122675"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/122675\/revisions"}],"predecessor-version":[{"id":122677,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/122675\/revisions\/122677"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=122675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=122675"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=122675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}