/* 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":84284,"date":"2026-05-23T17:51:43","date_gmt":"2026-05-23T17:51:43","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=84284"},"modified":"2026-05-23T17:51:44","modified_gmt":"2026-05-23T17:51:44","slug":"user-reviews-of-our-professionals-will-allow-you-to-favor-a-reputable-gaming-program","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/user-reviews-of-our-professionals-will-allow-you-to-favor-a-reputable-gaming-program\/","title":{"rendered":"User reviews of our professionals will allow you to favor a reputable gaming program"},"content":{"rendered":"

Victories is a little bit hard to come by during the regular gamble because of the less rows to the remaining, nonetheless tend to be worthy of much more once they would strike. Zeus III even offers a low-conventional structure like other of your WMS position games you will find arrived at discover and you will love, to the front side pyramid layout reels outlined round the 6 reels and you can giving a tempting 192 paylines. Simply bettors more than 18 years old can enjoy Zeus casino slot, as well as this you ought to go to the real cash online casino web site. To raised comprehend the legislation and features of the game play, or maybe just enjoy Zeus WMS enjoyment, buy the video game inside the trial form.<\/p>\n

The straightforward game play, medium so you can highest variance, and you will entertaining motif allow available and fun to own an extensive list of members, offering one another adventure and you can high successful possible. Regardless if you are a fan of myths or maybe just searching for a game that have big winning possibilities, Zeus is a slot really worth seeking to. The advantage provides, for instance the 100 % free Spins and Wild icons, include levels out of adventure while increasing the probability of winning. The fresh picture and you will sound clips are very well-created, causing the fresh immersive experience. Zeus by the WMS are a classic position online game who may have endured the exam of time due to its interesting game play and you will enjoyable enjoys. The fresh new intricate signs and you can immersive graphics transportation participants on the world of one’s gods, making the game play more enjoyable.One of the talked about popular features of Zeus try their Totally free Revolves added bonus.<\/p>\n

The overall game explodes that have vintage casino slot games tunes, along with discover a remarkable sounds each and every time a great Spread places to your the latest reels. You can learn more info on slot machines and just how they work in our online slots games publication. If you do, people payouts your gather is available in the type of genuine cash prizes. The latest thrill is almost certainly not just as palpable, however, actually online harbors offer an enjoyable sense. One-step lower than which you yourself can discover the Pegasus, then the Vessel, Helmet, Harp, Vase, Silver Coin, Gold Coin not only that the fresh new Wreath.<\/p>\n

Beyond the issues stated, it’s key to remember that to play a position feels as though enjoying an effective cinematic feel. Make a note of for every award you earn and select in order to enjoy from the casino that gives one particular in the perks.<\/p>\n

Ze Zeus pays a real income awards whenever played from the authorized casinos on the internet during the real money means, payouts believe their choice as well as the game’s effects. Ze Zeus can be acquired at the greatest casinos on the internet which feature Hacksaw Playing slots, many of which provide great bonuses and you will safer betting environment. Regarding easy twenty-three-reel online game to help you book nine-reel slot games and you will antique casino desk video game, there is no diminished gambling entertainment offered.<\/p>\n

The latest online Zeus 2 position impresses which have a couple special icons and two added bonus have that’s sure to help you enhance your web gaming feel for the pc and you will smartphones. You’ll be able to to change the grade of Betano onlinekasino<\/a> the fresh picture and in which the latest twist switch will be found throughout the play for extra convenience. One wild signs you to definitely homes in the respins will additionally be held set up so you’re able to probably develop grand effective solutions.<\/p>\n

Only twist, win, and relish the unexpected gift spin bonanza that renders Zeus epic certainly one of online slots games. The video game shines smartest throughout the present twist training, in which retriggerable incentives is offer your playtime significantly. The new temple crazy icon seems exclusively into the reels 2, 3, and you will 4. It slot online game brings thrill with their legendary gift revolves feature. The video game enjoys 30 variable contours around the an old 5×3 reel configurations.<\/p>\n

Emails pop music with brilliant tone while keeping one classic slot machine become professionals like<\/h2>\n

While this may be annoying to possess users that choose extra series, bells, and you may whistles, it\ufffds ideal for the greater minimalist user. To possess cutting-edge solutions, you will have to click on the expander arrow. Setting your risk, you’ll want to purchase the quantity of paylines we should gamble over (one \ufffd 30) and the wager you want to place on for each line (0.01 \ufffd 5.00). It allows one familiarise themself for the playing constraints, incentive provides, the worth of the newest signs, and you will what is actually needed to cause incentive provides. Each of these headings has the benefit of amazing extra possess, higher level image, plus the ability to use desktop computer otherwise smartphones. Considering the popularity of this type of game, the top ten application merchant delivered an identical concept on the slots, as well as their online flash games directory exists during the a number of the most reputable casinos on the internet international.<\/p>\n

A highlight your’ll come across after you enjoy Zeus online ‘s the most recent 100 percent 100 % free spins element. James spends so it assistance to include credible, insider guidance as a consequence of his reviews and you may courses, breaking down the video game laws and giving tips to make it easier to profit with greater regularity. Yes, you may enjoy the newest Zeus position the real deal currency at any signed up online casino. The latest Zeus position game stays popular both in on the internet and land-centered gambling enterprises due to its entertaining theme, rewarding added bonus rounds, and you will solid payment prospective. Regardless if you are fresh to the game or trying routine your method, you could play the Zeus video slot exposure-100 % free before gaming that have genuine limits. The fresh new trial setting provides the primary possibility to speak about the fresh paytable, see the online game mechanics, and you will experience their enjoys, together with bonus rounds.<\/p>\n

Zeus the most common free online harbors during the Gamesville. Make sure to manage your money wisely having a sustained and enjoyable gaming sense????. Promoting the game play for the Zeus is not only on the fortune; additionally, it is in the knowing the game’s subtleties, and their varying paylines and features. Somewhat, it offers a totally free revolves function, that is perhaps the biggest appeal of this video game! All the payouts was immediately credited to your balance. Positives (considering 5) ranked the paylines, bonuses, and you may RTP while the secure and you will representative-friendly.<\/p>\n

A pleasant profit in fact however maybe not the greatest payment when looking at online slots<\/h2>\n

CategoryDetailsWildsYesScattersYesOther special symbolsN\/AGamble featureNoReel featuresN\/AFree spinsYesRespinsNoMultipliersNoOther incentive featuresWilds, 100 % free spins I’ve little negative to say regarding the Zeus slot machine’s share limitations \ufffd it’s for example SG Digital composed it with each solitary you’ll member planned. For the Zeus position restrict victory on a single symbol was $2,five hundred, but you will must be staking $150 to acquire truth be told there.<\/p>\n","protected":false},"excerpt":{"rendered":"

Victories is a little bit hard to come by during the regular gamble because of the less rows to the remaining, nonetheless tend to be worthy of much more once they would strike. Zeus III even offers a low-conventional structure like other of your WMS position games you will find\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-84284","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/84284","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=84284"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/84284\/revisions"}],"predecessor-version":[{"id":84285,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/84284\/revisions\/84285"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=84284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=84284"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=84284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}