Div ID/Text in WordPress-Datei finden

thobie

Mitglied
Thread Starter
Dabei seit
23.04.2006
Beiträge
628
Punkte Reaktionen
109
Moin, Moin, Kollegen,

ich habe auf Rat von Difool das Plugin SP Project & Document Manager installiert.

Die Übersetzungsdateien waren zu 80 % übersetzt, ich habe die letzten 20 % mit dem Plugin Locotranslate hinzugefügt.

Nun stelle ich aber fest, dass die englischen Ausdrücke im Anmelde-/Registrierungs-Formular immer noch in Englisch sind, also anscheinend nicht über die Übersetzungsdateien abgedeckt werden.

Über den Seitenquelltext im Browser finde ich nun diese Stelle im HTML-Code der Seite:

HTML:
<div id="content">
<div id="cdm-login-tabs" class="ui-tabs ui-corner-all ui-widget ui-widget-content">
<ul class="nav nav-tabs ui-tabs-nav ui-corner-all ui-helper-reset ui-helper-clearfix ui-widget-header" data-tabs="tabs" role="tablist">
<li class="active ui-tabs-tab ui-corner-top ui-state-default ui-tab ui-tabs-active ui-state-active" role="tab" tabindex="0" aria-controls="tab-login" aria-labelledby="ui-id-1" aria-selected="true" aria-expanded="true"><a href="#tab-login" data-toggle="tab" data-value="#tab-login" tabindex="-1" class="ui-tabs-anchor" id="ui-id-1">Login</a></li>
<li role="tab" tabindex="-1" class="ui-tabs-tab ui-corner-top ui-state-default ui-tab" aria-controls="tab-register" aria-labelledby="ui-id-2" aria-selected="false" aria-expanded="false"><a href="#tab-register" data-toggle="tab" data-value="#tab-register" tabindex="-1" class="ui-tabs-anchor" id="ui-id-2">Register</a></li>
</ul>

In welcher Datei von WordPress finde ich nun diese Div ID bzw. diesen Text, den ich dann im Childtheme ändern würde und damit hoffentlich in das Parenttheme und das Frontend übernommen wird? Mit CSS komme ich ja mit dem Ersetzen von englischen in deutschen Text nicht weiter.

Grüße aus Hamburg

Thobie
 

Johanna K

Aktives Mitglied
Dabei seit
28.10.2009
Beiträge
1.019
Punkte Reaktionen
671
Es würde mich überraschen, wenn du die div id so direkt in einer Datei fändest. Die Seite wird von WP dynamisch aufgebaut. Was dabei herauskommt, steht nicht in der Form in den Dateien.

Du kannst für den Notfall ein grep nach einem lesbaren Text auf sämtliche Dateien machen. Allerdings hast du hier nur die kurzen Texte "Login" und Register", was zu vielen falschen Treffern führen könnte. Mit etwas Mühe kannst du damit die Datei herausfinden, in der die Texte stehen. Aber der offizielle von WP empfohlene Weg ist das sicher nicht.
 

thobie

Mitglied
Thread Starter
Dabei seit
23.04.2006
Beiträge
628
Punkte Reaktionen
109
Danke, Johanna. Das hatte ich mir so auch schon überlegt. Deswegen schrieb ich auch Div ID/Text. Vermutlich ist die zugrunde liegende Datei eine PHP-Datei wie die functions.php, die dynamisch die im Frontend dargestellte Seite mit dem HTML-Code erzeugt.

ich habe glücklicherweise zusätzlich zu den beiden genannten englischen Begriffen noch solche wie „Enter username“ und „Reset password“, was bei einer Suche sicherlich zu besseren Ergebnisen führen sollte.

Ein grep ist meines Wissens ein Suchprogramm auf Unix? Welches Tool oder Plugin schlägst Du denn für die WordPress-Dateien vor?
 

thobie

Mitglied
Thread Starter
Dabei seit
23.04.2006
Beiträge
628
Punkte Reaktionen
109
Okay.

Aber in den Language-Dateien sind diese Begriffe nicht zu finden. Eben alle englischen Begriffe im Anmelde-/Reigstrierungs-Formular nicht.

Außerdem ist laut Locotranslate auch keine .pot-Datei vorhanden. Nur die .po-/.mo-Dateien.
 

