/* 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":760,"date":"2025-10-13T06:56:08","date_gmt":"2025-10-13T06:56:08","guid":{"rendered":"http:\/\/klecet.edu.in\/alumni\/?p=760"},"modified":"2025-10-13T06:56:38","modified_gmt":"2025-10-13T06:56:38","slug":"basari-bet-bahis-sitesi-giri-bilgileri","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/basari-bet-bahis-sitesi-giri-bilgileri\/","title":{"rendered":"basari bet Bahis Sitesi Giri\u00fe Bilgileri"},"content":{"rendered":"
Basit ve kullan\u00fdc\u00fd odakl\u00fd tasar\u00fdm\u00fd ve geni\u00fe slot oyunu yelpazesiyle dikkat \u00e7eken basaribet casino sitesi, slot oyuncular\u00fd i\u00e7in tercih edilebilecek bir platformdur. En sevilen slot oyun \u00e7e\u00feitlili\u00f0inden klasik makinelere kadar her zevke uygun i\u00e7erik bulmak m\u00fcmk\u00fcnd\u00fcr. G\u00fcvenli ve g\u00fcvenilir slot siteleri aras\u00fdnda yer alan platform b\u00fcy\u00fck \u00f6deme olas\u00fdl\u00fdklar\u00fdyla kazan\u00e7 olas\u00fdl\u00fd\u00f0\u00fdn\u00fd y\u00fckseltir. Bahis sitesine \u00fcye kayd\u00fd yapmak \u00e7ok zahmetsizdir. Casino slot deneyimi arayan oyuncular i\u00e7in slot oyunlar\u00fdyla \u00f6ne \u00e7\u00fdkan site basari bet casino sitesi, keyifli ve bol kazan\u00e7l\u00fd anlar vaat eder. Siz de hemen basaribet<\/a> ba\u00f0lant\u00fds\u00fd \u00fczerinden \u00fcye olabilirsiniz. <\/p>\n basaribet bahis sitesi, 2025 y\u00fdl\u00fd i\u00e7inde geliri y\u00fcksek slot makineleri ve y\u00fcksek \u00f6deme y\u00fczdeli slotlar\u00fdyla cazibe merkezi haline geliyor. Oyuncular, casino slot oyunlar\u00fd aras\u00fdnda bir\u00e7ok heyecan verici ve kazan\u00e7l\u00fd oyun bulabilirler. \u00dd\u00fete 4 ba\u00fel\u00fdkta slot t\u00fcrleri: <\/p>\n basari bet casino portal\u00fd, ek olarak DreamTech Gaming ve NextGen Gaming \u00e7e\u00feitli slot sa\u00f0lay\u00fdc\u00fdlar\u00fdn\u00fd i\u00e7erir. <\/p>\n Sweet Bonanza slot oyunu, Pragmatic Play \u00fcretimi canl\u00fd ve y\u00fcksek getirili bir slottur. Renkli meyve sembolleri ve e\u00f0lenceli \u00f6zellikleriyle kullan\u00fdc\u00fdlara b\u00fcy\u00fck getiri \u00feans\u00fd sunan bir deneyim ya\u00feat\u00fdr. Sweet Bonanza oyna se\u00e7ene\u00f0iyle \u00feekerli ve meyveli temal\u00fd bu dijital oyunu tamamen g\u00fcvenli \u00feekilde oynayabilirsiniz. <\/p>\n Aviator casino oyunu, g\u00fcncel \u00f6zellikle ra\u00f0bet g\u00f6ren casino oyunlar\u00fdndan biridir. \u00dcyeler, u\u00e7ak kalk\u00fd\u00fe ve ini\u00fe a\u00feamalar\u00fdnda aviator bahis se\u00e7ene\u00f0i ile oyun oynayarak kazanma f\u00fdrsat\u00fdn\u00fd elde ederler. basaribet bahis sitesinde, oyunu g\u00f6rmek isteyenler i\u00e7in bedava deneme imkan\u00fd sunar. Aviator oyunu nas\u00fdl bir oyun? Bu oyun t\u00fcr\u00fc, havalanman\u00fdn ba\u00felad\u00fd\u00f0\u00fd an itibariyle h\u00fdzla artan bir \u00e7arpanla ilerler ve kat\u00fdl\u00fdmc\u00fdlar bu \u00e7arpan\u00fdn ne kadar y\u00fckselece\u00f0ini tahmin etmeye \u00e7al\u00fd\u00fe\u00fdr. <\/p>\n Bu sanal oyun portal\u00fd, kapsaml\u00fd oyun portf\u00f6y\u00fc ve \u00fe\u00fdk aray\u00fcz\u00fcyle be\u00f0eni topluyor. <\/p>\n Casino uygulamas\u00fd, zengin oyun se\u00e7enekleri ve pratik aray\u00fcz\u00fcyle dikkat \u00e7ekse de, destek hatt\u00fd ve promosyon avantajlar\u00fdn\u00fd zenginle\u00fetirerek oyun keyfini daha \u00fcst seviyeye ta\u00fe\u00fdyabilir.<\/p>\n","protected":false},"excerpt":{"rendered":" Basit ve kullan\u00fdc\u00fd odakl\u00fd tasar\u00fdm\u00fd ve geni\u00fe slot oyunu yelpazesiyle dikkat \u00e7eken basaribet casino sitesi, slot oyuncular\u00fd i\u00e7in tercih edilebilecek bir platformdur. En sevilen slot oyun \u00e7e\u00feitlili\u00f0inden klasik makinelere kadar her zevke uygun i\u00e7erik bulmak m\u00fcmk\u00fcnd\u00fcr. G\u00fcvenli ve g\u00fcvenilir slot siteleri aras\u00fdnda yer alan platform b\u00fcy\u00fck \u00f6deme olas\u00fdl\u00fdklar\u00fdyla kazan\u00e7 olas\u00fdl\u00fd\u00f0\u00fdn\u00fd\u2026<\/p>\nJackpot Slot Deneyimi basari bet Casino Platformu\u2019nda Sizin \u00dd\u00e7in Haz\u00fdr<\/h2>\n
\n
basari bet D\u00fcnyas\u00fd Platformunda Tatl\u00fd Bonanza G\u00fcvenle Oyna ve B\u00fcy\u00fck \u00d6d\u00fclleri Yakala<\/h3>\n
basaribet Casino\u2019da Aviator Oyunu ile Unutulmaz Bir Deneyim <\/h3>\n
basaribet Casino Slot Oyunlar\u00fdn\u00fdn Art\u00fd ve Eksi Y\u00f6nleri<\/h2>\n
\n\n
\n \nArt\u00fd Y\u00f6nler<\/th>\n Eksi Y\u00f6nler<\/th>\n<\/tr>\n<\/thead>\n \n Zengin oyun portf\u00f6y\u00fc: Video slotlar\u00fd, poker ve canl\u00fd casino se\u00e7enekleriyle
\n\u00e7ok say\u00fdda oyun alternatifi sa\u00f0l\u00fdyor.<\/td>\nDestek hizmetleri: M\u00fc\u00feteri Hizmetleri daha h\u00fdzl\u00fd ve verimli olsa daha faydal\u00fd olurdu.<\/td>\n<\/tr>\n \n Eri\u00feilebilir tasar\u00fdm: Bahis sitesi, kullan\u00fdc\u00fdya y\u00f6nelik tasar\u00fdm\u00fdyla kolayca gezilebilir ve oyunlara h\u00fdzl\u00fd eri\u00feim sa\u00f0l\u00fdyor.<\/td>\n Bonus ko\u00feullar\u00fd: Sa\u00f0lanan bonuslar\u00fdn \u00e7evrim kurallar\u00fd aralarda oyuncular i\u00e7in daha anla\u00fe\u00fdl\u00fdr olabilirdi.<\/td>\n<\/tr>\n \n An\u00fdnda \u00f6deme: Kazan\u00e7lar yar\u00fdm saat i\u00e7inde \u00f6denir ve emniyetli \u00f6deme se\u00e7enekleri sunulur.<\/td>\n \u00d6d\u00fcl \u00e7e\u00feitlili\u00f0i: G\u00fcncel promosyonlar olduk\u00e7a dar, daha fazla se\u00e7enek oyunculara daha cazip gelebilir.<\/td>\n<\/tr>\n \n Mobil oyun deneyimi: Mobil cihazlar \u00fczerinden sorunsuz bir oyun keyfi sunuyorlar.<\/td>\n <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n