/* 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":5171,"date":"2026-04-24T02:02:07","date_gmt":"2026-04-24T02:02:07","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=5171"},"modified":"2026-04-24T02:02:09","modified_gmt":"2026-04-24T02:02:09","slug":"invited-each-week-cashback-much-more","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/invited-each-week-cashback-much-more\/","title":{"rendered":"Invited, Each week, Cashback & Much more!"},"content":{"rendered":"

This new respect system is actually concealing behind the three dots throughout the selection, but once indeed there, I happened to be capable show the application reveals their gates so you can all participants. Be sure to take a look at banners available on this site so you can get the newest information on people enjoy even offers I can get a hold of for your requirements in the local casino. It\u2019s primarily identical throughout the online game, but there are slight variations with respect to the minimum wager required per position video game. There\u2019s no chance from landing an Frost Gambling enterprise sportsbook promo password around, since there\u2019s no sportsbook to utilize, so you can work with what the casino acceptance promote possess in store for you. I\u2019ll prevent by proclaiming that conditions and terms will always topic so you’re able to transform and adjustments, off small facts to help you biggest alter. Our very own ads here bring after that facts, you could look at the authoritative site when it comes down to info you need.<\/p>\n

If you like simple and fast gameplay, slots is the best bet. Some professionals take pleasure in punctual-moving harbors, while others like proper desk video game otherwise immersive alive experience. The best casino games on the web for your requirements believe your own personal choice.<\/p>\n

Such revolves usually include wagering requirements and you will authenticity periods, so be sure to check the words very carefully. The new online casinos hit the online day long, so there\u2019s more than a few to select from. Other choices such as for instance Trustly, Paysafe, and you can GiroPay may also be offered based where you are.<\/p>\n

Here\u2019s a simple help guide to downloading and you will creating new Freeze Gambling enterprise cellular application on your own ios equipment. https:\/\/mega-joker.eu.com\/sk-sk\/<\/a> Our quick, hassle-free fee possibilities is common methods including PayPal and you will debit cards, making certain swift places and you can distributions. Join us now and watch as to why Ice Gambling enterprise are rapidly is a premier get a hold of to have United kingdom professionals and gambling followers exactly the same.<\/p>\n

Our very own bonus bundles start from a subscription bonus plan to help you a good lucrative cashback provide, and you may our generosity culminates from inside the a magnificent commitment system. If you are an online gambling establishment player, people casino worthy of your time and money need a casual extra inventory in order to praise another possess we realize online casinos getting. In case your athlete suffers financial losses during this time period, Freeze Local casino usually give him a limited reimburse – according to current rate of conversion. In the initial levels, they are relatively low, but regular profiles is confidence standards exactly like those provided because of the creating incentives.<\/p>\n

You\u2019ll have to put your bets until the skills commences, unless you\u2019re also taking part in real time gambling. Watch as the potential move in real time and seize their possibility to make better wagers. Put your bets for the Frost Local casino software for a high-notch sense regardless of where you are in great britain. See support your favourite activities and teams which have great possibility and a large sort of playing segments, all on a single simple-to-use system tailored for British punters. To your British\u2019s surviving betting scene, there\u2019s always an event to participate. Whether your\u2019re also spinning the latest reels towards the harbors otherwise seeking your own luck at the table online game, you can earn factors of the placing bets and you can accumulating victories to go up the latest leaderboard.<\/p>\n

You will find all in all, 9 membership regarding the Ice Casino VIP system, towards the high top having benefits from an effective 90% reload added bonus, an effective several% cashback bonus, and you may a birthday celebration added bonus. Less than we have considering the whole information on the fresh Ice Gambling establishment anticipate plan – Other than the newest qualifying online casino games, all other aspects such betting, maximum wagers, and you will detachment limitations are nevertheless an equivalent. Frost Gambling establishment has elected the quality means and you will offered free revolves no-deposit bonuses rather than 100 percent free potato chips.<\/p>\n

Discover 99 membership to reach, split into 10 membership statuses, each of and that somewhat has an effect on the possibilities of to tackle from the gambling enterprise. Brand new Frost Gambling establishment added bonus point are directly regarding all of our extensive commitment system program. Additionally, we have been conscious all of our pages provides other financial capabilities, this is exactly why chosen also offers are built in a way that everyone can benefit from them. Today\u2019s Freeze Local casino online casino will be create the profiles to help you always make the most of incentives this is just what the latest IceCasino bonus part is focused on. We know you to definitely what most drives the fresh new popularity of any on line gambling enterprise ‘s the suitable incentive promote. That\u2019s all the \u2013 when your facts satisfy Freeze Gambling establishment requirements, your bank account would be written and you can log on.<\/p>\n

Such as this, i apply an insurance policy off equal benefits for typical and the new users who have at this point obtained a knowledgeable gifts from inside the gaming (incentives for brand new professionals). When creating the action, the user obtains use of incentives when you look at the a basic setting, but reaching large levels will bring better standards because of their use. For each subsequent height is actually unlocked all the 10 membership, which often try attained of the getting after that pools from respect activities. We’re particularly pleased with the latest respect system you to always perks the web site members. It is important for some users are new acceptance provide.<\/p>\n

Compare how quickly every one pays away as well as their limits, upcoming choose the solution you like most readily useful. You\u2019ll have the same safer, fast-loading feel while the toward desktop computer, along with a popular have and you will segments readily available. Common points We noticed tend to be unfinished betting conditions, number less than lowest withdrawal restrictions, otherwise mismatched deposit\/detachment tips. We didn\u2019t simply browse the promotions page – I really reported now offers, satisfied betting requirements, and you can monitored how incentive fund behaved. The reload advertisements We checked varied away from 25% so you’re able to 75% meets rates, with additional realistic betting standards to 30x.<\/p>\n

The employees was instructed, brief, and you can sincere \u2014 they actually love resolving troubles, not only closing tickets. Such the legitimate gambling enterprise, Ice Local casino needs KYC confirmation \u2014 a simple examine to store profile safe and payouts smooth. Starting is fast and you will pain-free \u2014 below a minute, and you also\u2019re inside. You could potentially select notes, e-purses, otherwise direct transmits, and most strategies really works one another implies to have dumps and you may withdrawals.<\/p>\n

Every typical users on Frost Gambling enterprise are included in a fantastic support program offering a variety of satisfying professionals. Likewise, into the totally free revolves, a wagering requirement of 35 minutes (35x) is in place. In the place of conventional deposit bonuses, a zero-deposit incentive doesn’t require members to cover its profile to get they. Freeze Gambling enterprise Sign-up leaves you towards a simple track so you’re able to real recreation that have a quick, safe registration and a welcome package readily available for slot couples.<\/p>\n

It\u2019s leading by way of their clear product reviews and comprehensive confirmation regarding studies, it is therefore a spin-so you can money in the event you appreciate gambling and you will gambling about UK\u2019s controlled market. Trustpilot is actually a famous feedback program where British punters show legitimate opinions from the online casinos. If or not you\u2019re also backing one match otherwise building a keen accumulator, the it\u2019s likely that upgraded instantly so you’re able to reflect sector transform and provide you with excellent value every time. Take pleasure in several of the most aggressive odds-on well-known United kingdom sports and global events, that have choices to consider them for the fractional, decimal, otherwise American types\u2014any sort of is right for you best. Gambling chances are high displayed obviously, making it possible for you to decide on your next choice.<\/p>\n","protected":false},"excerpt":{"rendered":"

This new respect system is actually concealing behind the three dots throughout the selection, but once indeed there, I happened to be capable show the application reveals their gates so you can all participants. Be sure to take a look at banners available on this site so you can get\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-5171","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/5171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=5171"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/5171\/revisions"}],"predecessor-version":[{"id":5172,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/5171\/revisions\/5172"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=5171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=5171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=5171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}