thobie

Mitglied
Thread Starter
Dabei seit
23.04.2006
Beiträge
628
Punkte Reaktionen
109
Difool, ich habe den Code auf der Seite unter dem genannten Link ausprobiert und in die functions.php des Childthemes eingesetzt.

Beim ersten Mal habe ich „Login“ durch „Anmelden“ ersetzt. Der Code wurde zwar gespeichert, im Formular im Frontend erschien aber wieder der englische Text.

Dann habe ich diverse andere englische Begriffe getestet, bekam dann aber beim Abspeichern immer die Fehlermeldung „nonce_failure“.
 

thobie

Mitglied
Thread Starter
Dabei seit
23.04.2006
Beiträge
628
Punkte Reaktionen
109
Jetzt bin ich doch etwas überfragt.

Ich habe
a) mit der FTP FileManager App auf dem iPad auf dem Webspace der Site alle Dateien nach „Register“ und „Enter username“ durchsuchen lassen, ohne Ergebnis.
b) alle Ordner und Dateien des Webspaces der Site auf dem Mac heruntergeladen und lokal nach den beiden genannten, englischen Begriffen suchen lassen. Es wurden einige php-Dateien gefunden, diese gehörten jedoch zu anderen Plugins. Ansonsten auch kein Ergebnis.
 

Difool

Frontend Admin
Dabei seit
18.03.2004
Beiträge
16.763
Punkte Reaktionen
12.138
Scheint im Plugin Template hardcoded zu sein: Register und Login

/plugins/sp-client-document-manager/templates/login/login.php:47: <?php if(get_option('users_can_register') != 0){ ?><li><a href="#tab-register" data-toggle="tab" data-value="#tab-register">Register</a></li><?php } ?>

templates-login-login.php.png
 

thobie

Mitglied
Thread Starter
Dabei seit
23.04.2006
Beiträge
628
Punkte Reaktionen
109
Moin, Moin, Difool, das scheint tatsächlich so zu sein, dass die englischen Begriffe in der PHP-Datei hardcoded sind. Ich habe die Datei gesichert und dupliziert, die Begriffe ins Deutsche übersetzt und abgespeichert. Jetzt funktioniert alles, das Anmelde-/Registrierungsformular ist auf Deutsch.

Jetzt macht mir nur noch eines Sorge: Wenn ich mich testweise als neuer Benutzer registriere, der Daten übermitteln will, registriere ich mich automatisch auch in WP als neuer Benutzer. Bisher habe ich dabei eine Bestätigungsmail erhalten, in der ich den Benutzernamen und das Passwort bestätigen musste. Jetzt erhalte ich eine reine Informationsmail mit dem Benutzernamen und dem Passwort, also kein Double-Opt-in mehr. Hängt das damit zusammen, dass ich für das Dateimanager-Plugin das Google reCaptcha Version 3 aktiviert habe?

Es hängt nicht mit der Übersetzung des Formulars ins Deutsche zusammen, denn auch mit der ursprünglichen, englischen Datei verläuft dies so.
 

thobie

Mitglied
Thread Starter
Dabei seit
23.04.2006
Beiträge
628
Punkte Reaktionen
109
Ich habe das jetzt nochmals getestet.

Bei einer Registrierung eines neuen Benutzers über den WP-Login muss der Benutzer einen Benutzernamen und eine Mailadresse eingeben. Er erhält dann an diese Adresse eine Bestätigungsmail mit der Aufforderung, durch Klicken auf den mitgeteilten Link sein Passwort zu ändern. Dann kann er sich anmelden.

Bei der Registrierung über das Formular des besagten Plugins wird der Benutzer aufgefordert, Benutzername, Mail-Adresse und Passwort einzugeben. Er erhält an seine Mailadresse nur eine Bestätigung der Anmeldung, denn ein Passwort hat er ja schon vergeben.

Das sollte meines Erachtens kein Sicherheitsrisiko sein, denn ein neuer Benutzer hat standardmäßig (bei dieser Website) die Rolle eines Abonnenten, kann also nur sein Benutzerprofil im Backend ändern. Und hat Zugang zum Dateimanager des besagten Plugins.
 
Oben