/* 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":95728,"date":"2026-05-24T02:07:24","date_gmt":"2026-05-24T02:07:24","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=95728"},"modified":"2026-05-24T02:07:26","modified_gmt":"2026-05-24T02:07:26","slug":"cleopatra-harbors-play-cleopatra-slots-100-percent-free-real-money","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/cleopatra-harbors-play-cleopatra-slots-100-percent-free-real-money\/","title":{"rendered":"Cleopatra Harbors Play Cleopatra Slots 100 percent free & Real money"},"content":{"rendered":"

Delight in access immediately to over 32,178 free online slots and you can play here. You\u2019ve simply receive the largest free online ports library available in great britain. We\u2019ve plus got hundreds of Safe Betting units available so you’re able to make sure your go out on location stays enjoyable and you will affordable. Was our greatest selection of online slots games and you will mobile slots by the joining and you may good invited bonus!<\/p>\n

And it’s really no wonder it is so preferred \u2014 it’s loaded with totally free revolves and you can spread bonuses! The online game is not difficult to relax and play, and provides an enormous limit victory, also some gambling options, allowing you to gamble no matter your money dimensions. The fresh new Cleopatra incentive element was 15 100 percent free spins that will be as a result of shopping for around three or even more of one’s Sphinx spread out signs on your gameboard. As i\u2019d want to see more added bonus features, the 15 FS added bonus are an ample you to. Pro NoteIf you wear\u2019t need to press brand new switch for every single spin, you need the car-twist mode at the bottom proper-hands place. The online game have a wonderful Old Egyptian motif that\u2019s taken to lifetime making use of their embellished icon construction.<\/p>\n

If you’re looking to have IGT web based casinos, All British Casino app<\/a> the extensive gambling enterprise reviews will assist, or you can choose one of your own gambling enterprises we present in that it remark. It appears fairly much like the new slot within feedback with regards to the icons and you may picture. This new position comes with a totally free revolves added bonus you might end in manually or pick through a purchase added bonus function. They aren’t excessively worried about new bells and whistles of modern incentive has and would like to know if these characteristics you may show financially rewarding.<\/p>\n

If you\u2019re also trying to find epic game function choices then totally free Cleopatra slot features your entirely covered with 3 higher-expenses incentive symbols that will be sure to visit your dollars-out fly upwards. Everything you necessary to manage the fresh new gaming online game is in the selection beside the brand new monitor, enabling much more area to be taken right up because of the unbelievable golden reels. A layout that every gamblers is accustomed, the ease of handle along with tends to make this video game one of several safest to know. Referred to as Queen from Egypt, Cleopatra\u2019s leadership are short but intense, now of many online slots games have chosen to take inspiration from the woman lifestyle to carry people brand new and you can exciting casino games. The bonus has put this new wilds additionally the free revolves that have jackpot.<\/p>\n

The new free revolves bonus round plays since feet video game that have you to definitely significant exception to this rule\u2015all gains is actually tripled. As stated prior to, a free spins round try brought on by about three or more scatters. So you’re able to top it off, there\u2019s an excellent scatter symbol represented from the greatest Egyptian Sphinx. It\u2019s a well-known slot game you to\u2019s suitable for both the latest participants and high rollers.<\/p>\n

Travelers global is also do it pleasant thrill that have totally free spins and you may private regal incentives. Brace yourself to own a worthwhile betting experience filled up with totally free revolves and personal added bonus has built to push your to the monumental impressive victories! Brand new Cleopatra slot machine game is made by IGT (In the world Game Tech), popular Western playing company noted for doing highest-top quality slots and online slots. Whether your\u2019lso are a seasoned pro or a newbie, the overall game has the benefit of some thing for everybody. Featuring its abundant added bonus has, highest winnings, and the excitement out-of to try out the real deal currency, Cleopatra harbors was a game value examining. A top wagering requirements necessitates more bets in advance of the payouts are going to be taken.<\/p>\n

The newest Sphinx icon holds sorts of importance as a great spread symbol, bringing scatter victories and you can releasing extra enjoys when around three or maybe more of those signs show up on the new reels. Regardless of whether you\u2019re also an informal player or a leading-limits member, Cleopatra position video game serves all the. That it prominent online game is known for its beautiful ancient Egyptian graphics, awe-encouraging sound effects, and exciting bonus online game particularly 100 percent free spins round, where most of the wins score tripled. It’s your ultimate destination for gaming and real time recreation. On the whole around\u2019s a hundred+ fascinating 100 percent free slots having extra video game!<\/p>\n

Taking advantage of gambling establishment promotions offers additional free spins with incentive finance. Playing on the all the 20 paylines advances the odds of activating bonuses. Boosting the benefit features in the totally free Cleopatra casino position video game involves understanding the aspects. RTP are 95.02%, allowing gamblers to recuperate wagers throughout the years. Cleopatra position online game online offers a modern jackpot, with 10,one hundred thousand gold coins profits for 5 Cleopatra signs.<\/p>\n

Both rooms has a progressive jackpot you to grows each time people revolves a specified position, and so the jackpot is often worth several trillions! If you have played ports when you look at the a gambling establishment, chances are high you played an IGT position! Initiate to relax and play to see fun themes that produce spinning more pleasing. It has an RTP from 96% and will send large benefits. The fresh new free spin incentive series and you will gamble element can improve benefits.<\/p>\n

Modern 3d films harbors provide immersive knowledge having cutting-edge graphics and you will detailed incentive possess, carrying out interesting narratives. Cleopatra 2 are an incredibly enjoyable and enjoyable video game, although true fun starts when participants arrive at have the incentive has. This occurs even more usually than do you believe, so it\u2019s safer to say the latest free spins extra element is easily brought about.<\/p>\n

Including fresh fruit, numerals and letters, shapes such as for example bells, expensive diamonds, minds, animated cartoons and photo from popular video clips, actors and you will vocalists within the themed online slots games. The complete paraphernalia of these online slots games is dependant on individuals layouts that have symbols that will be usually brilliantly coloured and simply recognisable. NetEnt could very well be the only company that have a collection regarding on line ports which can resist the fresh new IGT index. These progressive jackpots can also be strike half a dozen numbers or even seven figures, as well as shelter classic online game instance Cleopatra and Wolf Run. Most of them element IGT\u2019s MegaJackpots community also, which enforce progressive jackpots in order to common game eg Cleopatra, Wolf Work with, Siberian Violent storm, and Water Belles.<\/p>\n

On Magical Vegas local casino, you’ll find online slots games away from some better games company. And make online slots a lot more charming for the users, games company has additional individuals pleasing features like wilds, scatters which have multipliers, added bonus series, 100 percent free spins, etc. What number of paylines as possible look for to the online slots varies from 10 & less, 15, 20, twenty-five, 31, 40 and you may fifty & more.<\/p>\n","protected":false},"excerpt":{"rendered":"

Delight in access immediately to over 32,178 free online slots and you can play here. You\u2019ve simply receive the largest free online ports library available in great britain. We\u2019ve plus got hundreds of Safe Betting units available so you’re able to make sure your go out on location stays enjoyable\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-95728","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/95728","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=95728"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/95728\/revisions"}],"predecessor-version":[{"id":95729,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/95728\/revisions\/95729"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=95728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=95728"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=95728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}