/* 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":89026,"date":"2026-05-23T18:12:37","date_gmt":"2026-05-23T18:12:37","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=89026"},"modified":"2026-05-23T18:12:38","modified_gmt":"2026-05-23T18:12:38","slug":"however-most-of-the-ports-you-to-definitely-run-out-of-a-particular-idea-and-you-can-extreme-construction","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/however-most-of-the-ports-you-to-definitely-run-out-of-a-particular-idea-and-you-can-extreme-construction\/","title":{"rendered":"However, most of the ports you to definitely run out of a particular idea and you can extreme construction"},"content":{"rendered":"

The main benefit features also are an effective extra advantage<\/h2>\n

However, Zeus twenty-three takes on very nicely from the enjoyable function, which have very constant spending revolves, one to my fun borrowing equilibrium never ran below their performing matter! Perhaps it’s just me, I’m not sure, however the profits that i got in the beds base games as the better as in the newest 100 % free Spins game had been absolutely discouraging! Whether or not in future if i get happy, I nonetheless feel you need to purchase enough time and then make lots of profits and cash in on this video game.<\/p>\n

The fresh new player’s account balance is found in the Balance range within the the top left area of one’s display screen. Zeus III was indeed an exciting slot game, combining an unusual reel layout with solid aspects and healthy volatility. This slot is perfect for professionals seeking healthy technicians. Make use of 1,024 a way to winnings regarding the ft video game, or more in order to 5,040 ways after you lead to the fresh free spins bonus. That it streamlines the new gaming procedure by allowing pre-set bet wide variety unlike by hand changing wagers on each twist.<\/p>\n

Noted for the initial updates titles, the organization is targeted on fun game play, high-high quality photo, and you can cellular being compatible. Because you will find away from beginning to gamble Zeus into the the internet, the standard and style of the image are not just what you might name \ufffdbest rated’. An emphasize your’ll come across once you play Zeus on line ‘s the newest 100 percent 100 % free spins element.<\/p>\n

And you will probably even pick ines Smooth. After you enjoy online, you are able to constantly find games away from world beasts for example IGT and you may RTG. If or not the Megaways otherwise Infinity Reels, a knowledgeable online slots has many exciting features.<\/p>\n

Zeus Goes Nuts was designed to functions perfectly all over all mobile devices, making certain players can also enjoy this pleasing Greek-styled position on the go. If you wish to enjoy their games, you’ll find them whatsoever a knowledgeable web based casinos regarding You. The newest Zeus slot machine game was a vibrant one and you can popular with slot professionals, thus while it is nearly 10 years dated you really need to find it at the most casinos that domestic SG Digital online game. It allows one familiarise themself to the betting limitations, added bonus provides, the worth of the fresh signs, and you can what exactly is needed to end in added bonus enjoys.<\/p>\n

The fresh new Greek Temple is the Wild of one’s online game that exchange all the icons apart from the fresh Zeus give PlayJonny cassino<\/a> Scatter symbol. The fresh new traces is variable and the slot will be starred to the a single payline in just a great $0.01 for each and every spin otherwise into the every thirty traces on the total choice away from $150 – wagering $5 each range. From the Zeus slot machine game, the most significant payouts try you’ll during incentive series. In the event that no less than twenty-three of such icons show up on the brand new monitor, a casino player will get free revolves of the reels. It changes every signs except for the brand new scatter. If a gambler likes the new automatic handle form, they can trigger the fresh revolves for the key that is located to the left of eating plan used to set the quantity from productive outlines.<\/p>\n

Whenever choosing ports of the theme, you’re not only to relax and play-you might be creating your individual unique excitement. They give myths, adventures, and you may unique storylines you simply will not see anywhere else. Tens of thousands of users become together with them, and so they remain favorites because of their incentive provides and enjoyable game play. Within latest remark out of , we emphasized Nuts Insane Riches, an exciting slot that very well brings together entertaining gameplay which have big winnings.<\/p>\n

The fresh picture is actually pretty good sufficient – specially when you get the fresh new terrifying Zeus into the reel 1 – just who you’ll end up hoping to plenty of since that is in the event that lender harmony initiate bulging. With regards to the number of scatters, you will receive ten, twenty five otherwise a giant 50 100 % free spins which can be starred to the an excellent reflected video game community, meaning that the leftmost reel is actually the largest reel, and the reel \ufffdfunnel’ narrows off regarding leftover so you’re able to right. The fresh new totally free gamble option is ideal for newbies who wish to familiarize on their own to your aspects ahead of placing genuine bets.<\/p>\n

Discover a great Laurel Wreath, Gold and silver coins, a great Harp and you can an effective Vase, and this provide minimal winnings. The parts of the latest slot machine game are created regarding the announced theme, therefore, the graphic framework appears most harmonious. Then within Zeus feedback, we’re going to look closer within game play mechanics and the entire laws and regulations of your online game.<\/p>\n

Just choose what you such as and dive towards fun world of slot machines!<\/h2>\n

These turned out its online game you are going to change, but permits designed to try out they secure that have auto mechanics users currently understood. Benefits (based on 5) highlight stable winnings and you will average bets as the trick pros. So it position, with a rating out of twenty three.34 from 5 and you may the right position out of 833 of 1447, is ideal for people that worthy of balance.<\/p>\n

Their experience with online casino licensing and you will incentives setting the recommendations will always cutting-edge and then we feature a knowledgeable on the internet casinos in regards to our globally website subscribers. Good luck web based casinos promote totally free slots as you are able to fool around with no deposit called for. He could be manufactured laden up with fascinating online game have for example free spins, added bonus rims, growing wilds, and multipliers. Their online game try proven fair, and they bring its game in order to people at the best Eu online casinos. The game are going to be preferred at the judge web based casinos, managed internet, provincial gambling establishment internet global.<\/p>\n

I have not gotten to possess 100 % free spins feature therefore i do not touch upon one to. A bad phrase is provided but in addition for the bonus online game and this is really hard to end in (I’ve played it only when inside the 300 spins and you can do not see sets from they). The music is selected like the picture, a boring trumpet are to experience a number of audio in the record.<\/p>\n

Zeus are going to be starred to your desktops, phones, pills, or any other suitable handheld devices. The newest position pays kept to help you correct, beginning from the new far-left reel. Property around three or maybe more Scatters on the reels and you will result in totally free revolves, it\ufffds as easy as you to definitely. On the big free revolves incentive round, the new Zeus casino slot games inspired another type of age group away from casino dollars slot machines in the Vegas, such as the extremely popular online game titled Kronos.<\/p>\n

It will require pride in place from the amusement collection on account of their lovely construction and you can high RTP rate (%). Concurrently, the newest game’s image and you can sounds are great, immersing professionals in the world of ancient Greece. Since the keen on Greek mythology, I happened to be attracted to the latest Zeus position video game construction and you can symbols such Zeus and you may Pegasus. 100 % free demonstrations promote a far greater likelihood of focusing on how a-game is played without the need to invest a dime.<\/p>\n","protected":false},"excerpt":{"rendered":"

The main benefit features also are an effective extra advantage However, Zeus twenty-three takes on very nicely from the enjoyable function, which have very constant spending revolves, one to my fun borrowing equilibrium never ran below their performing matter! Perhaps it’s just me, I’m not sure, however the profits that\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-89026","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/89026","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=89026"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/89026\/revisions"}],"predecessor-version":[{"id":89027,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/89026\/revisions\/89027"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=89026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=89026"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=89026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}