/* 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":166886,"date":"2026-06-22T12:26:03","date_gmt":"2026-06-22T12:26:03","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=166886"},"modified":"2026-06-22T12:26:03","modified_gmt":"2026-06-22T12:26:03","slug":"gambling-enterprises-in-the-near-nashville-tennessee-2026-upwards-to-day-listing","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/gambling-enterprises-in-the-near-nashville-tennessee-2026-upwards-to-day-listing\/","title":{"rendered":"Gambling enterprises in the & near NASHVILLE, TENNESSEE 2026 upwards-to-day listing"},"content":{"rendered":"

You\u2019ll be offered a 250% extra as much as $dos,five-hundred in addition to 50 free of charge spins to your Great Electric guitar slot to your the first put. If you ask your pals with each other towards ride, you may also purse a great fifty% bonus as much as $one hundred + 50 totally free revolves for each recommendation. Your first deposit have a tendency to web your up to 250 100 percent free spins, and you will everything secure try your own.<\/p>\n

Actually gambling enterprises rather than stand alone cellular local casino applications however went perfectly into the mobile\u2014best for brief revolves if you find yourself prepared inside the website visitors to the I-40. SuperSlots and you can Harbors.lv submit solid live and you will slot options, good for TN people chasing diversity and higher-RTP action. When you figure out how this type of real cash casinos performs, they\u2019ll quickly become their go-so you can, weekend recreation. That have a 96% RTP and you will 20x multipliers throughout the 100 percent free revolves round, which prairie-inspired position is made for TN characteristics people toward seem.<\/p>\n

These items will likely be handled as no-honor recreation, never as online gambling or a great workaround for on-line casino gamble. Specific activity-only personal gambling enterprise programs may still be around once they have fun with Coins simply and don’t are advertising sweepstakes currency or honor redemptions. If you opt to play with a gold Money-simply personal local casino equipment for the Tennessee, ensure it is strictly activity-established.<\/p>\n

Antique real-currency casinos on the internet try illegal, and you can sweepstakes casinos exists within the an appropriate gray urban area. The brand new Recreations Wagering Council (SWC) accounts for Lucky Jet rules<\/a> overseeing the online sports betting world in the Tennessee. When you find yourself 18 otherwise old, you could legitimately hit upwards personal and sweepstakes casino internet sites. Can get 2019 watched Tennessee flip new script into the on the internet sports betting, so it is judge and you will controlled. Since it really stands, real-money online casinos will always be unlawful, therefore wouldn’t find people brick-and-mortar joints both. Be you to definitely as it can, you can nonetheless see your chosen gambling games within public gambling enterprises free of charge.<\/p>\n

Simply ensure you are having fun with a legitimate, state-registered sportsbook and you also\u2019re of sufficient age in order to enjoy lawfully. Tennessee lets the types of online wagering. Play with sweep and you can coins, and you can scrape one gambling itch. The newest meets has to be complete before Free spins can also be feel used. ten revolves every day for five days. Users inside Tennessee may not have the entire on line betting meal, but there is still so much to feast to your.<\/p>\n

The place to find a number of advertisements and Lucky Creek added bonus codes, the website has fits incentives and you may totally free spins, bringing a powerful begin for novices. Which mix of video game assortment, commission liberty, and you may glamorous bonuses renders Bovada the leading alternative certainly overseas sportsbooks and real cash online casinos from inside the Tennessee. But not, tomorrow keeps potential for alter, while the popularity of on the internet sports betting indicates the potential financial benefits associated with stretched online gambling. The platform has built a strong reputation inside the online gaming community by providing many sportsbook properties to focus on bettors with different choices.<\/p>\n

For individuals who\u2019lso are not used to a real income gambling on line inside the Tennessee, Raging Bull\u2019s representative-friendly site is an excellent place to begin. You will find those real cash online casino Tennessee websites your normally sign up with. Ergo, the only way for Tennesseans in order to play on line legally should be to go to a worldwide online casino recognizing users regarding Tennessee. As the known overseas playing authorities permit her or him, Tennessee users can safely sign-up in the place of concerns from judge repercussions. Tennesseans can be legitimately access leading worldwide gambling enterprise websites giving real cash casino playing. However, since there is expanding consult and you will social support, addititionally there is good resistance.<\/p>\n

Tennessee does not have any alive casino poker bedroom once the condition does not have any industrial or tribal casinos. The official failed to are online poker regarding 2019 wagering agreement. The newest release coincided which have NFL year and you can SEC activities peak engagement, promoting solid initially manage. What the law states particularly don’t authorize commercial or tribal gambling enterprises inside the conjunction with wagering, maintaining Tennessee’s zero-gambling enterprise condition reputation when you’re including controlled cellular sports betting. The fresh new state’s over lack of in the-condition gambling enterprise system (no commercial casinos, no tribal casinos), in conjunction with old-fashioned county governmental culture and you will spiritual area influence on gaming coverage, brings architectural barriers to help you internet casino extension. There are no commercial otherwise tribal casinos.<\/p>\n

The state continues to grow its electronic attention but shows little indication of opening bodily casinos. The state over the years compared every style of betting, having solid restrictions in position throughout the 20th 100 years. The main focus is on mobile play, making certain players possess enjoyment without the system from bodily gambling enterprises. No tribal gambling enterprises, zero racetracks, no bodily sportsbooks are present. Residents can take advantage of legally regulated choices including on line sportsbooks, every day fantasy recreations, on line bingo, plus the condition lotto. Of numerous Tennessee online gambling websites you to definitely services due to the fact personal otherwise sweepstakes casinos promote casino poker games that allow your wager enjoyable or compete to have awards lawfully.<\/p>\n

100 percent free spins connect with picked slots and winnings are susceptible to 35x betting. Stakeholders continue steadily to lobby to possess a regulated design complete with user defenses and you can income tax cash discussing. The official\u2019s regulations ban any local casino\u2011build video game brought on the internet, whatever the supplier\u2019s area. The official\u2019s Individual Safeguards Office features awarded cautions a large number of \u201cTennessee\u2011licensed\u201d casinos on the internet is actually fictitious fronts.<\/p>\n

The potential legalization regarding online casinos and you will casino poker inside Tennessee try a topic regarding significant argument. Regulations jobs such as for example Rep. Jason Powell\u2019s HJR0093, intended for legalizing casino betting to pay for K-12 knowledge, signal a potential move in Tennessee\u2019s posture into gambling on line. The fresh lotto\u2019s influence on training financial support is actually an effective testament towards the possible great things about managed gaming affairs.<\/p>\n

Places generally speaking initiate from the $ten to $fifty depending on the website and you may method, and you will bet towards the individual hands or spins cover anything from pennies from the the lower avoid to numerous hundred or so bucks for each and every hands at the higher-restriction tables. Tennessee citizens who require online casino gambling will continue relying on offshore providers while using the controlled software having sports betting. Tennessee doesn’t have betting payment like those who work in says which have industrial casinos because Tennessee doesn’t always have industrial casinos otherwise tribal gambling enterprises to manage. The websites lower than had been checked-out by the years of genuine Tennessee customers feel and you may consistently deal with Tennessee people at the time of new current opinion. Silver Money-just societal gambling enterprises fool around with you to definitely non-redeemable virtual currency to own activities gameplay merely.<\/p>\n","protected":false},"excerpt":{"rendered":"

You\u2019ll be offered a 250% extra as much as $dos,five-hundred in addition to 50 free of charge spins to your Great Electric guitar slot to your the first put. If you ask your pals with each other towards ride, you may also purse a great fifty% bonus as much as\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-166886","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/166886","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=166886"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/166886\/revisions"}],"predecessor-version":[{"id":166889,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/166886\/revisions\/166889"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=166886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=166886"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=166886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}