/* 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":136292,"date":"2026-05-27T19:52:24","date_gmt":"2026-05-27T19:52:24","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=136292"},"modified":"2026-05-27T19:52:25","modified_gmt":"2026-05-27T19:52:25","slug":"for-those-who-already-have-a-merchant-account-on-this-web-site-it-is-not-for-you","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/for-those-who-already-have-a-merchant-account-on-this-web-site-it-is-not-for-you\/","title":{"rendered":"For those who already have a merchant account on this web site, it is not for you"},"content":{"rendered":"

The first acceptance bring we shall look at is designed specifically for the fresh EnergyCasino users. Since EnergyCasino added bonus part is not difficult and you may certainly outlined, additionally there is a lot you must know in making the brand new really of this type of also provides. EnergyBet was a relatively the fresh new bookie in the wonderful world of recreations playing, nonetheless it features quickly rose being one of several industry’s preferred possibilities. Join all of our demanded the new United states gambling enterprises to relax and play the latest position games and have a knowledgeable invited bonus offers to possess 2026.<\/p>\n

Most of the good EnergyCasino ratings is to initiate in which genuine pages perform, which can be for the acceptance added bonus, whether it is all of our Regal Panda feedback or LVBet score. Totally free Enjoy is going to be a smart way to understand more about Time Casino’s lobby and attempt the latest headings when you find yourself reducing chance. The modern zero-deposit added bonus will be stated on the code JOHNNYBET and supply \ufffd5 in the European countries, CA$eight inside the Canada, or NZ$seven for the The newest Zealand.<\/p>\n

Almost all game available on the fresh new pc variation is actually obtainable to your mobile, plus online slots games, dining table online game, and you will real time dealer online game. With our security measures positioned, people can also be believe one to the data is secure, hence the newest video game considering is reasonable and you may monitored. Furthermore well worth detailing you to some detachment tips will get happen an effective payment, very examining facts for every single approach in advance is most beneficial.<\/p>\n

Carry on studying all of our EnergyCasino opinion making a knowledgeable choice regardless if it casino ‘s the best complement you. Stimulate through particular subscription website links. On your next Book Of Dead apk<\/a> deposit, claim the new fifty% Reload Added bonus doing \ufffd\/$2 hundred. Plus best-level betting solutions, EnergyCasino provides pleasing offers and you can bonuses to keep the ability high. If you don’t need to contact the support people, there can be an enthusiastic FAQ page.<\/p>\n

Get the Betway Gambling establishment software now in the Enjoy Store otherwise the fresh Application Shop and you can dive to the a whole lot of fun games, big wins, and you will private bonuses. When you earn all of our online casino games on the internet, your profits will be readily available for detachment in your account, at the mercy of betting conditions. If you’d like the fresh adventure off a stone-and-mortar gambling enterprise, all of our real time casino games will bring the energy for your requirements having real time buyers. No matter their to play layout, our very own casino games guarantee a delicate, exciting and fun feel.<\/p>\n

Answer day thru real time cam is usually instant, when you’re current email address questions are occasionally handled in 24 hours or less. Players have access to Energy Casino’s 50 totally free revolves having particular slot online game without needing to build an initial put. Consider every conditions and terms pertaining to wagering conditions unfalteringly. Before choosing one venture, excite browse the conditions and terms. For those searching for a lot more bonuses, the fresh new rooster wager no deposit extra is a great option to discuss much more online game instead of risking the money.<\/p>\n

Often you might have to input a promotion code to help you redeem this added bonus, very browse the requirements carefully to avoid frustration. Always remember to endure the latest fine print related to No-deposit Incentives to decide ideas on how to claim and you can get all of them. Luckily for us, the fresh new EnergyCasino playing system remains correct concise away from quality which had been given right from the start. We never had to wait more than one minute during those days and was constantly amazed because of the quality of people answers. To begin with, there is certainly the brand new FAQ section, as well as how better they describe on their own when it comes to conditions and terms.<\/p>\n

That it earliest deposit added bonus expands according to the sum of money you put to your take into account the first occasion. For people who register via the hook up on the the website, the energy Gambling enterprise no deposit added bonus may be the earliest higher present normally snap upwards. Next to the ‘Tournaments’ button you’ve got the ‘Promotions’ you to, where you can find more information regarding promotions and effort gambling establishment added bonus systems.<\/p>\n

Every fine print are essential with regards to offers and you will none be more crucial compared to the ever essential bonus code. Should you want to evaluate the deal with other revenue aside there, have you thought to have a look at the brand new MansionBet campaign product sales getting for example-for-like assessment out of bonuses and offers? We simply cannot consider much reason one casino enthusiast would not want so you can use the latest customer promote, and that bolsters what’s already the complete tool. Once you put each one of these bonus improvements from what was fairly outstanding welcome promotion, it is obvious EnergyCasino has a lot of advertising and marketing breadth. It wasn’t problematic for us, but it is you can there could be an oversight therefore twice-have a look at thru real time chat.<\/p>\n

Developed by business-top video game designers, our very own online casino games is actually unrivaled having quality and you can range<\/h2>\n

You can gamble all your favorite position online game enjoyment versus purchasing a cent during the online casinos (brick-and-mortar gambling enterprises do not give which opportunity). Whilst the specific betting standards and you may qualified game aren’t detailed, this sort of extra is a fantastic way to improve your first feel from the gambling establishment. Search the bonuses offered by EnergyCasino, along with its no deposit incentive also offers and you may very first put allowed incentives. Both preferred categories was totally free revolves no put incentives, which can be supplied to participants through to joining, and you will put bonuses, that are provided to members after they make in initial deposit.<\/p>\n

The energy Gambling enterprise no-deposit incentive render enjoys an extremely good wagering element just 35x<\/h2>\n

The newest Conditions and terms will give you all the details you desire in regards to the betting requirements, the newest 100 % free spin viewpoints and you will qualifying ports. While the already mentioned, progressive web based casinos give readers currency incentives and you will free revolves, in addition to a lot more incentives to provide participants a good start. Which Reload Added bonus is yet another well-known added bonus provided by progressive on line casinos, and also at EnergyCasino, the latest Reload Bonus is yet another section of the new welcome package.<\/p>\n

Pragmatic Gamble is amongst the trick casino’s people that provide constantly quality of game. Shortly after signing up for the website and you may taking advantage of the new allowed bundles, this is the correct time to make use of almost every other advertising. In addition, you will find a live casino acceptance provide having a 25% cashback getting together with $250. We have been certain that anyone may wish to test this on-line casino immediately after learning the newest opinion! Ergo, when rotating the latest reels otherwise while making wagers, you do not need to consider the safety of one’s investigation and cash.<\/p>\n","protected":false},"excerpt":{"rendered":"

The first acceptance bring we shall look at is designed specifically for the fresh EnergyCasino users. Since EnergyCasino added bonus part is not difficult and you may certainly outlined, additionally there is a lot you must know in making the brand new really of this type of also provides. EnergyBet\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-136292","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/136292","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=136292"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/136292\/revisions"}],"predecessor-version":[{"id":136293,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/136292\/revisions\/136293"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=136292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=136292"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=136292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}