/* 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":151854,"date":"2026-06-13T20:08:43","date_gmt":"2026-06-13T20:08:43","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=151854"},"modified":"2026-06-13T20:08:43","modified_gmt":"2026-06-13T20:08:43","slug":"freispiel-freitag-yoyo-casino-beginnt-regelmaessige-giveaway-aktion-in-deutschland","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/freispiel-freitag-yoyo-casino-beginnt-regelmaessige-giveaway-aktion-in-deutschland\/","title":{"rendered":"Freispiel-Freitag: Yoyo Casino beginnt regelm\u00e4\u00dfige Giveaway-Aktion in Deutschland"},"content":{"rendered":"
\n\"10+<\/p>\n

Yoyo Casino f\u00fchrt den “Free Spin Friday” auf den Markt und bietet damit etwas Neues in die deutsche Online-Casinowelt https:\/\/yoyospin.eu\/de-de\/<\/a>. Jeden Freitag bekommen Spieler unentgeltliche Drehungen an speziellen Spielautomaten ergattern. Das Casino demonstriert mit dieser w\u00f6chentlichen Aktion, dass es seinen Kunden erg\u00e4nzend zum normalen Spielbetrieb auch regelm\u00e4\u00dfige Extra-Angebote machen m\u00f6chte. F\u00fcr viele Stammg\u00e4ste ist der Freitag damit ein regelm\u00e4\u00dfiger Termin. Die Giveaway-Aktion richtet sich speziell an den deutschen Markt und folgt streng an die lokalen Gesetze f\u00fcr verantwortungsvolles Spielen.<\/p>\n

Was verbirgt sich hinter dem Free Spin Friday?<\/h2>\n

Beim Free Spin Friday verteilt Yoyo Casino regelm\u00e4\u00dfig Freispiele f\u00fcr ausgew\u00e4hlte Slots. Die Aktion l\u00e4uft jeden Freitag und bietet einen sch\u00f6nen Start ins Spielwochenende. Sie richtet sich an langj\u00e4hrige Stammspieler und will zugleich neue Mitglieder anziehen. Wieviele Freispiele es gibt und f\u00fcr diverse Spiele, das variiert von Woche zu Woche. Das erh\u00e4lt die Sache spannend. Die Spieler werden in der Regel per E-Mail oder \u00fcber eine Nachricht im eigenen Konto informiert. So gelangen sie m\u00fchelos an ihre Drehungen.<\/p>\n

Das Konzept hinter der w\u00f6chentlichen Belohnung<\/h3>\n

Das Prinzip ist einfach und durchdacht. Weil die Aktion jede Woche wiederkehrt, fiebern die Spieler darauf und bleiben der Plattform verbunden. Es ist ein Zeichen der Anerkennung, das hinaus \u00fcber den normalen Willkommensbonus geht. Das Casino will so f\u00fcr dauerhafte Unterhaltung zu garantieren und Spielern die Chance erm\u00f6glichen, neue Slots ohne eigenem Geld zu testen. F\u00fcr viele wird der Freitag so zu einem feinen, w\u00f6chentlichen Highlight. Diese Zuverl\u00e4ssigkeit ragt heraus in einem Markt mit vielen kurzfristiger und oft aufwendiger Bonusaktionen.<\/p>\n

Unterscheidung zu anderen Promotionen<\/h4>\n

Der Free Spin Friday ist keine einmalige Einmalaktion und auch kein reines Turnier. Er liefert eine einfache und regelm\u00e4\u00dfige Belohnung. Andere Boni erfordern h\u00e4ufig betr\u00e4chtliche Ums\u00e4tze, bis man sie auszahlen lassen kann. Hier geht es vor allem darum, m\u00fchelos Spa\u00df zu bereiten und neue Spiele zu entdecken. Die Freispiele werden meistens automatisch verbucht, wenn man die einfachen Teilnahmeregeln befolgt hat. Genau dieser unmittelbare Weg, der den Spieler wenig mit Aufwand fordert, en.wikipedia.org<\/a> l\u00e4sst die Aktion so gesch\u00e4tzt.<\/p>\n

Voraussetzungen im Einzelnen<\/h2>\n

Die Teilnahme am Free Spin Friday ist einfach angelegt. Man braucht ein aktives und komplett best\u00e4tigtes Spielerkonto. Weil die Promotion f\u00fcr Deutschland gemacht ist, sollen Teilnehmer m\u00fcndig sein und hier leben. Spieler sollten au\u00dferdem die Marketing-E-Mails des Casinos empfangen. Die Einladungen und Freispiele erfolgen n\u00e4mlich h\u00e4ufig auf diesem Weg. Manchmal reicht es auch, sich einfach am Freitag einzuloggen. Dann gelangen die Freispiele von selbst auf dem Konto.<\/p>\n

Es lohnt sich, vorher einen Blick in die aktuellen Bedingungen zu werfen. Diese finden sich im Promotionsbereich der Website oder im Newsletter. Yoyo Casino kann die Aktion jederzeit anpassen. Ein guter Tipp ist es, am Freitagmorgen im Spielerkonto nachzuschauen. Die Verifikation des Kontos ist gesetzlich vorgeschrieben. Sie ist jedoch auch erforderlich, um sp\u00e4ter Boni und Gewinne problemlos auszahlen zu k\u00f6nnen. Diese Schritte sorgen f\u00fcr einen reibungslosen Ablauf.<\/p>\n

Werbung und Kundenbindung<\/h2>\n

Im starken Wettbewerb der deutschen Online-Casinos sind best\u00e4ndige und zuverl\u00e4ssige Aktionen wesentlich, um Spieler zu binden. Der Free Spin Friday schafft eine regelm\u00e4\u00dfige Interaktion zwischen Casino und Spieler, die \u00fcber eine einfache Gesch\u00e4ftsbeziehung hinausreicht. Derartige Angebote zeigen, dass ein Casino seine Community wertsch\u00e4tzt und kontinuierlich neue Anreize schaffen will. Sie bewahren das Spielerlebnis lebendig und schaffen f\u00fcr eine erfreuliche Erwartung.<\/p>\n

F\u00fcr das Casino selbst ist die regelm\u00e4\u00dfige Aktion ein effektives Marketingwerkzeug. Sie steigert die Aktivit\u00e4t und festigt die Marke im Ged\u00e4chtnis der Spieler. Wenn Spieler heutzutage so viele Wahlm\u00f6glichkeiten vorfinden, kann ein regelm\u00e4\u00dfiges Giveaway wie der Free Spin Friday den Ausschlag bieten, warum jemand einer Plattform treu bleibt. Es vermittelt Best\u00e4ndigkeit und nachhaltiges Denken, was Vertrauen f\u00f6rdert.<\/p>\n

Spielauswahl und Softwarepartner<\/h2>\n

F\u00fcr den Free Spin Friday w\u00e4hlt Yoyo Casino meist Slots von renommierten Anbietern wie NetEnt, Play’n GO, Pragmatic Play oder Big Time Gaming aus. Oft sind es aktuelle Hits oder altbew\u00e4hrte Klassiker. Das Spektrum reicht von klassischen Fruchtmaschinen \u00fcber erz\u00e4hlerische Video-Slots bis zu Spielen mit speziellen Features wie Megaways oder abst\u00fcrzenden Symbolen. Diese Vielfalt garantiert, dass f\u00fcr jeden Geschmack etwas dabei ist.<\/p>\n

Wie die Auswahl getroffen wird<\/h3>\n

Die Auswahl kann zu saisonalen Anl\u00e4ssen oder aktuellen Geschehnissen passen. Indem das Casino w\u00f6chentlich andere Titel zeigt, unterst\u00fctzt es Spielern, neue Favoriten zu finden. Jemand, der sonst nur gewisse Kategorien mag, mag so auf einen besonders guten Slot sto\u00dfen. Die handverlesene Auswahl ist auch eine Art G\u00fctesiegel. Welche Slots es gibt, wird meist zu Beginn der Woche per Newsletter oder am Freitag selbst auf der Webseite ver\u00f6ffentlicht.<\/p>\n

Verantwortungsbewusstes Spielen als Grundlage<\/h2>\n

Yoyo Casino betont, dass auch ein abwechslungsreiches Angebot wie der Free Spin Friday stets den Regeln f\u00fcr verantwortungsbewusstes Spielen entspricht. Die Freispiele sind als Unterhaltung gedacht und sollen nicht zu ma\u00dflosem Spielen animieren. Das Casino betont, dass alle Gewinne aus Freispielen den normalen Bonusbedingungen unterliegen. Dazu k\u00f6nnen Umsatzvorgaben und Auszahlungslimits geh\u00f6ren. Diese Bedingungen sind in den Promotion-Regeln eindeutig dargelegt.<\/p>\n

Spieler k\u00f6nnen jederzeit ihre Einzahlungsgrenzen, Spielzeitbeschr\u00e4nkungen oder einen Selbstausschluss \u00fcber die verantwortungsbewussten Spielwerkzeuge des Casinos festlegen. Die Teilnahme setzt voraus, dass man die damit verbundenen Bedingungen begreift und annimmt. Yoyo Casino betont, dass Gl\u00fccksspiel in erster Linie dem Vergn\u00fcgen dienen soll und nie als Einkommensquelle gedacht ist. Diese Haltung ist ein fester Teil des verantwortungsvollen Handelns auf dem regulierten deutschen Markt.<\/p>\n

Vorz\u00fcge und Mehrwert der Freispiele<\/h2>\n

Die Freispiele vom Free Spin Friday haben zahlreiche Vorteile. Es geht nicht nur ums Geld. Vor allem kann man gefragte oder brandneue Slots ohne eigenes Risiko ausprobieren. Gewinne aus diesen Freispielen werden als Bonusgeld gutgeschrieben. Bevor man sie auszahlen kann, m\u00fcssen allerdings noch Umsatzbedingungen erf\u00fcllt werden. Trotzdem ist es eine tolle Gelegenheit, das Spielguthaben zu erh\u00f6hen und l\u00e4nger spielen zu k\u00f6nnen.<\/p>\n