/* 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":134714,"date":"2026-05-25T23:31:44","date_gmt":"2026-05-25T23:31:44","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=134714"},"modified":"2026-05-25T23:31:45","modified_gmt":"2026-05-25T23:31:45","slug":"white-orchid-slot-demo-%e1%90%88-igt","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/white-orchid-slot-demo-%e1%90%88-igt\/","title":{"rendered":"White Orchid Slot Demo \u1408 IGT"},"content":{"rendered":"

You snatch casino aplikace<\/a> can also take advantage of some mobile casino bonuses and you can promotions. That it online pokie has several bonus has that can help you boost your winnings. The game also has a wild icon, that’s depicted by the white orchid symbol. This game has been around for some years now, but it stays a famous options one of players. Is White Orchid free play first, it\u2019s the way to find out how the new wilds, scatters, and you can spins really work! For these checking the new rtp live slot worth, note that White Orchid online can get work on at the either 95.03% or 92.90%, depending on the version.<\/p>\n

You could\u2019t play your winnings in the demo, and there\u2019s no secondary risk game. Property two or more White Orchids to the 3rd reel and you can you\u2019ll score anywhere between ten and you can 20 free spins, based on how of many come. The new White Orchid flower ‘s the Spread, and it\u2019s key to unlock the new Free Spins bonus. The highest-spending icon on the feet game ‘s the black-haired woman, coughing up so you can 5,one hundred thousand gold coins after you property five to the a good payline. Even to the demo play, patterns is impossible to place, earlier performance don\u2019t anticipate upcoming cycles, and each spin feels independent. It type of reminds me of that vintage be you have made in the Cleopatra or Twice Diamond, however, here that have much more paylines and you can a soft search.<\/p>\n

So, no matter how you choose to do with your bets, you\u2019re also almost always going to come out to come. As a result players are typically able to earn a good return on their bets with this particular online slot. Better yet high bonus, most other bonuses are free spins and you can multipliers. We\u2019re also impressed that have White Orchid and you can think it\u2019s an impressive online slot. The new Jackpot count is high, at the credits, that it\u2019s worth to play. However,, it\u2019s not, the new developers has loyal this game so you can a lovely flower \u2013 orchids.<\/p>\n

The new name\u2019s dominance in the brick\u2011and\u2011mortar casinos resulted in an online version that aims to preserve its simple mechanics. Graphics is purposefully soothing\u2014orchids, butterflies, and you can soft pinks on the feet game\u2014moving on so you can a peaceful waterfall backdrop in the free spins. The world of online slots extends above and beyond IGT, that have a multitude of game out of some app company vying to have players’ interest. Look at our the new free online ports book to have more information.<\/p>\n

The new game’s amazing image and you can thematic soundtrack do a romantic atmosphere, as the some gambling options cater to a wide range of players, out of conservative bettors so you can high-rollers. According to the monthly amount of profiles looking this game, it has moderate request rendering it game not popular and you can evergreen in the \u2066\u2066\u2066\u2066\u2066\u20662026\u2069\u2069\u2069\u2069\u2069\u2069. As always, read the terms , contribution laws and you can wagering makes or crack the value of one deal. In many models you\u2019ll find a ways in which-to-win settings, so multiple matches on the same reel can boost a single result. Think about your dough\u2011and\u2011butter strikes as the runs out of premium connecting around the, to the stronger moments upcoming when stacked picture symbols line up next to a good patch out of wilds.<\/p>\n

All the IGT ports are different out of each other, specifically because of the theme, image, and you can atmosphere. Noting its solid work on innovation, just read on to find familiar with what you you’ll ever want to know about it server. You could post an email to the our contact form, feel free to create to me in the Luxembourgish, French, German, English or Portuguese. My interests is talking about slot game, reviewing online casinos, bringing tips on where to play game online for real currency and how to allege the best casino bonus sales. I like to play ports in the property casinos and online to have free fun and frequently i play for real money when i be a tiny lucky.<\/p>\n

So you can capitalize on such, sign in or log in to BetMGM Casino so you can capitalize on such and you can know about casino bonuses to have deposit matches, free spins, and more. Play the White Orchid slot right now at the BetMGM, or read on for more information on that it exciting game in the that it online slot comment. Hence, here you can buy a more leisurely impression and have high fulfillment on the game, as well as make money. Context and you can related headings – White Orchid is often categorized with other IGT MultiWay entries you to emphasize stacked symbols and you can line\/means independence.<\/p>\n

After you end up spinning, you\u2019ll know exactly how White Orchid\u2019s solutions works, what to expect for those who play for real, and you can where you can apply to comparable game. White Orchid slot out of IGT shines in the a field occupied that have bright lights, creature symbols, and you can bonus has. With over 40 years\u2019 feel bringing slots to have property-based casinos in america, IGT is a famous name in the world of casino gambling. The new crazy Symbol just looks to the reels dos, step 3, cuatro, and you can 5 and the exciting fact is that exist up to cuatro stacked wilds to the a good reel so you can multiply your successful chance. But not, White Orchid is more than only the stereotypical feminine slot game; there\u2019s much more underneath its skin. At the same time, causing and you can re also-causing free spins by the landing orchid cues is also somewhat boost wins, giving 150 free spins.<\/p>\n

In this comment, I`ll fall apart how it in fact plays over the years, what the symbols are worth so you can chase, how the has show up in practice, and you can if it\u2019s a slot you to perks patience or just tickets date. It\u2019s popular as it has the action steady, combination soft lessons to the weird screen\u2011filling relationship when piles act. Such give players a vibrant list of game just like the slot White Orchid, such as Immortal Romance and you can Buffalo Wins.<\/p>\n

Such platforms give hundreds of the most popular game, generous bonuses, and you can robust security features, making sure a safe and you can fun gambling feel. That it unbelievable name out of IGT shines because of its exciting bonus has. White Orchid comes with a minumum of one bonus has layered on top of your feet game. That it comment breaks down how the game works, what it really feels like to play, and you can where it lies in today’s online slots universe. The new user friendly interface makes spinning reels, adjusting bets, and you can gathering winnings be pure and you can easy. That have stacked wilds and you can exciting bonuses, that it high-variance slot by the IGT is made for admirers out of mysterious and you can animal-themed ports.<\/p>\n

Property the new white orchid four times (filling the center column entirely) you\u2019ll win the maximum 20 free spins. Hit just a couple orchids and you\u2019ll win ten free spins, when you are a couple orchids award you 15 free spins. To enter the new free spins bonus bullet, you\u2019ll have to property the new White Orchid icon dos, three or four moments anywhere to the middle column. At the lower end of your pay table you\u2019ll find the playing cards A good, K, Q and you can J. The first is the quality win lines, where you\u2019ll find 40 in all.<\/p>\n

Spin several cycles and you can move on if it\u2019s not clicking. As the what you here is free, there\u2019s totally free so you can playing around. We offer most of them in this post, but you can as well as here are some our page you to listings all the of our free slot demos out of A good-Z. You might think visible, but it\u2019s difficult to overstate the value of to play ports for free. After you\u2019re also to play for free, you to lingering momentum makes it easy to stay engaged without worrying on the bankroll, and it\u2019s a great way to talk about the game\u2019s volatility and you can hit potential risk-free. Magic Mother Megaways is one of the best free ports so you can is at the sweeps casinos this week, thanks to its high-time gameplay and you can solid feature lay, and that very shines in the demo mode.<\/p>\n","protected":false},"excerpt":{"rendered":"

You snatch casino aplikace can also take advantage of some mobile casino bonuses and you can promotions. That it online pokie has several bonus has that can help you boost your winnings. The game also has a wild icon, that’s depicted by the white orchid symbol. This game has been\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-134714","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/134714","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=134714"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/134714\/revisions"}],"predecessor-version":[{"id":134715,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/134714\/revisions\/134715"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=134714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=134714"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=134714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}