/* 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":128711,"date":"2026-05-25T13:30:55","date_gmt":"2026-05-25T13:30:55","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=128711"},"modified":"2026-05-25T13:30:56","modified_gmt":"2026-05-25T13:30:56","slug":"honey-hurry-100-is-actually-a-lively-fast-moving-position-laden-with-streaming-wins-multipliers-and-you-will-team-technicians","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/honey-hurry-100-is-actually-a-lively-fast-moving-position-laden-with-streaming-wins-multipliers-and-you-will-team-technicians\/","title":{"rendered":"Honey Hurry 100 is actually a lively, fast-moving position laden with streaming wins, multipliers, and you will team technicians"},"content":{"rendered":"

Play’N Wade did a great job from making the full risk within lower than-middle, making it simpler having members getting their harmony below handle. To put your choice, click on the button \ufffdSubtraction\ufffd (-) to attenuate the choice and click the latest button \ufffdAddition\ufffd (+) to boost your choice number. Before such as a remarkable position online game having better-customized picture and inventive symbols, do you want to check out this excellent playing travel? Scroll upward to the top webpage and take pleasure in one of many most adorable slot video game – on demonstration variation.<\/p>\n

You could comment the brand new paytable through the \ufffdI’ switch, that explains icon opinions, class earnings, and details on cascades and you will multipliers. Whenever Honey Hurry 100 loads, cartoon bees hype around the hexagonal grid because vegetation and you will gold coins shed into the put.<\/p>\n

Sure, every greatest Play’n Wade-driven web based casinos feel the games found in real cash and you will demo setting. It is from the no additional pricing to you personally and cannot apply at your own gambling liking to possess a casino. The initial hexagon grid style increases the theme, featuring are people pays, sticky wilds and much more.<\/p>\n

Continue things interesting with cascades, gluey wilds, a victory multiplier, and you can a dash Meter that gives your a whole lot larger cluster pays. UK-depending people will need to citation an instant years see in advance of to try out any online casino games at no cost. The brand new nine,000x restriction win\ufffdrather more than the new developer’s antique 5,000x restrict\ufffdshows the latest game’s explicit structure to have large-volatility enthusiasts. It framework elegantly substitute antique free spins which have a merit-based element progression system. You may also see Immortal Relationship or Guide regarding Shadows in case your Scatter-established auto mechanic is the reason why your day for your requirements.<\/p>\n

After each profitable party, symbols cascade off and you will new ones fill the latest blank rooms, possibly undertaking additional gains. They uses a cluster will pay mechanic in which wins try designed of the connecting at the least 5 complimentary symbols horizontally or vertically. After each and every winning team, icons slide aside and brand new ones cascade as a result of fill blank places, possibly starting most effective combinations. Low-really worth symbols become five rose activities, if you are mid and you can highest-tier icons advances thanks to tan, gold, and you may gold coins so you can diamonds. Wins function when at the very least 5 complimentary icons connect horizontally otherwise vertically. Whenever a group victories, symbols clear and the fresh icons shed, potentially connecting to the next line or cluster hits.<\/p>\n

Any time you peak up, you will end in the fresh Drone Colony ability, which provides you with a cluster from no less than 7 matching signs in addition to a sticky nuts. ond icon is one of worthwhile icon on the a position regarding the a beehive, but that’s only the means it is here. When you are a person who provides characteristics-inspired slots having creative provides and you will big earn potentials, Honey Hurry may be worth your time and effort. They well catches the newest essence off character-lavish environmentally friendly woods with active bees doing work its magic into the honeycombs. Since you spin the brand new reels, you can fill-up the brand new Hurry Meter having successful clusters. Another and you can exciting slot experience, prepare yourself to feel the new rush during the Honey Rush!<\/p>\n

The fresh new go back to pro associated with the games are vegas moose casino<\/a> %, above our measuring stick to own mediocre out of around 96%. Honey Hurry has some new features to store things interesting (talking about in depth entirely less than). Coupling which on the lovely songs and you will enjoyable sound files, the entire style of that it slot was hugely good. The fresh new reels have clear, smartly designed icons which can be transferring having high slickness and you can adequate flare to store things interesting. Honey Hurry is an excellent exemplory case of slot construction. The brand new bees may be passing away across the world, however, right here on the web he is worthwhile.<\/p>\n

The overall game converts really in order to quicker windowpanes, with no deformation otherwise death of quality<\/h2>\n

No matter what style of sense you’re in the mood for, you will be destined to see some other ports that provide just what you’ll enjoy. The general Rating associated with local casino online game is actually computed considering our very own search and you may investigation obtained of the our online casino games feedback people. Are they fun, enjoyable, with great Hd top quality! We are purchased making sure gambling on line is actually liked sensibly.<\/p>\n

Honey Hurry spends a group pays program on the a great hexagonal honeycomb grid-you are matching symbols around the adjoining cells in lieu of traditional paylines. It will help select whenever focus peaked \ufffd possibly coinciding that have significant victories, marketing and advertising strategies, otherwise high profits becoming shared on line. The newest Rush Meter requiring 160 symbols to have Queen Nest and you can gluey wilds multiplying to 27x do much time droughts anywhere between has \ufffd that’s the trading-off for 9000x potential. This get shows the positioning of a position predicated on their RTP (Go back to Member) compared to the most other games on the platform.<\/p>\n

The video game has have like Insane multipliers, Rush meter, People, and you may Colony benefits<\/h2>\n

In this Honey Rush 100 slot remark I will give you my sincere view into the game, their bonus has, framework, and much more. Having its grand payment prospective, its mediocre RTP, feature-piled game play, and you will pro-favourite theme, Honey Rush 100 provides the elements become e to help you is. Therefore, here are a few a few options the following in the casinos, and you will certainly find one that’s up to the criteria to help you is actually the overall game there. Recommendations are based on standing on the assessment dining table otherwise particular algorithms. Over the years we have collected matchmaking towards internet’s best position games developers, so if a new video game is about to get rid of it’s likely we shall learn about it earliest. Honey Rush 100 also offers an average RTP out of 96.2%, that’s extremely unstable.<\/p>\n

The latest Nest possess in the above list all of the fundamentally clone the fresh icon one to is in the middle of one’s grid, making a group off complimentary symbols in order to prize your a finances award. Having a complete set of signs and their payout beliefs click the latest i option at the end remaining of games screen. There are also four straight down-using symbols represented because of the additional-coloured vegetation, which can be each worth around 10x your bet for thirty-five+ matching signs.<\/p>\n

The fresh new Honeypot have a tendency to disperse at random in the grid and you will function winning groups with 1x, 2x, or 3x multipliers. Men and women are going to be watching the game getting a very while! As well as, if you don’t fees the brand new Rush meter, your payouts would be low, and also you chance dropping over winning. However, if you play online slots the real deal currency, we recommend your read the article regarding how ports functions basic, so you know very well what to expect. For people who lack credit, just resume the video game, and your gamble money harmony will be topped right up.If you’d like it gambling establishment game and want to try it during the a bona fide money function, click Play inside a gambling establishment.<\/p>\n

We like to set a spending budget very first, after that choose down wagers because they score a become for how the fresh clusters and also the meter develop during a circular. Once they carry multipliers, the biggest clusters normally arrived at huge profits. The fresh game’s paytable suggests just how each symbol leaps after you started to 15, 20, 25, or even thirty contacts in one go.<\/p>\n","protected":false},"excerpt":{"rendered":"

Play’N Wade did a great job from making the full risk within lower than-middle, making it simpler having members getting their harmony below handle. To put your choice, click on the button \ufffdSubtraction\ufffd (-) to attenuate the choice and click the latest button \ufffdAddition\ufffd (+) to boost your choice number.\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-128711","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/128711","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=128711"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/128711\/revisions"}],"predecessor-version":[{"id":128715,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/128711\/revisions\/128715"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=128711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=128711"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=128711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}