/* 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":119183,"date":"2026-05-25T13:06:54","date_gmt":"2026-05-25T13:06:54","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=119183"},"modified":"2026-05-25T13:06:55","modified_gmt":"2026-05-25T13:06:55","slug":"the-main-focus-is-found-on-articles-that-would-appeal-to-millennials","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/the-main-focus-is-found-on-articles-that-would-appeal-to-millennials\/","title":{"rendered":"The main focus is found on articles that would appeal to Millennials"},"content":{"rendered":"

Currently, discover a great ing online slots. Seeking easy but really incredibly funny game that feature shown motors and you can well-known boosters? Mega Joker is a straightforward set up slot offering limitation entertainment. Very, there are not any added bonus series into the punters to utilize here. Join any kind of time on-line casino of your preference making a deposit around.<\/p>\n

Mancala Betting is an excellent Prague-centered application vendor created in 2019, focusing on creating online slots which have enjoyable technicians and you can diverse artwork styles. Mancala Gambling is a-game developer noted for undertaking online slots which have interesting templates and available game Tigergaming<\/a> play. The firm skilfully combines these types of or any other technicians on the enjoyable position themes, as well as each other well-known and you can rarer visual options. To store simple to use I can attempt to stay glued to pits and you may stores for the next legislation of the game. Wicked Heart rises so you’re able to 5,000x stake using one twist, that’s punchy sufficient to keep myself centered while in the extra cycles and you will Cascading Reels lines.<\/p>\n

Whenever six pockets for the both sides of one’s panel was blank, the fresh stones (for the each store) are counted, and the champion try stated. Luckily you are able to find one on line, and that wooden Mancala game panel will make an excellent solutions. You need to count up the brand new stones inside the each player’s store in such a case. The online game is played in several regions, along with European countries, The usa, and you may Africa.<\/p>\n

We shall work at establishing one just how to play Mancala, enabling you to discuss a years-dated game that resonates to the modern gaming sensibilities off today’s feminine. With a pries and you will dice slots, Mancala Playing delivers a diverse array of templates featuring so you can focus on players’ tastes. Which unwavering commitment to member security, safeguards, and you can defense helps make Mancala Gaming Casinos a preferred possibilities one of discreet users seeking to an excellent and care-100 % free playing sense. People can be with certainty drench by themselves inside the a world of pleasant activity, understanding that Mancala Gambling Gambling enterprises prioritize their really-being.<\/p>\n

Circulated towards , this position is a perfect blend of nostalgia and you will modern betting adventure. Which have a media volatility peak, \ufffdGuide out of Money\ufffd strikes a balance anywhere between regular wins and better rewards, attractive to a varied variety of users. The fresh game’s female framework and you can immersive picture perform a mystical conditions, trapping players’ attract while they carry on a thrilling thrill. Somewhat, if you are jackpot video game was but really becoming produced, the brand new merchant seems its capacity for undertaking rewarding games which have highest successful possible. When you find yourself the focus stays to your providing several pleasant online casino games, competition situations commonly element of their most recent offerings.<\/p>\n

During the a-game such as Chess, you’ll find 5 or 6 motions that one can choose to begin by, all of which enjoys their own unique pros. This can property their past bit right into the shop, meaning that you can get a supplementary turn. Each and every strategy within this guide is certian into the the goal of going as numerous rocks as you’re able in the store. The reason for Mancala is to obtain even more stones in the shop than your adversary (the major hole after the new board). You must works against the enemy to figure out just how to acquire as much stones on the shop you could. If you are on the safety, an effective strategy is to distribute your own stones via your pits across your own area of the Mancala board because of the moving the fresh new rocks in your much remaining front side.<\/p>\n

Players discover Mancala Betting titles during the ideal online casinos such as FreshBet and Morespin. Discover more 90 harbors to pick from, and you may the new video game is actually put in the fresh new catalog at over 20 headings annually. The brand new studio has created an extensive band of large-top quality films ports which have twenty-three, 4, 5, and you may eight reels which can appeal to most of the participants. The group trailing the business contains experienced globe advantages which every display an equivalent vision to possess starting ining issues.<\/p>\n

Put the Mancala board between the two users in order that for every user provides 6 glasses up against all of them as well as their Mancala glass in order to their correct. People stand for the panel in between making sure that 6 servings face all of them, in addition to their Mancala is to ideal. Mancala is a wonderful family members games for everyone decades six and you can up since it is strategic sufficient to end up being enjoyable having grownups, but really easier than you think having high school students so you’re able to effortlessly learn how to play. The straightforward legislation allow it to be available while the approach has it enjoyable. Mancala is an excellent informative games that helps youngsters routine depending, make proper thinking, and you can raise planning enjoy. Habit up against AI competitors during the increasing issue accounts to build the strategic convinced.<\/p>\n

These paylines are pretty straight forward but really good at taking uniform perks during both the feet and you may extra online game. The most victory within the Ocean Heritage is 5000 moments your own total choice, so it is highly satisfying inside extra cycles. Built with modern tools at heart, Sea Legacy operates effortlessly across the all the biggest equipment plus desktop computers, mobiles, and you will tablets. People will love the new adventure out of at random chose growing symbols through the Free Revolves, adding unpredictability and big-winnings potential to most of the round.<\/p>\n

At the end of each row is actually a much bigger circular hole named mancalas otherwise locations<\/h2>\n

Thus participants can take advantage of a smooth and you may immersive playing feel regardless of the product it like to use. All that is needed is actually a constant net connection and you can availability for the website as a result of any basic internet browser. At the Gamble Fortuna Casino, players can easily availableness slot machines from Mancala Gambling on their phones without having to download and run a lot more application. The big online slots games out of Mancala from the payment dimensions range from the pursuing the hosts. All of the online slots from Mancala Playing enjoys demo products, allowing gamblers knowing all about its game play, provides, and you can profits. The new theoretic come back to member (RTP) of one’s provider’s slots is set during the 95%.<\/p>\n

Growing exponentially, Mancala are stretching its slot portfolio daily and works during the multiple online casinos. Found in the investment city of Prague, the organization has generated 80+ premium online slots games. Namely, the brand new Prague-dependent brand name focuses on luck online game like slots only.<\/p>\n

When you achieve your store, you could potentially deposit an individual brick involved<\/h2>\n

Plans that have like common firms that have modern aggregator networks succeed Mancala so you can spreading their articles faster and efficiently. Which have a big variety of game on the very beginning aided one to app provider to be seen from the more capable enterprises. Browse team focused on common slot formations, conventional local casino concept, and evergreen reel structure. The database brings a technological post on non-position gaming, emphasizing family line transparency and you can multiplier reasoning.<\/p>\n","protected":false},"excerpt":{"rendered":"

Currently, discover a great ing online slots. Seeking easy but really incredibly funny game that feature shown motors and you can well-known boosters? Mega Joker is a straightforward set up slot offering limitation entertainment. Very, there are not any added bonus series into the punters to utilize here. Join any\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-119183","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/119183","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=119183"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/119183\/revisions"}],"predecessor-version":[{"id":119184,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/119183\/revisions\/119184"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=119183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=119183"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=119183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}