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

You\u2019ll be offered a good 250% bonus all the way to $2,five hundred along with fifty complimentary spins into Mighty Keyboards slot towards the the first put. If you choose to invite everyone with each other into the drive, you’ll be able to wallet a 50% bonus all the way to $one hundred + fifty totally free spins per referral. The first deposit will websites your up to 250 100 percent free spins, and you may that which you earn try your personal.<\/p>\n

Also casinos rather than standalone mobile casino apps nevertheless ran perfectly to the mobile\u2014perfect for short is divine fortune legit<\/a> revolves when you’re wishing in the travelers with the We-40. SuperSlots and you can Harbors.lv submit good live and you will slot alternatives, good for TN users chasing assortment and high-RTP step. When you figure out how these types of real money gambling enterprises work, they\u2019ll swiftly become your own go-so you can, week-end entertainment. Which have an effective 96% RTP and you may 20x multipliers on the free revolves bullet, this prairie-styled position is perfect for TN nature couples to your look.<\/p>\n

These things might be handled just like the no-prize activity, far less gambling on line or a good workaround to possess on-line casino enjoy. Specific amusement-just personal gambling establishment apps might still be around once they fool around with Coins only plus don’t become promotional sweepstakes money or award redemptions. If you choose to use a gold Money-simply public gambling establishment tool during the Tennessee, ensure it is purely amusement-built.<\/p>\n

Old-fashioned real-money casinos on the internet try illegal, and you may sweepstakes casinos exist during the a legal grey area. This new Sporting events Wagering Council (SWC) is responsible for keeping track of the online wagering scene into the Tennessee. When you’re 18 otherwise old, you might legitimately hit right up public and you will sweepstakes gambling enterprise internet sites. Could possibly get 2019 spotted Tennessee flip the program with the online sports betting, so it’s court and regulated. Because stands, real-money online casinos are unlawful, and you also wouldn’t discover one brick-and-mortar bones either. Getting one to as it can, you might nevertheless appreciate your favorite online casino games at social casinos at no cost.<\/p>\n

Merely be certain that you’re using a legit, state-subscribed sportsbook and you\u2019lso are of sufficient age to gamble legally. Tennessee allows every types of on the web wagering. Fool around with brush and gold coins, and you may scratch one playing itch. New fits has to be complete until the Totally free spins is end up being used. 10 revolves a day for 5 weeks. Participants in Tennessee might not have the complete on the web betting meal, but there’s nevertheless a great deal to meal to the.<\/p>\n

Where you can find a number of advertisements and Fortunate Creek bonus codes, the site has match incentives and free spins, taking a strong begin for novices. This blend of video game assortment, payment independency, and you may attractive incentives produces Bovada the leading solution among offshore sportsbooks and you may real cash web based casinos into the Tennessee. not, the long term keeps possibility of changes, while the success of online wagering means the potential monetary benefits of extended online gambling. The working platform has generated a good reputation into the on line gambling area through providing several sportsbook properties in order to focus on bettors with various choice.<\/p>\n

If you\u2019re fresh to a real income online gambling for the Tennessee, Raging Bull\u2019s member-amicable site is a wonderful starting place. You can find dozens of real cash online casino Tennessee internet sites your is join. Therefore, the only way to own Tennesseans to gamble online lawfully would be to check out a major international internet casino acknowledging players regarding Tennessee. Given that acknowledged overseas gambling bodies licenses him or her, Tennessee players can be properly signup in the place of issues of court repercussions. Tennesseans is also legally availability top all over the world gambling enterprise websites offering real money local casino betting. not, since there is broadening request and you may social help, there is strong opposition.<\/p>\n

Tennessee doesn’t have real time poker bedroom as county has no commercial or tribal gambling enterprises. The state failed to were online poker regarding the 2019 wagering authorization. This new launch coincided which have NFL seasons and you can SEC activities peak involvement, producing strong initially deal with. What the law states especially did not authorize commercial otherwise tribal casinos in the conjunction which have sports betting, maintaining Tennessee’s no-casino state status when you are adding controlled cellular wagering. New country’s complete lack of inside the-county local casino infrastructure (no industrial gambling enterprises, zero tribal gambling enterprises), in conjunction with old-fashioned county political people and you will religious community effect on gaming rules, produces structural traps in order to internet casino expansion. There are not any commercial or tribal casinos.<\/p>\n

The official continues to build its digital interest however, shows absolutely nothing manifestation of beginning real gambling enterprises. The state typically compared every sort of betting, which have strong restrictions set up on the 20th 100 years. The main focus is on mobile gamble, guaranteeing professionals features amusement with no infrastructure from real gambling enterprises. No tribal casinos, no racetracks, and no physical sportsbooks can be found. Customers can take advantage of legally controlled possibilities instance on the web sportsbooks, every single day fantasy sports, on line bingo, and also the county lotto. Of many Tennessee online gambling internet sites one jobs because the personal otherwise sweepstakes gambling enterprises bring casino poker games that let you wager fun or participate to have awards legitimately.<\/p>\n

Free spins apply to selected harbors and winnings was susceptible to 35x wagering. Stakeholders consistently lobby having a managed model filled with user defenses and taxation revenue revealing. The official\u2019s statutes ban people casino\u2011concept online game produced online, whatever the provider\u2019s venue. The state\u2019s Consumer Cover Section has actually issued cautions that numerous \u201cTennessee\u2011licensed\u201d online casinos try make believe fronts.<\/p>\n

The potential legalization from web based casinos and casino poker when you look at the Tennessee was a subject from significant argument. Guidelines operate eg Rep. Jason Powell\u2019s HJR0093, aimed at legalizing local casino gaming to cover K-several studies, signal a potential change inside the Tennessee\u2019s stance into the gambling on line. Brand new lottery\u2019s effect on studies resource is actually a testament to the possible benefits associated with managed gaming items.<\/p>\n

Places usually begin from the $ten so you can $50 with regards to the web site and means, and you can bet towards personal hands or revolves range from cents on the lower avoid to several hundred cash for each hands at higher-limit tables. Tennessee owners who are in need of internet casino betting will continue depending on overseas operators while using the controlled programs having sports betting. Tennessee does not have any betting percentage just like those in claims with industrial gambling enterprises once the Tennessee doesn’t have industrial casinos otherwise tribal casinos to control. The sites below was basically checked-out of the numerous years of actual Tennessee customers feel and you will always undertake Tennessee consumers since this new current review. Gold Coin-only societal gambling enterprises use you to low-redeemable digital currency to possess entertainment game play just.<\/p>\n","protected":false},"excerpt":{"rendered":"

You\u2019ll be offered a good 250% bonus all the way to $2,five hundred along with fifty complimentary spins into Mighty Keyboards slot towards the the first put. If you choose to invite everyone with each other into the drive, you’ll be able to wallet a 50% bonus all the way\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-166893","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/166893","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=166893"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/166893\/revisions"}],"predecessor-version":[{"id":166896,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/166893\/revisions\/166896"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=166893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=166893"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=166893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}