/* 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":128748,"date":"2026-05-25T13:30:59","date_gmt":"2026-05-25T13:30:59","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=128748"},"modified":"2026-05-25T13:30:59","modified_gmt":"2026-05-25T13:30:59","slug":"honey-rush-100-is-actually-a-dynamic-fast-moving-slot-packed-with-streaming-wins-multipliers-and-you-may-group-technicians","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/honey-rush-100-is-actually-a-dynamic-fast-moving-slot-packed-with-streaming-wins-multipliers-and-you-may-group-technicians\/","title":{"rendered":"Honey Rush 100 is actually a dynamic, fast-moving slot packed with streaming wins, multipliers, and you may group technicians"},"content":{"rendered":"

Play’N Wade did an excellent occupations out of making the risk in the lower than-center, making it easier to possess members to have their balance less than manage. To put your choice, click on the option \ufffdSubtraction\ufffd (-) to minimize the wager and click the fresh new button \ufffdAddition\ufffd (+) to increase your choice number. In front of such an amazing slot video game that have well-tailored graphics and creative symbols, are you ready and see this great playing journey? Search upward to the top page appreciate among the many most adorable position game – from the demonstration variation.<\/p>\n

You could remark the new paytable through the \ufffdI’ wizard slots<\/a> option, which explains icon philosophy, party winnings, and you will informative data on cascades and you can multipliers. When Honey Rush 100 lots, comic strip bees buzz inside the hexagonal grid because the vegetation and you will gold coins drop towards place.<\/p>\n

Sure, all finest Play’n Wade-driven online casinos have the video game available in real cash and you can demo setting. That is in the no additional pricing to you personally and cannot apply to your gaming taste to have a gambling establishment. Exclusive hexagon grid concept adds to the theme, featuring include party pays, sticky wilds plus.<\/p>\n

Continue stuff amusing which have cascades, gooey wilds, a win multiplier, and you will a rush Meter that provides you even bigger people will pay. UK-founded players will have to admission an easy ages have a look at ahead of playing people on-line casino online game free of charge. The brand new nine,000x restrict winnings\ufffdnotably higher than the new developer’s antique 5,000x restrict\ufffdshows the fresh game’s specific design to have highest-volatility lovers. That it construction elegantly changes old-fashioned free revolves that have a merit-founded ability progression system. You can even consider Immortal Relationship or Guide of Tincture when your Scatter-based auto mechanic is the reason why your day to you personally.<\/p>\n

After every winning party, icons cascade down and you can brand new ones complete the new blank room, probably doing more victories. It spends a cluster will pay mechanic in which gains is designed by the hooking up at least 5 matching symbols horizontally or vertically. After every profitable team, icons fall aside and you may brand new ones cascade right down to complete blank areas, potentially creating a lot more effective combos. Low-really worth symbols tend to be four rose designs, if you are middle and you will large-level symbols advances thanks to tan, silver, and you may gold coins so you’re able to diamonds. Victories mode whenever about 5 coordinating signs hook horizontally or vertically. When a group victories, icons obvious and the fresh symbols drop, possibly linking for the next range or team strikes.<\/p>\n

Any time you height upwards, might end in the fresh Drone Nest function, and that provides you with a cluster of at least 7 complimentary symbols and a gluey wild. ond icon is the most beneficial icon to your a slot on a good beehive, but that’s precisely the means it is right here. When you’re somebody who enjoys character-styled ports which have innovative enjoys and enormous winnings potentials, Honey Hurry is definitely worth your time and effort. It very well captures the latest essence of nature-abundant eco-friendly forests that have active bees working their secret into the honeycombs. Since you twist the fresh new reels, you can refill the fresh new Hurry Meter having winning clusters. A different sort of and you may enjoyable slot sense, get ready feeling the fresh rush in the Honey Rush!<\/p>\n

The fresh go back to player of this game are %, above the measuring stick for mediocre out of approximately 96%. Honey Rush has many additional features to keep stuff amusing (talking about detail by detail in full lower than). Coupling this to your lovely tunes and you may enjoyable sounds, the general design of so it position was hugely good. The fresh reels feature sharp, well-designed icons that are moving having higher slickness and you will enough flare to keep stuff amusing. Honey Rush is a wonderful exemplory case of position structure. The fresh new bees is generally passing away all over the world, but right here online he or she is worthwhile.<\/p>\n

The game means really to help you smaller microsoft windows, without distortion otherwise death of high quality<\/h2>\n

Regardless of the sort of sense you’re in the feeling getting, you’re destined to get a hold of more ports giving just what you’ll relish. The overall Rating for the local casino games was computed centered on our very own browse and you can studies amassed of the our casino games feedback class. Will they be fun, enjoyable, and with great High definition high quality! The audience is committed to making sure gambling on line are preferred responsibly.<\/p>\n

Honey Rush uses a group will pay program to the good hexagonal honeycomb grid-you’re coordinating signs across adjacent structure rather than conventional paylines. This helps select whenever interest peaked \ufffd possibly coinciding that have biggest gains, marketing strategies, or significant payouts getting shared online. The brand new Hurry Meter requiring 160 signs to have King Colony and you will gooey wilds multiplying so you can 27x create long droughts ranging from features \ufffd that’s the trading-from getting 9000x prospective. That it get shows the position out of a slot based on the RTP (Come back to User) as compared to almost every other video game into the program.<\/p>\n

The video game possess possess including Wild multipliers, Hurry meter, Cluster, and you may Colony benefits<\/h2>\n

Inside Honey Hurry 100 slot review I could make you my personal sincere advice into the online game, their extra possess, design, and more. With its grand commission prospective, its average RTP, feature-loaded gameplay, and pro-favourite motif, Honey Rush 100 have all the factors as age to was. Thus, here are some a few options the subsequent within gambling enterprises, and you might yes find one that’s up to their conditions so you’re able to is the overall game truth be told there. Ratings are based on updates from the testing table or particular algorithms. Usually we have gathered dating for the web’s best position game developers, anytime a different game is about to lose the likelihood is we shall discover it first. Honey Rush 100 also offers the typical RTP off 96.2%, that’s very volatile.<\/p>\n

The newest Nest has listed above every fundamentally duplicate the latest symbol one to is in the center of your grid, making a cluster regarding matching symbols in order to award your a finances prize. Getting a full variety of icons in addition to their commission philosophy simply click the latest i switch at the end left of game display. There are also five lower-paying icons illustrated by the some other-colored plant life, that are for each and every well worth to 10x the choice to own thirty-five+ matching signs.<\/p>\n

The new Honeypot will circulate at random within the grid and you will mode profitable groups that have 1x, 2x, or 3x multipliers. People are gonna be viewing the game having an extremely while! And, if not fees the newest Rush meter, their payouts would be lower, and also you chance dropping more than successful. However, if you opt to gamble online slots games for real currency, we advice your see all of our article regarding how ports works earliest, you know very well what can be expected. If you run out of loans, merely resume the video game, and your play currency balance will be topped right up.If you prefer that it gambling establishment online game and wish to test it in the a bona-fide money function, simply click Gamble within the a casino.<\/p>\n

We wanna set a resources earliest, after that like all the way down bets as they score an end up being based on how the fresh new groups while the meter establish while in the a circular. When they bring multipliers, the greatest clusters normally visited huge winnings. The latest game’s paytable suggests exactly how for each and every icon leaps after you started to 15, 20, 25, otherwise 30 contacts all at once.<\/p>\n","protected":false},"excerpt":{"rendered":"

Play’N Wade did an excellent occupations out of making the risk in the lower than-center, making it easier to possess members to have their balance less than manage. To put your choice, click on the option \ufffdSubtraction\ufffd (-) to minimize the wager and click the fresh new button \ufffdAddition\ufffd (+)\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-128748","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/128748","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=128748"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/128748\/revisions"}],"predecessor-version":[{"id":128753,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/128748\/revisions\/128753"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=128748"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=128748"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=128748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}