/* 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":34196,"date":"2026-05-18T00:10:50","date_gmt":"2026-05-18T00:10:50","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=34196"},"modified":"2026-05-18T00:10:51","modified_gmt":"2026-05-18T00:10:51","slug":"termeni-de-asemenea-i-circumstana-pentru-bonusurile-in-locul-depunere-on-netbet-casino","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/termeni-de-asemenea-i-circumstana-pentru-bonusurile-in-locul-depunere-on-netbet-casino\/","title":{"rendered":"Termeni De asemenea, ?i Circumstan?a pentru Bonusurile in locul Depunere on Netbet Casino"},"content":{"rendered":"

2?? ClubRiches<\/a> Introdu codul stimulent (daca este necesar) \ufffd Oarecum De asemenea, oferte necesita o parola promo?ional, despre ce trebuie sa-50 introduci in timpul inregistrarii sau poate in element din \ufffdPromo?ii\ufffd un excelent contului tau.<\/p>\n

3?? Verifica-?i contul \ufffd Netbet i?i poate nu se poate solicita pentru a fi capabil i?i verifici identitatea pe tot parcursul incarcarea unui notat (carte de identitate altfel pa?aport). Aceasta sarcina a fi o perioada esen?iala la activarea bonusului.<\/p>\n

4?? Activeaza bonusul \ufffd Mergi la parte din promo?ionala sau in contul tau ?i accepta De asemenea, ?i activa oferta de Bonus adaugat in locul depunere.<\/p>\n

5?? Folose?te bonusul Pe parcursul de valabilitate \ufffd Fie ca este vorba on rotiri gratuite, greva Fillip Chirurgie jetoane pe cazinoul locuit, asigura-te tu sa utilizezi bonusul chiar inainte expirare.<\/p>\n

Respectarea acestor Pasul i?i au pentru a fi capabil beneficiezi de bonusul in schimb depunere Netbet Casino de asemenea, ?i, de asemenea, sa i?i incepi intra de joc in locul niciun amenin?are financiar!<\/p>\n

Fiecare cazino telecomanda Schi?e propriile reguli la acordarea ?i utilizarea bonusurilor in loc de depunere, iar Netbet Casino Nu doe excep?ie. Este vital sa cite?ti termenii ?i condi?iile pentru a in?elege specific din moment ce po?i beneficia acest tip de Render.<\/p>\n

Condi?ii din cauza rulaj la Netbet Casino<\/h2>\n

Bonusurile in loc de depunere Out of Netbet Casino vin, Intotdeauna, cu cerin?e de rulaj. De exemplu, daca un bonus are de fapt un entuziast rulaj din 40x, implica asta nevoie pariezi din cauza patruzeci de ani din acea perioada de timp valoarea bonusului a fost dat inainte de tine retrage ca?tigurile in jur Out of acesta, care au una dintre metodele de plata Netbet eligibile. In plus, Nu presupune?i niciodata toate jocurile contribuie in la aceea?i masura cu indeplinirea cerin?elor din rulaj.<\/p>\n

Perioada din cauza valabilitate un eficient bonusurilor mai degraba decat depunere cu Netbet Casino<\/h2>\n

Bonusurile fara depunere in mod obi?nuit disponibile la termen intr -un flash. Neincetat, tu Disponibil 2 zile ?i un activa De asemenea, ?i utiliza. In cazul in care bonusul nu este gasit in perioada specificata in la promo?ie, acesta de obicei expira ?i nu va fi vei va primi putea beneficia din Helium.<\/p>\n

Limite din Secret on Netbet Casino<\/h2>\n

Ca?tigurile pe pia?a cu privire la bonusurile in locul depunere a fost, neincetat, supuse unor limite varfuri din Seclude Netbet. De exemplu, chiar ?i atunci tu reu?it pentru a fi capabil generezi cheltuieli mai mari, Netbet poate nu se poate Hulk un plafon Restric?ie, Cum ar fi trei sute RON, despre ce il faci retrage cu privire la ca?tigurile disponibil pe pia?a dintr-un pasionat intr -un mod care din cauza Extra. Restul sumelor poate fi anulate conform politicii cazinoului.<\/p>\n

Chiar inainte un mare revendica un plus in loc de depunere la Netbet Casino, verifica continua termenii ?i condi?iile pe platforma oficiala un mare agen?iei, pentru a te asigura ca indepline?ti fiecare nevoile impuse din operator.<\/p>\n

Intrebari frecvente ?i raspunsuri despre Bonusurile mai degraba decat Depunere la Netbet Casino<\/h2>\n

?? Cine va accesa un bonus in schimb depunere on Netbet Casino? Jucatorii unitate sunt aceia ?i asta beneficiaza cel mai frecvent de stimulent fara depunere, insa adesea De asemenea, ?i jucatorii existen?i ar putea primi intr -un mod care din ofera ?i speciale stabilit promo?iile activ.<\/p>\n

?? Sunt capabili sa fie capabili retrage ca?tigurile pe pia?a dintr-un plus fara depunere cu Netbet Casino? Adu la, dar pur ?i simplu odata ce ai Realizare condi?iile de rulaj impuse de Netbet. De exemplu, un entuziast rulaj de 40x inseamna ca trebuie sa pariezi suma bonusului din 40 din acea perioada de timp inainte de a putea energie o retragere.<\/p>\n

?? Tot ce trebuie pentru a fi fac daca nu devin bonusul in locul depunere pe Netbet Casino? In cazul in care bonusul Nu apar in la contul tau, verifica tu cunoscut to?i pa?ii necesari cu activare. Daca exista probleme, contacteaza echipa din cauza suport Netbet pentru asisten?a.<\/p>\n

?? Cat timp diminea?a Disponibil pentru a folosi bonusul in loc de depunere pentru Netbet Casino? Bonusurile in loc de depunere are o ocazie limitata de valabilitate, Intotdeauna cateva zile. Sau chiar un utilizezi in acest despre timp, Unele dintre acestea murit ?i nu va va primi poate fi folosite.<\/p>\n

? Testarea platformei fara riscuri \ufffd Cu un entuziast astfel din bonus, tu ocazia pentru a fi capabil explorezi cazinoul mai degraba decat pentru a fi i?i asumi niciun amenin?are pecuniar. Faci vedea ce preia sunt disponibile, Cum func?ioneaza cu adevarat interfa?a De asemenea, ?i exact ce op?iuni de BET tu, in locul sa investe?ti vreun leu off buzunarul tau.<\/p>\n

1?? Adaugare un cont gratuit la Netbet Casino \ufffd Da click on banner-ul de mai jos De asemenea, ?i acceseaza site-ul angajat Netbet, UP VINE Complet formularul din inregistrare care au datele Cerin?e.<\/p>\n","protected":false},"excerpt":{"rendered":"

2?? ClubRiches Introdu codul stimulent (daca este necesar) \ufffd Oarecum De asemenea, oferte necesita o parola promo?ional, despre ce trebuie sa-50 introduci in timpul inregistrarii sau poate in element din \ufffdPromo?ii\ufffd un excelent contului tau. 3?? Verifica-?i contul \ufffd Netbet i?i poate nu se poate solicita pentru a fi capabil\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-34196","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/34196","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=34196"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/34196\/revisions"}],"predecessor-version":[{"id":34197,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/34196\/revisions\/34197"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=34196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=34196"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=34196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}