/* 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":1025,"date":"2025-11-03T16:03:09","date_gmt":"2025-11-03T16:03:09","guid":{"rendered":"http:\/\/klecet.edu.in\/alumni\/?p=1025"},"modified":"2025-11-03T16:23:38","modified_gmt":"2025-11-03T16:23:38","slug":"abebet-slot-cabuk-giri-balantysy","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/abebet-slot-cabuk-giri-balantysy\/","title":{"rendered":"Abebet Slot \u00c7abuk Giri\u00fe Ba\u00f0lant\u00fds\u00fd"},"content":{"rendered":"
Kullan\u00fdc\u00fd deneyimini \u00f6n planda tutan aray\u00fcz\u00fc ve \u00e7e\u00feitli slot oyunlar\u00fdyla fark yaratan Abebet bahis sitesi, slot oyunlar\u00fdn\u00fd sevenler i\u00e7in tercih edilebilecek bir platformdur. En \u00e7ok bilinen slotlar oyunu se\u00e7eneklerinden klasik slotlardan yeni nesil oyunlara kadar her tarza hitap eden \u00e7e\u00feitli se\u00e7eneklerde i\u00e7erik bulmak m\u00fcmk\u00fcnd\u00fcr. G\u00fcvenlik a\u00e7\u00fds\u00fdndan sa\u00f0lam slot siteleri aras\u00fdnda bulunan online casino sitesi y\u00fcksek \u00f6deme f\u00fdrsatlar\u00fdyla kazan\u00e7 olas\u00fdl\u00fd\u00f0\u00fdn\u00fd y\u00fckseltir. Siteye \u00fcye olmak kolayca birka\u00e7 ad\u00fdmda yap\u00fdl\u00fdr. Casino slot heyecan\u00fd pe\u00feinde olanlar i\u00e7in slot oyunlar\u00fdyla dikkat \u00e7eken Abe bet oyun platformu, keyifli ve y\u00fcksek kazan\u00e7 f\u00fdrsatlar\u00fd sa\u00f0lar. Siz de hemen abebet<\/a> internet adresi \u00fczerinden hesab\u00fdn\u00fdza giri\u00fe yapabilirsiniz. <\/p>\n Abebet \u00e7evrimi\u00e7i casino slot sitesi, 2025 y\u00fdl\u00fd i\u00e7inde y\u00fcksek kazan\u00e7 sa\u00f0layan slot oyunlar\u00fd ve kazan\u00e7 oran\u00fd y\u00fcksek slot alternatifleriyle dikkatleri \u00fczerine \u00e7ekiyor. \u00deans oyunlar\u00fd merakl\u00fdlar\u00fd, casino slot se\u00e7eneklerinde pek \u00e7ok e\u00f0lenceli ve kazan\u00e7l\u00fd oyun alternatifleri ke\u00fefedebilirler. \u00dd\u00fete 4 ba\u00fel\u00fdkta slot t\u00fcrleri: <\/p>\n Abe bet oyun portal\u00fd, bunlar\u00fdn yan\u00fd s\u00fdra Thunderkick, Leander Games ve Jade Rabbit Studio tan\u00fdnm\u00fd\u00fe slot sa\u00f0lay\u00fdc\u00fdlar\u00fdn\u00fd sisteminde toplar. <\/p>\n Sweet Bonanza dijital slot oyunu, Pragmatic Play \u00fcretimi e\u00f0lenceli ve y\u00fcksek kazan\u00e7l\u00fd bir oyundur. Ne\u00feeli meyve temas\u00fd ve yarat\u00fdc\u00fd \u00f6zellikleriyle \u00feans oyunlar\u00fd merakl\u00fdlar\u00fdna de\u00f0erli \u00f6d\u00fcller kazanma potansiyeli ta\u00fe\u00fdr. Sweet Bonanza deneyimiyle \u00feeker ve meyve g\u00f6rselli bu dijital oyunu emniyetli bir \u00feekilde deneyimleyebilirsiniz. <\/p>\n Aviator bahis oyunu, g\u00fcn\u00fcm\u00fcz\u00fcn pop\u00fcler casino oyunlar\u00fdndan biridir. \u00deans oyunlar\u00fd merakl\u00fdlar\u00fd, u\u00e7a\u00f0\u00fdn havalanma ve ini\u00fee ge\u00e7i\u00fe anlar\u00fdnda aviator oyununda bahis yaparak kazanma \u00feans\u00fd elde ederler. Abebet oyun platformunda, oyuna g\u00f6z atmak isteyenler i\u00e7in \u00fccretsiz deneyim imkan\u00fd sunar. Aviator nedir? Bu heyecanl\u00fd oyun, u\u00e7u\u00fe s\u00fcrecinin ilk anlar\u00fdndan itibaren artan bir \u00e7arpanla ilerlemeye ba\u00felar ve \u00feans oyunlar\u00fd merakl\u00fdlar\u00fd \u00e7arpan\u00fdn ne kadar y\u00fckselece\u00f0ini kestirmeye \u00e7al\u00fd\u00fe\u00fdr. <\/p>\n Bu \u00e7evrimi\u00e7i casino sitesi, \u00e7e\u00feitli oyun opsiyonlar\u00fd ve kullan\u00fdc\u00fdya y\u00f6nelik pratik \u00e7\u00f6z\u00fcmleriyle \u00f6ne \u00e7\u00fdk\u00fdyor. <\/p>\n Platform, zengin oyun se\u00e7enekleri ve pratik aray\u00fcz\u00fcyle dikkat \u00e7ekse de, m\u00fc\u00feteri deste\u00f0i ve bonus imkanlar\u00fdn\u00fd art\u00fdrarak kullan\u00fdc\u00fdlar i\u00e7in daha tatmin edici bir deneyim sa\u00f0layabilir.<\/p>\n","protected":false},"excerpt":{"rendered":" Kullan\u00fdc\u00fd deneyimini \u00f6n planda tutan aray\u00fcz\u00fc ve \u00e7e\u00feitli slot oyunlar\u00fdyla fark yaratan Abebet bahis sitesi, slot oyunlar\u00fdn\u00fd sevenler i\u00e7in tercih edilebilecek bir platformdur. En \u00e7ok bilinen slotlar oyunu se\u00e7eneklerinden klasik slotlardan yeni nesil oyunlara kadar her tarza hitap eden \u00e7e\u00feitli se\u00e7eneklerde i\u00e7erik bulmak m\u00fcmk\u00fcnd\u00fcr. G\u00fcvenlik a\u00e7\u00fds\u00fdndan sa\u00f0lam slot siteleri aras\u00fdnda\u2026<\/p>\nAbe bet Casino Uygulamas\u00fd\u2019nda Trend Olan Slot Oyunlar\u00fd<\/h2>\n
\n
Abebet Oyun Merkezi Mek\u00e2n\u00fdnda \u00deekerli Slot Oyna ve Kazan\u00e7 Elde Et<\/h3>\n
Abebet Casino\u2019da Aviator Oyunu ile Adrenalini Hissedin <\/h3>\n
Abe bet Casino\u2019nun Mobil Uygulama Performans\u00fd: Art\u00fdlar ve Eksiler<\/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: Slot makineleri, rulet ve canl\u00fd oyun \u00e7e\u00feitleriyle
\n\u00e7e\u00feitli oyun se\u00e7enekleriyle hizmet veriyor.<\/td>\nM\u00fc\u00feteri hizmetleri: M\u00fc\u00feteri Servisi daha \u00e7abuk ve verimli olsa daha g\u00fczel olurdu.<\/td>\n<\/tr>\n \n Basit navigasyon: Oyun sitesi, kullan\u00fdc\u00fd odakl\u00fd tasar\u00fdm\u00fdyla kolayca gezilebilir ve oyunlara h\u00fdzl\u00fd eri\u00feim sa\u00f0l\u00fdyor.<\/td>\n Bonus \u00e7evrim ko\u00feullar\u00fd: Sunulan promosyonlar\u00fdn \u00e7evrim gereksinimleri aralarda oyuncular i\u00e7in daha kolay olabilirdi.<\/td>\n<\/tr>\n \n Kolay \u00f6deme i\u00felemleri: Kazan\u00e7lar 30 dakika i\u00e7inde \u00f6denir ve emniyetli \u00f6deme se\u00e7enekleri sunulur.<\/td>\n \u00d6d\u00fcl \u00e7e\u00feitlili\u00f0i: Var olan promosyonlar olduk\u00e7a k\u00fds\u00fdtl\u00fd, daha fazla se\u00e7enek oyuncular i\u00e7in daha cazip olabilir.<\/td>\n<\/tr>\n \n Ak\u00fdll\u00fd telefon uyumlulu\u00f0u: Mobil cihazlarla sorunsuz bir oyun keyfi sunuyorlar.<\/td>\n <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n