/* 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":127296,"date":"2026-05-25T13:29:07","date_gmt":"2026-05-25T13:29:07","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=127296"},"modified":"2026-05-25T13:29:07","modified_gmt":"2026-05-25T13:29:07","slug":"the-focus-is-on-content-that-would-attract-millennials-2","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/the-focus-is-on-content-that-would-attract-millennials-2\/","title":{"rendered":"The focus is on content that would attract Millennials"},"content":{"rendered":"

Currently, there is certainly a great ing online slots games. Seeking effortless yet , incredibly entertaining games which feature shown engines and you can prominent boosters? Mega Joker is a simple install slot offering maximum recreation. Therefore, there are no bonus rounds towards punters to use here. Join any kind of time on-line casino of your choosing and make a deposit around.<\/p>\n

Mancala Betting try good Prague-depending vavada<\/a> software merchant created in 2019, emphasizing creating online slots that have entertaining technicians and varied artwork appearances. Mancala Playing are a-game developer known for undertaking online slots having interesting templates and you can obtainable gameplay. The organization skilfully brings together such and other aspects towards engaging slot templates, and each other common and you will rarer graphic configurations. To keep it simple I can you will need to follow pits and you can areas for the next laws of your own the overall game. Sinful Cardiovascular system rises to 5,000x risk on a single twist, that is punchy sufficient to continue me centered throughout the bonus cycles and you will Cascading Reels streaks.<\/p>\n

Whenever half dozen purse on the each side of one’s panel was blank, the newest rocks (in the for every shop) is actually measured, and the winner is proclaimed. The good news is you can easily choose one on the internet, and therefore solid wood Mancala online game board tends to make a superb solutions. You really need to total the new rocks for the for each and every player’s store when this happens. The online game are starred in many different countries, in addition to Europe, The united states, and you can Africa.<\/p>\n

We will manage releasing that simple tips to enjoy Mancala, enabling you to mention an age-dated video game one resonates into the progressive playing sensibilities off the current female. Which have a good pries and you will dice harbors, Mancala Betting delivers a diverse array of layouts featuring to help you cater to players’ choices. So it unwavering commitment to user safeguards, safety, and defense renders Mancala Gambling Gambling enterprises a preferred choices certainly discreet users seeking an exceptional and you can proper care-totally free playing feel. Members can with certainty immerse by themselves for the a full world of pleasant recreation, with the knowledge that Mancala Gambling Casinos prioritize their really-are.<\/p>\n

Released into the , so it position is a great blend of nostalgia and you may modern betting adventure. Which have a moderate volatility height, \ufffdGuide regarding Money\ufffd impacts a balance between regular wins and higher benefits, popular with a varied set of members. The brand new game’s feminine framework and you can immersive picture carry out a strange atmosphere, capturing players’ attract as they continue a fantastic thrill. Somewhat, while jackpot video game try but really become brought, the fresh new seller has proven the capability of carrying out rewarding games which have large effective possible. When you are their focus stays into the providing several charming online casino games, competition events are not section of their latest products.<\/p>\n

Inside the a casino game such as Chess, you’ll find 5 otherwise six movements as you are able to choose to begin by, which provides their own pros. This may belongings the history section straight into the shop, and therefore you can get an additional change. Every method inside publication is certian for the the mark of going as many rocks as you’re able to in the store. The reason for Mancala is to get a great deal more stones in the shop than simply your own adversary (the major opening after the newest panel). You have to works facing their challenger to determine how to acquire as much stones in your shop that you can. While you are towards safeguards, good strategy is to help you spreading their stones through your pits across your region of the Mancala panel by the swinging the fresh rocks on the far left front.<\/p>\n

Professionals find Mancala Gaming headings at the best casinos on the internet like FreshBet and you will Morespin. You will find over 90 harbors to pick from, and you will the latest games is put into the new index at the more than 20 titles a-year. The fresh facility has generated an extensive set of large-quality clips slots with twenty three, 4, 5, and you will 7 reels that will interest every members. The team about the company is comprised of educated industry advantages just who most of the show a similar attention to have doing ining points.<\/p>\n

Put the Mancala panel between them professionals making sure that each athlete possess six glasses against them in addition to their Mancala mug to help you their right. Users stay to the panel in-between to ensure six servings face all of them, as well as their Mancala should be to just the right. Mancala is a superb loved ones game for everybody years half dozen and you will upwards because it is proper adequate to be fun to own grownups, yet fairly easy to have high school students so you’re able to without difficulty learn to enjoy. The straightforward rules enable it to be obtainable while the method have it engaging. Mancala is a superb instructional game that can help pupils practice depending, generate strategic considering, and increase considered skills. Routine against AI rivals during the expanding difficulties membership to construct their proper convinced.<\/p>\n

Such paylines are pretty straight forward yet , effective in providing uniform benefits throughout the foot and you may incentive game. The maximum win during the Sea History is actually 5000 times your own full choice, it is therefore highly satisfying during the incentive cycles. Built with modern tools in mind, Ocean Heritage runs smoothly across all major gadgets along with computer systems, mobiles, and you can pills. Participants will take pleasure in the newest thrill out of randomly chose growing symbols through the Totally free Spins, incorporating unpredictability and large-winnings potential to the round.<\/p>\n

At the end of for each and every row try a much bigger game hole titled mancalas otherwise locations<\/h2>\n

Thus participants can enjoy a flaccid and immersive gaming experience regardless of the device it love to use. All that is required is a steady internet access and supply into the website because of one fundamental internet browser. At the Gamble Fortuna Gambling establishment, people can merely access slots regarding Mancala Gambling on the phones without having to download and install a lot more software. The top online slots games from Mancala of the payout dimensions include the adopting the servers. The online slots games out of Mancala Gambling provides demo versions, making it possible for bettors to know exactly about their game play, provides, and you may payouts. The new theoretical come back to player (RTP) of provider’s slots is decided from the 95%.<\/p>\n

Broadening exponentially, Mancala are stretching its position profile daily and you may works for the numerous online casinos. Based in the money town of Prague, the firm has generated 80+ superior online slots. Particularly, the fresh Prague-dependent brand name is targeted on luck game such as slots only.<\/p>\n

After you achieve your shop, you could potentially deposit a single brick inside it<\/h2>\n

Preparations with like preferred businesses that have progressive aggregator platforms allow Mancala to distribute the articles less plus efficiently. With a large assortment of game regarding very beginning aided one to application provider to be seen of the more experienced organizations. Look team focused on common slot structures, traditional gambling establishment concept, and evergreen reel framework. All of our database provides a scientific writeup on non-slot gambling, targeting household border transparency and you can multiplier reasoning.<\/p>\n","protected":false},"excerpt":{"rendered":"

Currently, there is certainly a great ing online slots games. Seeking effortless yet , incredibly entertaining games which feature shown engines and you can prominent boosters? Mega Joker is a simple install slot offering maximum recreation. Therefore, there are no bonus rounds towards punters to use here. Join any kind\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-127296","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/127296","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=127296"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/127296\/revisions"}],"predecessor-version":[{"id":127300,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/127296\/revisions\/127300"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=127296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=127296"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=127296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}