/* 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":774,"date":"2025-10-14T08:13:35","date_gmt":"2025-10-14T08:13:35","guid":{"rendered":"http:\/\/klecet.edu.in\/alumni\/?p=774"},"modified":"2025-10-14T08:14:00","modified_gmt":"2025-10-14T08:14:00","slug":"basaribet-slot-guncel-eriim-bilgisi-2","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/basaribet-slot-guncel-eriim-bilgisi-2\/","title":{"rendered":"basaribet Slot G\u00fcncel Eri\u00feim Bilgisi"},"content":{"rendered":"
Kullan\u00fdm\u00fd kolay aray\u00fcz\u00fc ve geni\u00fe oyun portf\u00f6y\u00fcyle be\u00f0eni toplayan basaribet oyun platformu, slot oyunlar\u00fdna ilgi duyanlar i\u00e7in g\u00fcvenli ve verimli bir bahis sitesi deneyimi sa\u00f0lar. En sevilen farkl\u00fd slot oyunlar\u00fd se\u00e7eneklerinden jackpot \u00f6d\u00fcll\u00fc slot oyunlar\u00fdna kadar her zevke uygun i\u00e7erik bulmak kolayd\u00fdr. Lisansl\u00fd oyun siteler aras\u00fdnda yer alan platform y\u00fcksek kazan\u00e7 oranlar\u00fdyla b\u00fcy\u00fck \u00f6d\u00fcller kazand\u00fdr\u00fdr. Siteye kay\u00fdt olmak kolayca birka\u00e7 ad\u00fdmda yap\u00fdl\u00fdr. E\u00f0lenceli casino slot deneyimi arayanlar i\u00e7in slot platformu olarak \u00f6ne \u00e7\u00fdkan basaribet casino sitesi, e\u00f0lenceli ve kazan\u00e7l\u00fd dakikalar sa\u00f0lar. \u00deimdi siz de basaribet<\/a> ba\u00f0lant\u00fds\u00fd \u00fczerinden ba\u00f0lanabilirsiniz. <\/p>\n basaribet oyun sitesi, 2025 y\u00fdl\u00fd boyunca y\u00fcksek kazan\u00e7 sa\u00f0layan slot oyunlar\u00fd ve y\u00fcksek \u00f6deme y\u00fczdeli slotlar\u00fdyla \u00e7ekici bir merkez haline geliyor. Oyuncular, casino slot makineleri b\u00f6l\u00fcm\u00fcnde bir\u00e7ok heyecan verici ve kazan\u00e7l\u00fd se\u00e7eneklere ula\u00feabilirler. Slot \u00e7e\u00feitlerini 4 maddeyle ke\u00fefedin: <\/p>\n basaribet bahis sitesi, ek olarak Tom Horn Gaming, Playson ve Merkur Gaming farkl\u00fd oyun sa\u00f0lay\u00fdc\u00fdlar\u00fdn\u00fd bir araya getirir. <\/p>\n Sweet Bonanza makara oyunu, Pragmatic Play \u00fcretimi tatmin edici ve \u00f6d\u00fcl dolu bir oyundur. E\u00f0lenceli tasar\u00fdm\u00fd ve meyve sembolleriyle kat\u00fdl\u00fdmc\u00fdlara de\u00f0erli \u00f6d\u00fcller kazanma potansiyeli ta\u00fe\u00fdr. Sweet Bonanza oyununa giri\u00fe imk\u00e2n\u00fdyla meyve ve \u00feeker konseptli bu video slotunu tam g\u00fcvenle oynayabilirsiniz. <\/p>\n Aviator oyun se\u00e7ene\u00f0i, yak\u00fdn d\u00f6nemin yayg\u00fdn olarak tercih edilen casino oyunlar\u00fdndan biridir. Bahis oyuncular\u00fd, u\u00e7ak kalk\u00fd\u00fe yaparken ve inmeden \u00f6nce aviator bahis yaparak kazanma f\u00fdrsat\u00fdn\u00fd elde ederler. basaribet oyun portal\u00fdnda, oyunu g\u00f6rmek isteyenler i\u00e7in bedava bir se\u00e7enek sunar. Aviator nedir? Aviator, u\u00e7ak havaland\u00fd\u00f0\u00fd andan itibaren \u00e7arpan h\u00fdzla artt\u00fdk\u00e7a ilerler ve bahis tutkunlar \u00e7arpan\u00fdn ne kadar y\u00fckselebilece\u00f0ini \u00f6ng\u00f6rmeye \u00e7al\u00fd\u00fe\u00fdr. <\/p>\n Bu oyun sunucusu, \u00e7e\u00feitli oyun opsiyonlar\u00fd ve kullan\u00fdc\u00fd deneyimini \u00f6n planda tutmas\u00fdyla fark yarat\u00fdyor. <\/p>\n Online casino, geni\u00fe oyun yelpazesi ve kullan\u00fdc\u00fd dostu \u00f6zellikleriyle \u00f6ne \u00e7\u00fdksa da, m\u00fc\u00feteri deste\u00f0i ve bonus imkanlar\u00fdn\u00fd art\u00fdrarak platform kalitesini bir ad\u00fdm \u00f6teye ta\u00fe\u00fdyabilir.<\/p>\n","protected":false},"excerpt":{"rendered":" Kullan\u00fdm\u00fd kolay aray\u00fcz\u00fc ve geni\u00fe oyun portf\u00f6y\u00fcyle be\u00f0eni toplayan basaribet oyun platformu, slot oyunlar\u00fdna ilgi duyanlar i\u00e7in g\u00fcvenli ve verimli bir bahis sitesi deneyimi sa\u00f0lar. En sevilen farkl\u00fd slot oyunlar\u00fd se\u00e7eneklerinden jackpot \u00f6d\u00fcll\u00fc slot oyunlar\u00fdna kadar her zevke uygun i\u00e7erik bulmak kolayd\u00fdr. Lisansl\u00fd oyun siteler aras\u00fdnda yer alan platform y\u00fcksek\u2026<\/p>\nbasaribet Casino \u00dd\u00e7eri\u00f0inde De\u00f0i\u00feken Kombinasyonlu Slotlar<\/h2>\n
\n
basaribet Casino\u2019da Sweet Bonanza Oyna ve C\u00f6mert \u00d6d\u00fcller Yakala<\/h3>\n
basaribet Casino ile Aviator\u2019da Kazanma \u00ddpu\u00e7lar\u00fd <\/h3>\n
basaribet Casino \u00d6d\u00fcller ve \u00d6d\u00fcl Programlar\u00fd: Avantajlar ve Dezavantajlar<\/h2>\n
\n\n
\n \nArt\u00fd Y\u00f6nler<\/th>\n Eksi Y\u00f6nler<\/th>\n<\/tr>\n<\/thead>\n \n \u00c7e\u00feitli oyun kategorileri: Klasik slot oyunlar\u00fd, kart oyunlar\u00fd ve canl\u00fd masa oyunlar\u00fd \u00e7e\u00feitli se\u00e7eneklerle
\n\u00e7ok say\u00fdda oyun alternatifi sa\u00f0l\u00fdyor.<\/td>\nM\u00fc\u00feteri destek hizmeti: M\u00fc\u00feteri Servisi daha s\u00fcratli ve faydal\u00fd olsa daha faydal\u00fd olurdu.<\/td>\n<\/tr>\n \n Eri\u00feilebilir tasar\u00fdm: Oyun platformu, kullan\u00fdc\u00fd dostu tasar\u00fdm\u00fdyla rahat\u00e7a gezilebilir ve oyunlara h\u00fdzl\u00fd eri\u00feim olana\u00f0\u00fd tan\u00fdyor.<\/td>\n Bonus \u00e7evrim \u00feartlar\u00fd: Sa\u00f0lanan bonuslar\u00fdn \u00e7evrim kurallar\u00fd zaman zaman oyuncular i\u00e7in daha basit olabilirdi.<\/td>\n<\/tr>\n \n \u00c7abuk \u00f6deme i\u00felemleri: Kazan\u00e7lar k\u00fdsa s\u00fcrede \u00f6denir ve emin \u00f6deme se\u00e7enekleri sunulur.<\/td>\n Promosyon se\u00e7enekleri: Mevcut promosyonlar fazla de\u00f0il, daha fazla imkan oyunculara daha ilgi \u00e7ekici olabilir.<\/td>\n<\/tr>\n \n Mobil cihazlarla uyumlu: Mobil platformlar \u00fczerinden sorunsuz bir oyun deneyimi sunuyorlar.<\/td>\n <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n