/* 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":79816,"date":"2026-05-22T23:11:47","date_gmt":"2026-05-22T23:11:47","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=79816"},"modified":"2026-05-22T23:11:48","modified_gmt":"2026-05-22T23:11:48","slug":"wiz-ports-casino-comment-professional-member-reviews-2026","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/wiz-ports-casino-comment-professional-member-reviews-2026\/","title":{"rendered":"Wiz Ports Casino Comment Professional & Member Reviews 2026"},"content":{"rendered":"

But Plinko<\/a> then again, the new thresholds are very fair, processing is fast, and they don\u2019t fees one fees at all. Something that you don\u2019t find every day at the NZ online casinos ‘s the option to search for pokies by the theme. All the free spins come with no wagering criteria, as the deposit fits has a good 35x playthrough\u2014entirely realistic and one I managed to clear in the 7-working day limit.<\/p>\n

In a nutshell, Wiz Ports Casino takes in control gambling definitely, giving a range of has to help Kiwis enjoy its gambling feel when you are staying in manage. The main kind of support is with live chat, that allows players to connect that have knowledgeable agents in the real-date. Whether you are a casual player or a top roller, the new VIP system at the Wiz Ports means that all the visit is filled with exciting opportunities and you can generous perks!<\/p>\n

In terms of game, there\u2019s a good library featuring best app company. The game collection is comprehensive, even if as the a relatively the new platform, there\u2019s room to have growth. While it\u2019s a smaller casino, Kopeck\u00e1 listed its solid game library that have 37 company, clear commission options, and very high withdrawal restrictions, that make it a powerful options total. She gave it an above Mediocre Protection Index out of 7.step 1, directing so you can fair T&Cs with just several minor things and no major player complaints. The new max transaction limit is NZ$60,one hundred thousand, that’s pretty generous than the most other NZD casinos you to don\u2019t support cryptocurrencies.<\/p>\n

I found certain suspicious laws or clauses during the our comment, but not, i consider the Fine print out of Wiz Ports Casino so you can be mainly fair. Most of them has T&Cs containing laws and you can clauses that we look at as the unfair or plain predatory, because they will be kept up against players as the a basis to have withholding its winnings in some things. That it casino would be a sufficient option for certain players, but not, remember that there are more casinos you to prioritize fair treatment and you can protection of its users so you can a much higher education. A rule that’s unfair or predatory has the potential to be kept up against players to defend withholding its winnings, but in the case of the casino, i found just minor things. I met certain laws or clauses that we didn’t enjoy, however, overall, i consider the T&Cs to be mainly fair. Even if Wiz Ports Casino scored an above mediocre Protection Index out of 7.6, meaning it\u2019s a suitable option for certain, remember that there are casinos that have best ratings in the terms of fairness and you can protection.<\/p>\n

Such bonus finance can be used to the one game except Baccarat and you can Roulette, is subject to wagering criteria, and will expire after 30 days if the empty. The new mobile version is optimized to work effectively to the some mobile gadgets, giving a soft and you can seamless gambling feel on the go. The site has charming color and you can a pattern that’s not flooded with information.<\/p>\n

There\u2019s no doubt the game has been designed that have mobile compatibility in mind. I look after a list of online casinos that offer the very best welcome bonuses, as well as individuals with bonus terms that make saying and you can using your bonus easy. Winz casino bonuses are made to improve your casino feel. All the promotions come with obviously said terms \u2014 we believe players must always know what it\u2019re also joining prior to they say something. Looking for a deck that combines game diversity, fair perks, and you can a soft feel isn\u2019t easy \u2014 however, you to\u2019s what i\u2019ve set out to create. You can also anticipate all the safety and security that have SSL encryption and you can provably fair game.<\/p>\n

Basic variance administration at the Wiz Ports focuses on bankroll segmentation, address lesson wins, and you can predefined losses restrictions so that single crappy sequences don\u2019t derail a whole bankroll. This is especially important as the visual appeal and you can theme do not correlate that have how often the new reels shell out; structure options such as feature stacking and you can payline density shape the new rhythm out of wins and you can dead spells, so planning beats reaction plays. Lobby design and you can vendor merge apply to lesson pacing, and you can community opinions is also clue you to the and that game work on sexy or cold; a quick look for wiz ports casino will teach player threads on the hit frequency and you can bonus decisions. When shopping headings, fits volatility to the mood and you can stack playtime that have short bets so you can ride variance; if you want to is the new strikes, of many players like to play wiz ports when search unstable bonus cycles. And you can don\u2019t forget to return for new social game each week – our game are always free to play, so the fun never ends.<\/p>\n

The new smart and you can mythical mascot will be your book because you enjoy fun online gambling options such as progressive jackpot ports, instant game, and you can perks. There are cuatro type of Gambling Steps you to players can choose out of while playing ‘The Wiz’ ports game. Free Spins, Multiplier bonuses, low spending symbols exchanging to the high spending of them are some epic Bonuses you to ‘The Wiz’ ports game has to offer. You could play Genius out of Ounce slot machine at any casino offering the WMS catalogue out of game. The player is first asked to choose from one of the emeralds. The advantage bullet of your Genius out of Ounce is accessible out of the new Ounce Find Feature after they buy the Path to Amber City feature.<\/p>\n

Because you can find The new Wiz to the multiple online casino sites it\u2019s necessary to figure out the right one to play it to the. To have a much better option, prefer blackjack if the what you want very is making sure your bank account lasts the new longest. Observing the difference between dos% than the 0.50% suggests how high the new pit it is is. Household Edge’ stands for the average commission the new casino holds as the a good cash for each game or hand dealt. In many nations he has banned the advantage buy feature and you can certain online casinos have chosen not to have you to option.<\/p>\n

To play online slots, players have to first prefer a game and choose its bet size. You to allege for each player. When you are Wiz Ports has great features and you can pros, the platform is also boost to the interface structure. The new casino’s customer service is fast, and having checked out its live chat, I can say you can trust them to act in this twenty four times to the weekdays. Than the most other online casinos such as BetVictor and you can Unibet Uk, Wiz Ports also offers a more exciting welcome bonus and you can a wider list of commission options.<\/p>\n

Visit the help heart to search the new Frequently asked questions to have solutions to popular questions about fairness, protection, or other topics. To conclude, Wiz Ports Casino has carved away a niche to have in itself in the the new competitive landscape out of online gambling in the The new Zealand, giving an enticing mix of thrill, diversity, and you can player-centric has. The new casino will bring a thorough suite out of in control gambling has tailored to help players look after control of its gambling patterns and make told options. Wiz Ports Casino takes player love to the next level that have its tempting VIP and you can loyalty system, designed to prize loyal players with exclusive perks and you can pros. The new casino also offers a variety of commission options designed to cater so you can diverse preferences, ensuring that depositing and you can withdrawing finance is as trouble-free that you can. Players can enjoy a variety of vintage table game such as live blackjack, live roulette, and you can live baccarat, all the designed to simulate the new exhilarating atmosphere out of an actual casino floor.<\/p>\n","protected":false},"excerpt":{"rendered":"

But Plinko then again, the new thresholds are very fair, processing is fast, and they don\u2019t fees one fees at all. Something that you don\u2019t find every day at the NZ online casinos ‘s the option to search for pokies by the theme. All the free spins come with no\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-79816","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/79816","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=79816"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/79816\/revisions"}],"predecessor-version":[{"id":79817,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/79816\/revisions\/79817"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=79816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=79816"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=79816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}