/* 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":129418,"date":"2026-05-25T13:31:44","date_gmt":"2026-05-25T13:31:44","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=129418"},"modified":"2026-05-25T13:31:44","modified_gmt":"2026-05-25T13:31:44","slug":"honey-rush-100-was-a-dynamic-fast-paced-slot-laden-with-streaming-wins-multipliers-and-you-will-team-aspects","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/honey-rush-100-was-a-dynamic-fast-paced-slot-laden-with-streaming-wins-multipliers-and-you-will-team-aspects\/","title":{"rendered":"Honey Rush 100 was a dynamic, fast-paced slot laden with streaming wins, multipliers, and you will team aspects"},"content":{"rendered":"

Play’N Wade performed an effective occupations off design the entire stake at below-center, making it simpler getting professionals to have their balance not as much as control. To place your bet, click the option \ufffdSubtraction\ufffd (-) to minimize their choice and click the new switch \ufffdAddition\ufffd (+) to increase the choice matter. In front of such as a remarkable slot game with well-customized graphics and creative icons, do you want and find out this excellent playing travels? Scroll up to the top webpage and luxuriate in among the most adorable slot video game – on the demo type.<\/p>\n

You can review the fresh new paytable via the \ufffdI’ button, which explains symbol beliefs, group profits, and you may info on cascades and you will multipliers. When Honey Hurry 100 loads, cartoon bees buzz around the hexagonal grid because the plant life and you can gold coins lose to the set.<\/p>\n

Yes, every greatest Play’n Go-powered online casinos have the game for sale in real money and you will demo form. This really is at no extra pricing to you personally and cannot apply to your own gambling taste to own a casino. The unique hexagon grid style enhances the theme, and features is people pays, gluey wilds and.<\/p>\n

Remain stuff amusing that have cascades, sticky wilds, a winnings multiplier, and you may a dash Meter that delivers you a great deal larger cluster will pay. UK-founded people should ticket an instant ages see just before to relax and play one internet casino video game for free. The fresh new nine,000x restriction victory\ufffdnotably higher than the latest developer’s antique 5,000x restrict\ufffdshows the brand new game’s direct design getting large-volatility fans. Which construction elegantly replaces old-fashioned totally free spins which have a quality-founded feature advancement system. You can also see Immortal Love otherwise Publication regarding Tincture when your Scatter-centered auto technician is the reason why a single day for your requirements.<\/p>\n

After every effective people, symbols cascade off and brand new ones fill the brand new blank places, probably undertaking extra victories. They uses a cluster pays auto mechanic in which wins are molded from the connecting at the very least 5 matching Vistabet<\/a> signs horizontally otherwise vertically. After each effective team, symbols slide out and brand new ones cascade down seriously to fill blank places, probably undertaking even more successful combos. Low-really worth symbols tend to be four flower designs, when you find yourself mid and you can highest-tier signs advances thanks to bronze, silver, and you may gold coins to diamonds. Wins function when about 5 matching symbols connect horizontally otherwise vertically. Whenever a group wins, icons clear and you will the brand new signs shed, probably linking for the subsequent range or people hits.<\/p>\n

Every time you level up, you will lead to the latest Drone Colony function, and therefore offers a cluster out of at least 7 matching symbols as well as a gluey insane. ond symbol is among the most beneficial symbol towards a position on the a good beehive, but that’s only the way it goes here. While you are a person who provides character-themed slots which have imaginative enjoys and you can enormous earn potentials, Honey Hurry deserves your time. It perfectly catches the brand new essence away from characteristics-abundant green woods that have hectic bees doing work the miracle on the honeycombs. Since you spin the fresh new reels, you’ll be able to fill up the newest Rush Meter having effective clusters. A different and fun slot feel, prepare feeling the fresh new rush within the Honey Rush!<\/p>\n

The fresh new return to member of game is %, over our very own measuring stick to have average of roughly 96%. Honey Rush has some new features to keep things interesting (these are in depth in full below). Coupling it for the pleasant tunes and enjoyable sound files, all round design of that it slot try massively noble. The fresh new reels have evident, well designed symbols which might be going that have higher slickness and you will sufficient flare to keep stuff amusing. Honey Hurry is an excellent exemplory case of slot structure. The latest bees can be passing away all over the world, but right here online he could be prosperous.<\/p>\n

The online game converts better to help you smaller windowpanes, and no distortion or death of high quality<\/h2>\n

No matter what type of sense you are in the feeling to own, you might be destined to find additional harbors giving just what you’ll relish. The general Get for the casino video game is computed centered on all of our search and you will data compiled by all of our gambling games review cluster. Will they be enjoyable, entertaining, along with good High definition top quality! We’re committed to guaranteeing online gambling is preferred sensibly.<\/p>\n

Honey Rush uses a group pays program on the an excellent hexagonal honeycomb grid-you are coordinating symbols round the adjoining tissues in lieu of conventional paylines. This will help to pick whenever focus peaked \ufffd perhaps coinciding that have big gains, promotional techniques, otherwise significant profits getting mutual online. The newest Hurry Meter requiring 160 symbols for Queen Nest and you may sticky wilds multiplying to help you 27x manage much time droughts ranging from provides \ufffd that’s the exchange-off to possess 9000x prospective. That it get shows the career off a slot centered on the RTP (Go back to Pro) as compared to most other online game to your platform.<\/p>\n

The online game features has including Insane multipliers, Rush meter, Group, and Colony benefits<\/h2>\n

Within Honey Hurry 100 slot opinion I am able to make you my personal sincere thoughts towards online game, the incentive enjoys, build, and. Using its grand payout possible, their mediocre RTP, feature-piled game play, and you will player-favorite theme, Honey Rush 100 has all the facets becoming elizabeth to is. Therefore, here are a few several options listed here in the casinos, and you will indeed choose one that’s as much as your own standards so you’re able to is actually the game around. Evaluations are derived from position regarding evaluation table otherwise particular algorithms. Usually we built up relationship on the internet’s best position game developers, so if a different game is going to drop the likelihood is we shall learn about they earliest. Honey Rush 100 also offers an average RTP regarding 96.2%, that’s extremely volatile.<\/p>\n

The new Colony has listed above all the fundamentally duplicate the new symbol one is in the center of the grid, while making a group of matching signs in order to honor you a profit honor. To possess an entire range of signs as well as their commission opinions simply click the brand new we key at the end leftover of your games display screen. There are also five lower-expenses symbols portrayed by additional-colored plant life, which can be for every single value as much as 10x their bet to own 35+ coordinating icons.<\/p>\n

The new Honeypot usually flow at random within the grid and function winning groups with 1x, 2x, otherwise 3x multipliers. Folks are will be seeing the game to own a highly lifetime! In addition to, if you don’t fees the fresh Hurry meter, your own profits would be reduced, therefore risk shedding more winning. Yet not, if you decide to play online slots games for real money, i encourage you realize our very own blog post about how exactly ports really works earliest, so that you understand what to expect. For those who lack loans, simply restart the video game, and your gamble money balance would be topped upwards.If you prefer this local casino video game and want to test it inside the a genuine currency function, simply click Play during the a casino.<\/p>\n

People wanna put a spending budget earliest, next like all the way down wagers while they get a getting for how the fresh clusters plus the meter establish during a circular. When they carry multipliers, the most significant groups can also be started to huge profits. The new game’s paytable reveals exactly how each symbol leaps once you visited 15, 20, twenty five, otherwise 30 connections in one go.<\/p>\n","protected":false},"excerpt":{"rendered":"

Play’N Wade performed an effective occupations off design the entire stake at below-center, making it simpler getting professionals to have their balance not as much as control. To place your bet, click the option \ufffdSubtraction\ufffd (-) to minimize their choice and click the new switch \ufffdAddition\ufffd (+) to increase the\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-129418","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/129418","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=129418"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/129418\/revisions"}],"predecessor-version":[{"id":129425,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/129418\/revisions\/129425"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=129418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=129418"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=129418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}