/* 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":166885,"date":"2026-06-22T12:26:03","date_gmt":"2026-06-22T12:26:03","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=166885"},"modified":"2026-06-22T12:26:03","modified_gmt":"2026-06-22T12:26:03","slug":"casinos-when-you-look-at-the-close-nashville-tennessee-2026-up-to-big-date-record","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/casinos-when-you-look-at-the-close-nashville-tennessee-2026-up-to-big-date-record\/","title":{"rendered":"Casinos when you look at the & close NASHVILLE, TENNESSEE 2026 up-to-big date record"},"content":{"rendered":"

You\u2019ll be provided a beneficial 250% incentive as high as $dos,five hundred as well as fifty cost-free revolves with the Mighty Guitar position towards the the first deposit. If you choose to invite friends with each other to your journey, you can handbag good 50% bonus as high as $one hundred + fifty free revolves for every suggestion. The first put have a tendency to net you to 250 totally free revolves, and you may what you secure is your own personal.<\/p>\n

Also casinos in the place of standalone https:\/\/mega-moolah-be.com\/<\/a> cellular gambling establishment programs still ran perfectly toward mobile\u2014best for brief revolves if you’re waiting during the travelers into the I-40. SuperSlots and you will Ports.lv deliver strong live and you will slot choices, perfect for TN participants chasing after diversity and high-RTP action. After you work out how this type of real money gambling enterprises really works, they\u2019ll quickly become the wade-so you can, week-end recreation. With a 96% RTP and 20x multipliers regarding free spins round, this prairie-inspired slot is made for TN character lovers toward see.<\/p>\n

These things would be treated because the zero-award entertainment, much less online gambling or an excellent workaround getting internet casino gamble. Particular entertainment-only social gambling establishment programs might still be available once they fool around with Gold coins simply and don’t include advertising and marketing sweepstakes currency otherwise prize redemptions. If you opt to explore a gold Money-just public gambling establishment product when you look at the Tennessee, ensure it is purely entertainment-mainly based.<\/p>\n

Antique actual-currency online casinos is unlawful, and you will sweepstakes casinos are present from inside the an appropriate gray city. The new Recreations Betting Council (SWC) is in charge of overseeing the web based sports betting world in Tennessee. When you find yourself 18 or elderly, you could potentially legally struck up personal and sweepstakes gambling establishment internet. Could possibly get 2019 saw Tennessee flip the software to your on the web wagering, so it’s court and you may controlled. Because really stands, real-money web based casinos will always be unlawful, and you won’t pick people stone-and-mortar joints possibly. Getting one as it might, you might nonetheless take pleasure in your preferred casino games during the personal gambling enterprises free of charge.<\/p>\n

Just verify you might be using a legit, state-subscribed sportsbook while\u2019re also old enough in order to gamble legally. Tennessee lets all the different on the internet sports betting. Use sweep and you can gold coins, and abrasion you to playing itch. The fresh fits should be accomplished before the 100 percent free revolves can become used. ten spins daily for five days. Participants from inside the Tennessee might not have the entire online betting buffet, but there is however nevertheless plenty to help you banquet with the.<\/p>\n

The place to find a number of offers and you can Happy Creek added bonus codes, the site is sold with fits bonuses and free revolves, providing a robust start for beginners. That it mix of video game diversity, commission independence, and you will attractive incentives can make Bovada a respected solution among offshore sportsbooks and you may real cash web based casinos in the Tennessee. Yet not, the near future holds potential for alter, once the success of on the web wagering implies the possibility monetary advantages of lengthened gambling on line. The platform has built a good reputation during the on line betting people by providing multiple sportsbook features so you can focus on bettors with different choices.<\/p>\n

For many who\u2019lso are fresh to real cash gambling on line from inside the Tennessee, Raging Bull\u2019s user-amicable webpages is a wonderful place to begin. Discover dozens of real cash internet casino Tennessee websites your is join. Ergo, the only way having Tennesseans to enjoy on the internet lawfully is always to visit a worldwide internet casino taking members from Tennessee. Because the respected overseas gambling government permit her or him, Tennessee participants normally safely signup rather than inquiries of courtroom repercussions. Tennesseans can also be lawfully availability respected around the world local casino internet offering real money gambling enterprise playing. not, since there is expanding consult and you can societal service, additionally there is solid resistance.<\/p>\n

Tennessee doesn’t have alive poker bedroom once the condition has no commercial or tribal gambling enterprises. The official failed to tend to be internet poker about 2019 sports betting authorization. The brand new release coincided with NFL year and SEC sports peak wedding, producing solid initially handle. The law especially did not authorize industrial otherwise tribal gambling enterprises inside the combination that have sports betting, keeping Tennessee’s zero-casino state standing when you are adding managed cellular sports betting. New nation’s done lack of for the-county local casino system (zero commercial casinos, no tribal casinos), and traditional county political community and you will religious community effect on gaming plan, produces architectural barriers so you’re able to on-line casino expansion. There are no industrial otherwise tribal gambling enterprises.<\/p>\n

The state will continue to build their digital interest however, suggests nothing manifestation of beginning bodily gambling enterprises. The state usually opposed almost every brand of gambling, having strong bans positioned throughout the twentieth millennium. The main focus is on cellular gamble, making sure people have amusement with no system out-of bodily gambling enterprises. No tribal gambling enterprises, zero racetracks, and no actual sportsbooks exist. Citizens can also enjoy legally controlled choices for example on the web sportsbooks, every day dream football, online bingo, therefore the condition lottery. Of numerous Tennessee gambling on line sites that efforts because societal otherwise sweepstakes gambling enterprises render casino poker game that let you play for enjoyable otherwise participate getting awards lawfully.<\/p>\n

Free revolves connect with chosen harbors and you can profits is subject to 35x betting. Stakeholders consistently lobby to own a managed design filled with individual defenses and tax money sharing. The official\u2019s legislation prohibit any gambling establishment\u2011layout games introduced on the internet, no matter what vendor\u2019s place. The state\u2019s Consumer Security Division provides approved cautions that numerous \u201cTennessee\u2011licensed\u201d casinos on the internet is actually fictitious fronts.<\/p>\n

The potential legalization from web based casinos and web based poker during the Tennessee are a topic out of big debate. Laws and regulations services including Agent. Jason Powell\u2019s HJR0093, intended for legalizing casino betting to cover K-several training, signal a potential move inside the Tennessee\u2019s posture with the gambling on line. The fresh lotto\u2019s effect on education capital is an effective testament for the potential great things about regulated gambling circumstances.<\/p>\n

Dumps generally begin at the $ten so you can $50 depending on the webpages and you may method, and you may stakes to your individual give or revolves start from pennies at the lower prevent to numerous hundred or so cash for every hand in the large-limit tables. Tennessee people who need internet casino betting continues depending on overseas operators when using controlled apps having wagering. Tennessee does not have any gaming percentage just like those in states which have commercial casinos due to the fact Tennessee does not have industrial gambling enterprises or tribal casinos to control. Web sites less than was tested of the years of genuine Tennessee buyers sense and you may consistently take on Tennessee consumers since the fresh new newest remark. Gold Coin-only social gambling enterprises have fun with one low-redeemable digital currency getting entertainment gameplay merely.<\/p>\n","protected":false},"excerpt":{"rendered":"

You\u2019ll be provided a beneficial 250% incentive as high as $dos,five hundred as well as fifty cost-free revolves with the Mighty Guitar position towards the the first deposit. If you choose to invite friends with each other to your journey, you can handbag good 50% bonus as high as $one\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-166885","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/166885","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=166885"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/166885\/revisions"}],"predecessor-version":[{"id":166887,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/166885\/revisions\/166887"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=166885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=166885"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=166885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}