/* 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":100770,"date":"2026-05-25T11:26:13","date_gmt":"2026-05-25T11:26:13","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=100770"},"modified":"2026-05-25T11:26:14","modified_gmt":"2026-05-25T11:26:14","slug":"honey-hurry-100-try-a-dynamic-fast-paced-position-loaded-with-cascading-wins-multipliers-and-you-may-team-aspects","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/honey-hurry-100-try-a-dynamic-fast-paced-position-loaded-with-cascading-wins-multipliers-and-you-may-team-aspects\/","title":{"rendered":"Honey Hurry 100 try a dynamic, fast-paced position loaded with cascading wins, multipliers, and you may team aspects"},"content":{"rendered":"

Play’N Wade did a work out of design the total stake during the lower than-middle, making it simpler getting professionals having their balance less than control. To place your bet, click the option \ufffdSubtraction\ufffd (-) to reduce your own choice and then click the new key \ufffdAddition\ufffd (+) to increase your wager amount. Facing including an amazing slot games having well-designed graphics and creative icons, do you want and see this excellent playing trip? Browse up to the top page and luxuriate in one of several cutest position game – on demo variation.<\/p>\n

You can comment the newest paytable through the \ufffdI’ option, which explains symbol opinions, group winnings, and you can information on cascades and you can multipliers. When Honey Hurry 100 loads, cartoon bees hype in the hexagonal grid because the flowers and you can gold coins lose into the place.<\/p>\n

Sure, the greatest Play’n Go-driven casinos on the internet have the video game in a real income and you may demonstration function. This really is at no additional pricing for you and should not apply to their gambling liking getting a casino. The initial hexagon grid layout enhances the motif, and features become team pays, sticky wilds plus.<\/p>\n

Continue things interesting that have cascades, sticky wilds, a win multiplier, and you will a rush Meter providing you with you a great deal larger class pays. UK-depending people will have to ticket an easy many years take a look at ahead of playing one on-line casino online game 100% free. The newest nine,000x maximum winnings\ufffdsignificantly more than the brand new developer’s antique 5,000x restrict\ufffdreflects the fresh new game’s direct framework having highest-volatility lovers. So it design elegantly substitute traditional free revolves with a merit-dependent ability advancement program. You can even view Immortal Love otherwise Guide from Tincture when your Scatter-centered auto mechanic is the reason why a single day to you personally.<\/p>\n

After each and every profitable team, signs cascade off and you will new ones complete the newest empty room, probably creating extra victories. It uses a cluster will pay auto technician where gains is formed by linking at least 5 complimentary symbols horizontally otherwise vertically. After every successful party, symbols slip out and you https:\/\/betnation-inloggen.nl\/<\/a> can new ones cascade down to complete empty places, potentially undertaking more successful combinations. Low-well worth symbols were four rose models, while you are mid and higher-level symbols improvements due to bronze, silver, and you may gold coins so you can diamonds. Victories mode when at least 5 complimentary signs link horizontally otherwise vertically. Whenever a group victories, icons obvious and you may the newest signs drop, probably linking to your further line otherwise group hits.<\/p>\n

Every time you top up, you’ll lead to the newest Drone Colony ability, and therefore offers a group regarding at least eight complimentary symbols in addition to a gluey wild. ond symbol is considered the most beneficial symbol towards a position on the a beehive, but that is just the means it goes right here. If you are an individual who possess nature-themed harbors which have imaginative features and you may massive win potentials, Honey Rush deserves your time. It well grabs the newest substance of nature-luxurious green forests which have busy bees doing work the miracle on the honeycombs. Because you spin the new reels, it is possible to fill up the latest Rush Meter that have effective clusters. Another and you will enjoyable slot experience, get ready feeling the latest rush for the Honey Rush!<\/p>\n

The new come back to member associated with video game are %, over our very own measuring stick to have average regarding approximately 96%. Honey Rush has many additional features to store things interesting (speaking of detail by detail entirely below). Coupling it for the pleasant songs and fun sound effects, the entire type of it position try hugely noble. The new reels feature sharp, well designed icons which might be going that have higher slickness and you will enough flare to keep stuff amusing. Honey Rush is a wonderful exemplory case of slot build. The fresh bees could be perishing throughout the world, however, here on line they are happy.<\/p>\n

The overall game means better to quicker screens, no distortion otherwise loss of quality<\/h2>\n

Long lasting form of sense you are in the feeling to possess, you are destined to pick some other harbors giving just what you’ll relish. The overall Get associated with the gambling establishment video game was determined considering the research and you may data collected from the our very own online casino games feedback cluster. Are they fun, interesting, and with good High definition top quality! Our company is committed to ensuring online gambling try enjoyed responsibly.<\/p>\n

Honey Rush uses a group will pay system for the a good hexagonal honeycomb grid-you will be coordinating signs around the adjacent muscle in lieu of antique paylines. This will help to pick whenever desire peaked \ufffd perhaps coinciding with significant wins, promotional ways, otherwise significant payouts getting mutual on the web. The latest Hurry Meter demanding 160 symbols to possess King Colony and gluey wilds multiplying in order to 27x perform long droughts between has \ufffd that is the exchange-out of to possess 9000x prospective. This rating shows the positioning of a position centered on the RTP (Return to Player) as compared to most other game to your program.<\/p>\n

The game possess has including Wild multipliers, Rush meter, People, and Nest perks<\/h2>\n

Within this Honey Rush 100 position review I’m able to give you my honest thoughts to the games, the extra possess, construction, and. With its huge commission prospective, their mediocre RTP, feature-stacked game play, and player-favourite motif, Honey Rush 100 provides the points to be e so you can is. So, here are some several options the next at gambling enterprises, and you’ll indeed choose one that’s up to your requirements to is actually the video game around. Reviews depend on condition regarding assessment dining table or certain formulas. Usually we’ve gathered dating into the internet’s leading slot video game developers, so if an alternative game is just about to drop it’s likely we’ll discover they basic. Honey Hurry 100 offers an average RTP of 96.2%, which is very volatile.<\/p>\n

The fresh new Colony features in the above list the fundamentally duplicate the latest symbol one is in the middle of the grid, to make a group off matching icons to award your a profit award. To possess an entire listing of signs in addition to their payment opinions click the newest we button towards the bottom left of your games display. There are even five all the way down-purchasing signs illustrated from the some other-coloured vegetation, which can be for every single worthy of around 10x their wager for thirty five+ matching icons.<\/p>\n

The new Honeypot have a tendency to move at random within the grid and you may means effective clusters with 1x, 2x, otherwise 3x multipliers. Everyone is will be watching this game to have a highly number of years! And, otherwise costs the latest Hurry meter, your winnings would be low, and you exposure dropping more successful. not, if you opt to gamble online slots games the real deal money, i encourage you see our very own blog post precisely how slots really works very first, and that means you know what can be expected. For individuals who use up all your loans, merely resume the game, and your play currency balance was topped right up.If you need this local casino games and wish to give it a try inside the a genuine currency setting, simply click Enjoy during the a gambling establishment.<\/p>\n

People desire to place a budget basic, next choose down bets as they score a become based on how the brand new groups as well as the meter develop during the a circular. When they carry multipliers, the most significant clusters can be reach grand earnings. The latest game’s paytable shows how each icon leaps after you reach 15, 20, 25, if not 30 connectivity in one go.<\/p>\n","protected":false},"excerpt":{"rendered":"

Play’N Wade did a work out of design the total stake during the lower than-middle, making it simpler getting professionals having their balance less than control. To place your bet, click the option \ufffdSubtraction\ufffd (-) to reduce your own choice and then click the new key \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-100770","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/100770","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=100770"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/100770\/revisions"}],"predecessor-version":[{"id":100771,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/100770\/revisions\/100771"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=100770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=100770"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=100770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}