/* 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":105092,"date":"2026-05-25T11:43:24","date_gmt":"2026-05-25T11:43:24","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=105092"},"modified":"2026-05-25T11:43:25","modified_gmt":"2026-05-25T11:43:25","slug":"honey-rush-100-are-an-energetic-fast-paced-slot-laden-up-with-streaming-victories-multipliers-and-class-technicians","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/honey-rush-100-are-an-energetic-fast-paced-slot-laden-up-with-streaming-victories-multipliers-and-class-technicians\/","title":{"rendered":"Honey Rush 100 are an energetic, fast-paced slot laden up with streaming victories, multipliers, and class technicians"},"content":{"rendered":"

Play’N Wade did a employment from design the complete stake at the below-center, which makes it easier to have people getting its balance around manage. To place your choice, click on the option \ufffdSubtraction\ufffd (-) to attenuate your own bet and click the fresh new switch \ufffdAddition\ufffd (+) to increase your bet number. In front of including an amazing position video game which have well-designed picture and creative signs, are you ready and determine this great betting travel? Browse up to reach the top webpage and savor one of several most adorable slot video game – regarding demo version.<\/p>\n

You might review the new paytable through the \ufffdI’ option, that explains symbol viewpoints, team payouts, and you can home elevators cascades and multipliers. When Honey Hurry 100 tons, comic strip bees hype inside the hexagonal grid because flowers and you will coins miss for the put.<\/p>\n

Yes, most of the top Play’n Wade-pushed casinos on the internet feel the game found in a real income and you will demo function. This can be during the no extra prices for your requirements and cannot affect their betting liking to possess a gambling establishment. Exclusive hexagon grid style increases the theme, and features become class pays, sticky wilds plus.<\/p>\n

Remain stuff amusing that have cascades, gooey wilds, a victory multiplier, and you will a rush Meter that delivers your a whole lot larger party will pay. UK-depending players will have to ticket a quick years look at ahead of to relax and play people on-line casino video game for free. The fresh nine,000x restriction win\ufffdsignificantly more than the new developer’s old-fashioned 5,000x restriction\ufffdshows the latest game’s explicit build to have highest-volatility fans. This construction elegantly substitute old-fashioned free spins that have a quality-dependent ability progression system. You could see Immortal Romance or Publication off Tincture in case your Scatter-based auto technician is the reason why your day for you.<\/p>\n

After every successful party, signs cascade off and you will brand new ones fill the fresh blank room, potentially carrying out more wins. They spends a group pays auto mechanic in which victories are formed by hooking up at least 5 coordinating icons horizontally or vertically. After every effective group, signs slip away and brand new ones cascade down to complete empty room, potentially starting even more successful combinations. Low-well worth icons include four rose habits, if you are middle and you can large-level symbols progress due to bronze, gold, and you may coins so you’re able to diamonds. Gains form whenever at the very least 5 matching icons hook up horizontally or vertically. When a cluster gains, signs clear and you can the newest signs drop, potentially linking towards after that range or class strikes.<\/p>\n

Any time you peak up, spinanga casino<\/a> you’ll bring about the newest Drone Colony ability, and that will provide you with a cluster off no less than eight matching symbols as well as a sticky insane. ond symbol is considered the most rewarding symbol towards a position on an excellent beehive, but that’s precisely the means it is here. If you are someone who enjoys nature-styled ports with creative have and you can enormous winnings potentials, Honey Hurry is worth some time. It well captures the fresh new substance off characteristics-lavish eco-friendly forests which have busy bees performing the magic towards honeycombs. As you twist the fresh new reels, it is possible to refill the latest Rush Meter with winning groups. An alternative and you can fascinating slot feel, prepare feeling the newest hurry inside the Honey Hurry!<\/p>\n

The fresh new return to pro for the game was %, over our very own measuring stick having mediocre of approximately 96%. Honey Rush has many new features to keep stuff amusing (talking about intricate in full below). Coupling that it for the pleasant sounds and you may enjoyable sounds, the entire design of this position was massively good. The newest reels include sharp, well designed icons which can be going having higher slickness and you may sufficient flare to keep things interesting. Honey Hurry is a wonderful exemplory case of position design. The new bees are passing away around the globe, but right here on the web he could be prosperous.<\/p>\n

The video game converts well so you’re able to smaller windowpanes, and no deformation or death of quality<\/h2>\n

Whatever the form of sense you are in the feeling getting, you may be destined to see various other harbors giving what you’ll enjoy. All round Score of casino video game are computed based on the lookup and you will study amassed from the all of our casino games comment team. Are they fun, interesting, along with excellent High definition high quality! We have been purchased ensuring gambling on line are appreciated sensibly.<\/p>\n

Honey Rush uses a cluster will pay system towards an excellent hexagonal honeycomb grid-you will be coordinating signs all over surrounding structure rather than old-fashioned paylines. This helps pick whenever focus peaked \ufffd possibly coinciding which have biggest victories, advertising strategies, or tall winnings are common on the web. The latest Rush Meter requiring 160 icons for Queen Nest and sticky wilds multiplying so you’re able to 27x manage a lot of time droughts between enjoys \ufffd that’s the trading-from to possess 9000x possible. Which score reflects the position from a slot based on its RTP (Go back to User) than the other games for the program.<\/p>\n

The game enjoys has particularly Wild multipliers, Hurry meter, Cluster, and you may Colony advantages<\/h2>\n

Contained in this Honey Hurry 100 slot opinion I could leave you my honest view into the game, the added bonus have, construction, and more. With its grand payment potential, their average RTP, feature-piled game play, and you may athlete-favorite theme, Honey Rush 100 features most of the issues is e to help you is actually. Thus, below are a few a few options the following at gambling enterprises, and you will indeed find one that is up to the standards so you’re able to was the online game there. Reviews derive from updates from the research dining table otherwise particular formulas. Historically there is built up relationships towards web’s top slot game designers, so if a new online game is going to shed it is likely we are going to hear about they first. Honey Rush 100 even offers the common RTP out of 96.2%, that’s very erratic.<\/p>\n

The newest Nest have in the list above all the essentially duplicate the fresh new symbol one to is within the middle of your own grid, and then make a group of coordinating signs in order to honor your a profit award. Having the full set of icons and their payment values simply click the newest i option in the bottom left of your own game screen. There are also four all the way down-purchasing signs illustrated by more-colored plants, that are for every value around 10x their bet getting 35+ complimentary signs.<\/p>\n

The fresh Honeypot tend to disperse at random in the grid and you will function profitable groups having 1x, 2x, or 3x multipliers. Men and women are will be seeing the game for an incredibly lifetime! In addition to, if you don’t charge the fresh Rush meter, your winnings would be reduced, therefore risk shedding more effective. However, if you choose to gamble online slots games for real money, i encourage you comprehend the blog post regarding how harbors works basic, so that you know very well what can be expected. If you run out of loans, just resume the game, and your gamble currency harmony is topped upwards.If you would like it local casino video game and want to try it within the a bona fide currency function, simply click Gamble within the a gambling establishment.<\/p>\n

We wish to put a budget first, next prefer lower wagers while they get a getting for how the newest groups as well as the meter develop while in the a circular. After they carry multipliers, the greatest groups is also started to huge profits. The fresh game’s paytable shows exactly how for every symbol leaps after you reach fifteen, 20, twenty five, if not thirty associations all at once.<\/p>\n","protected":false},"excerpt":{"rendered":"

Play’N Wade did a employment from design the complete stake at the below-center, which makes it easier to have people getting its balance around manage. To place your choice, click on the option \ufffdSubtraction\ufffd (-) to attenuate your own bet and click the fresh new switch \ufffdAddition\ufffd (+) to increase\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-105092","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/105092","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=105092"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/105092\/revisions"}],"predecessor-version":[{"id":105094,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/105092\/revisions\/105094"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=105092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=105092"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=105092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}