WordPress: Dateinamen direkt beim Upload anonymisieren

Häufig habe ich das Problem, dass Dateinamen, die in die Mediathek hochgeladen worden sind, automatisch mit Zahlen erweitert und fortgeführt werden, weil sie vor dem Hochladen nicht vom Benutzer geändert worden.

Zu anderen Zeiten kommt es auch vor, dass dann etwas wichtigere Dateien nicht umbenannt werden und so einfacher zu erraten sind. Um das Problem zu lösen, findest du hier einen Schnipsel, mit dem die Dateinamen in WordPress direkt beim Upload anonymisiert und randomisiert werden.

add_filter('wp_unique_filename', function($filename, $ext) {
    $uniqueName = bin2hex(random_bytes(16));
    $filename = $uniqueName . $ext;
    return $filename;
}, 10, 2);Code-Sprache: PHP (php)

Hiermit werden jetzt automatisch alle Dateinamen anonymisiert und randomisiert. Wichtig ist, dass der Code nicht prüft, ob es den Dateinamen schon gibt. Dies müsste man noch ergänzen, bei Bedarf. Für den ersten Schritt sollte dies aber ausreichen, da die Funktion random_bytes ziemlich einzigartige Werte zurückgibt.

Falls du bei dir keine Möglichkeit findest, die Funktion einzubinden, kann dir auch das Plugin helfen, welches ich auf GitHub abgespeichert habe. Du kannst es auch sofort herunterladen, um dir die Suche auf GitHub zu sparen.

Ich glaube, ich habe noch nie einen Beitrag mit so vielen Worden und Werden geschrieben. Trotzdem hoffe ich, dass dir der Beitrag weitergeholfen hat.