/* 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":167403,"date":"2026-06-22T12:38:45","date_gmt":"2026-06-22T12:38:45","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=167403"},"modified":"2026-06-22T12:38:45","modified_gmt":"2026-06-22T12:38:45","slug":"black-racehorse-deluxe-zugellos-southwestern-pferdeliebhaberinnen-besuchen-hier-auf-ihre-kosten","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/black-racehorse-deluxe-zugellos-southwestern-pferdeliebhaberinnen-besuchen-hier-auf-ihre-kosten\/","title":{"rendered":"Black Racehorse Deluxe: Zugellos Southwestern & Pferdeliebhaberinnen besuchen hier auf ihre Kosten"},"content":{"rendered":"

4 Slots, diese in Deutschland auf Damen am bekanntesten man sagt, sie sind<\/h2>\n

Dank Ruby Fortune<\/a> Marktforschung, Verbraucherumfragen und engagierten Softwareentwicklern m\u00f6glichkeit schaffen sich Fragen aufwarts beliebten Slots z. hd. Girls anknupfend beantworten. Lang gefehlt ist, wenn in Slots fur jedes Girls angeschaltet natursekt Automatenspiele \u00fcber naiven Abbildungen & leichten Spielbedingungen gedacht ist. Das genaue Blick auf diese Spielerinnen pri\ufffdsentiert ich, so Girls diese entscheidende Part beim Spielen inoffizieller mitarbeiter Societal Gaming erobern. Z.b. besagt eine britische Nachforschung von 2018, so sich diese Geschlechterverteilung weitestgehend aufwarts 50% Damen & 40% Manner belauft.<\/p>\n

Daruber ist diese Frage desto geiler, die Slots von Damen am gunstigsten angenommen und buchstablich gefeiert sind. Vorab es in diese Event ein bekanntesten funf Slots in Girls in Deutschland geht, beleuchten wir diese Eigenschaften der speziellen Automatenspiele. Als erstes fallt auf, so diese Slots nach handen Frauen sehr verspielte Symbole und marchenhafte solange bis hin nach typischen Frauenthemen sein besonders nennen. Letzteres man sagt, sie sind etwa Slots auf zuhilfenahme von dem Objekt Pferde, \u00fcber starken Girls in ein Hauptrolle, Shoppen und diese umfangreiche Liebe nach finden.<\/p>\n

Jokers Mutze: Ein frohlicher Spa?macher versu?t einen Alltag<\/h2>\n

Ein Slot besticht von eine speziell witzige Computer animation und dem einfachen Gameplay. Trotz es keinen Verst\u00e4rker gibt, stehen Heftig & Scatter Symbole zur Verf\u00fcgung. Ein Blink away-Roboter bringt vielleicht noch diese Auszahlungsrate von 1997,40% uber sich. Durch die zahlreichen Details gibt auf schon einen au?erordentlichen Unterhaltungswert. Haufig m\u00f6glichkeit schaffen sich Freispiele nach handen Jokers Cap finden, diese in Echtgeld umgewandelt sind k\u00f6nnen. Merkur hut ab sich \u00fcber diesem Slot nach und ganz auf diese Praferenzen in Frauen eingelassen. Vorget\u00e4uscht ist inoffizieller mitarbeiter Demomodus & um Echtgeld \u00fcber dem Anwendung von two,nueve solange bis 15 Ecu.Viele kennen gar nicht mehr, so es diese Fruchteslots und Automatenspielen \u00fcber dem Sache Spa\u00dfmacher und Spa?macher guter, diese ursprunglich zum Casinoangebot gehorten. Wollen Sie dar\u00fcber diese Stimmung vos ursprunglichen Glucksspiels am Notebook, auf Dem Cell phone und new iphone 4 erfahrung, dann haben Diese sich auch eine Slots angeschaltet: Fire Platzhalter Slots, Mystery Platzhalter, Absolut Platzhalter und Intercity-express Platzhalter.<\/p>\n

Hart Spirit: Abenteurerin aus ein Welt ein Indianer<\/h2>\n

Wild Spirit von Mascot Gaming fangt das Wohnen das Eingeborener Nordamerikas ein. Diese Auszahlungsquote liegt in 97%. Die \u00fcbernehmen diese Part der schonen Ureinwohnerin uber diesem Barenfell geubt. Ein Sound eroffnet diese mystische Welt ein Indianer. Begleitet ist diese tapfere Kriegerin von dem Ross, dem Adler, dem Wolf & dem Traumfanger. Auf ein Auf that was suche Totem erlebt die mehrere Abenteuer und erfullt \u00fcber Scatter wenn Heftig Symbolen & Freispielen diese Geschichten und Prophezeiungen ein Meinen. Das mannliche Pendant nach Hart Spirit ist \u00fcbrigens gleichnamig und stammt aus dem Hause Merkur. Das tragen Diese tatsachlich von anderen Abenteuerslots \u00fcber Frauencharakteren? Lernen Sie etwa Vermittler Anne Auricomous Returns, Thunderkick Their Falcon Huntress & Lawgiver Maiden uberblicken.<\/p>\n

Bridesmaids: Ein mitrei?abschluss Filmspa? inoffizieller mitarbeiter Slotgewand<\/h2>\n

Microgaming cap sich das Kom\u00f6die erfunden und einen erstklassigen Slot herausgebracht. Intensiv man sagt, sie sind diese Daten und Krisen zwischen Freundinnen thematisiert, diese diese perfekten Hochzeitsvorbereitungen der gemeinsamen Freundin verwirklichen mussen. Ein Bridesmaids Spielautomat eben daneben lustiger Spielsequenzen Filmausschnitte bereit. Auswahlen Sie aus einen Flying Large und Friendship Kostenfrei Spins und organisieren Diese sich einen Boutique auf anderem Magic Gifts Vermittlungsgebuhr. Nicht nach vergessen ist das spannende Wheel Provision, beim Cupcakes in wertvolle Gewinne gewandelt sind k\u00f6nnen und diese RTP von 1997,71%. Filme-Slots sind immer haufiger in einen monatlichen Spielereleases aufgespurt. Nach einen beliebtesten gehoren Beginners kosmos purpose symbolic instruction code Catgut, Grease, Bonnie & Clyde und Jurassic Brett. Haben Diese einmal auf, in welchem ausma? mutma?lich Das Lieblingsfilm etwas wie Erreichbar Automatenspiel zur Verf\u00fcgung entwickelt und genie\u00dfen Sie diese Fortsetzung das Filmgeschichte.<\/p>\n

Das Spieleentwickler Wazdan trifft auf zuhilfenahme von diesem Slot auf allen umstanden einen Nerv in Damen. Wer hut ab wie M\u00e4dchen nicht von zusatzlichem Ross getraumt und eine Reitpartnerschaft gehabt? In diesem Slot finden sich Symbole, diese einen Allerlei aus Fruchteslots und Wilder Europa spiegeln. Diese frohliche Musik inoffizieller mitarbeiter Hintergrund zieht Diese sofort aus Einem Alltag auf anderem verschafft Ihnen \u00fcber expandierenden Wilds, Scatter, Multi-Level-Gewinne sowie Gewinnmultiplikatoren und Black colored Racehorse Spins. Entdecken sie inwendig vos Wilden Westens diese verborgenen Schatze und machen Diese kunden sich diese RTP von 1998,23% nach nutze. Das Sache Pferde lasst sich nebeneinander in sehr vielen Automatenspielen finden.<\/p>\n