Wie kann ich die Sprache automatisierter Mails ändern?

Ich habe ein Problem mit Übersetzungen, das klingt ziemlich einfach, aber ich kann keinen Weg finden.

Die Situation

Ich habe eine Software auf WordPress, und ich muss nach bestimmten Aktionen E-Mails an meine Benutzer senden. Der Inhalt dieser Mails wurde mit __() und allen anderen eingebauten Übersetzungsfunktionen lokalisiert und in den entsprechenden .mo / .po Dateien übersetzt.

Meine Benutzer können die Sprache für das Frontend der Software wählen, und das funktioniert gut.

Wenn ich jedoch eine automatisierte Aufgabe beende, werden die E-Mails immer in der Hauptsprache gesendet, da die automatisierten Aufgaben ohne Anmeldung aufgerufen werden.

Die automatisierten Tasks werden von einem Cronjob (nicht wp-cron ) ausgetriggers, der eine function ausführt, um den Taskstapel zu verarbeiten.

Diese function lädt WordPress über wp-load.php und sucht nach der nächsten wp-load.php Aufgabe. Die Informationen zu dieser Aufgabe enthalten die Sprache, die der Benutzer selbst eingestellt hat – und dies ist der früheste Punkt, an dem ich die Sprache kenne.

Die Frage

Wie kann ich WordPress zwingen, nach dem Laden bestimmte Sprachen zu verwenden? Wann muss die Sprache definiert werden / der Filter zum locale hinzugefügt werden, damit die Änderungen angewendet werden?

Lösungen habe ich schon ausprobiert

  • Hinzufügen eines Filters für das Gebietsschema
  • Definieren von WPLANG mit der Konstante
  • das Authentifizierungs-Cookie für den Benutzer setzen (Ich weiß, das ist schlecht – habe es einfach ausprobiert)

Solutions Collecting From Web of "Wie kann ich die Sprache automatisierter Mails ändern?"