Support » Allgemeine Fragen » Umlaute in Benutzernamen

  • Hallo zusammen

    Ich möchte meinen Nutzern erlauben, bei der Registrierung Benutzernamen mit Umlauten (äöü) zu wählen. Dazu versuchte ich, folgendes Plugin zu installieren und den Regex entsprechend zu modifizieren:
    https://de.wordpress.org/plugins/wordpress-special-characters-in-usernames/

    Leider hat das nicht geklappt. Ich habe den Plugin-Entwickler angeschrieben, aber er scheint nicht besonders aktiv zu sein.

    Meiner Meinung nach müsste das aber auch ohne Plugin gehen – soweit ich das beurteilen kann, sollte eine einfache Modifikation des entsprechenden Regex-Teils im WordPress-core ausreichen, um die erlaubten Zeichen um meine Umlaute zu ergänzen…?

    Ich bin froh um jede Hilfestellung! Weil ich mich noch immer als WordPress-Anfänger einstufe, helfen mir detaillierte Anleitungen besser, eure Lösungsvorschläge zu verstehen. Danke schon jetzt vielmals und schöne Grüsse aus der Schweiz 🙂

    • Dieses Thema wurde geändert vor 4 Jahre, 9 Monaten von lukasbieri.
    • Dieses Thema wurde geändert vor 4 Jahre, 9 Monaten von lukasbieri.
    • Dieses Thema wurde geändert vor 4 Jahre, 9 Monaten von lukasbieri.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Schau dir mal an, was das Plugin macht:
    https://plugins.trac.wordpress.org/browser/wordpress-special-characters-in-usernames/trunk/wordpress-special-characters-in-usernames.php

    Da wird einfach nur der Filter mit einer eigenen Funktion besetzt.

    Es geht also nur darum die RegEx so anzupassen, dass sie auch Umlaute (und „ß“?) durchlässt.

    Gruß, Torsten

    Thread-Ersteller lukasbieri

    (@lukasbieri)

    Hallo Torsten

    Vielen Dank für deine Hilfe! Ich habe den Regex anzupassen versucht. Leider hat das aber nicht funktioniert.

    Originaler Regex:
    $username = preg_replace ('|[^a-z\p{Arabic}\p{Cyrillic}0-9 _.\-@]|iu', '', $username);

    Mein angepasster Regex (um \p{L} ergänzt):
    $username = preg_replace ('|[^a-z\p{Arabic}\p{L}\p{Cyrillic}0-9 _.\-@]|iu', '', $username);

    Leider werden Umlaute nach wie vor nicht akzeptiert.

    Einzelne Zeichen kann ich inkludieren, aber auch hier funktionieren keine Umlaute (# wird erlaubt):
    $username = preg_replace ('|[^a-z\p{Arabic}\p{L}\p{Cyrillic}0-9 _.\-@#]|iu', '', $username);

    Dasselbe mit Umlauten funktioniert aber nicht (ä wird erlaubt):
    $username = preg_replace ('|[^a-z\p{Arabic}\p{L}\p{Cyrillic}0-9 _.\-@ä]|iu', '', $username);

    -> Woran kann das liegen? Ich kenne mich mit Regex leider überhaupt nicht aus, bin deshalb froh um jede Hilfe!

    Vielen Dank!

    • Diese Antwort wurde geändert vor 4 Jahre, 8 Monaten von lukasbieri.
    • Diese Antwort wurde geändert vor 4 Jahre, 8 Monaten von Bego Mario Garde.
    Thread-Ersteller lukasbieri

    (@lukasbieri)

    Update: Offenbar scheinen wirklich alle Zeichen zu funktionieren – Arabische und Kyrillische Zeichen werden mit meinem angepassten Regex-File in Benutzernamen akzeptiert.

    Nur Umlaute funktionieren nach wie vor nicht. Ich bin wirklich am verzweifeln und weiss nicht mehr weiter 🙁

    Danke für eure Hilfe!

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Das Thema „Umlaute in Benutzernamen“ ist für neue Antworten geschlossen.