[Gelöst] WPML verhindert, dass die WordPress eigene Datei admin-ajax.php geladen wird
Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.
Problem: Auf Ihrer mehrsprachigen Webseite funktioniert ein Greyd Forms Formular in der Hauptsprache, jedoch nicht in den anderen Sprachen. Das Problem wird durch WPML verursacht, das das Laden der WordPress-Datei admin-ajax.php verhindert, welche für die Verifizierung von Formulareingaben notwendig ist. Solution: Beachten Sie bitte, dass das Greyd Team diese Problem mittlerweile gelöst hat. Wir empfehlen zudem, die benutzerdefinierten Felder des Formulars auf "Kopieren" zu setzen und eine kleine Änderung auf der Originalseite vorzunehmen. Speichern Sie die Seite erneut und führen Sie die Übersetzung erneut durch. Sollte das Problem weiterhin bestehen, kontaktieren Sie bitte den Autor des Greyd Forms Plugins, da weitere Anpassungen am Plugin notwendig sein könnten. Für detaillierte Anweisungen zur Einstellung benutzerdefinierter Felder besuchen Sie bitte unsere Dokumentation.
Bitte beachten Sie, dass diese Lösung möglicherweise veraltet oder nicht auf Ihr Problem zutreffend ist. Wir empfehlen Ihnen, die bekannten Probleme zu überprüfen, die Version der dauerhaften Lösung zu verifizieren und zu bestätigen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben. Sollten weiterhin Probleme auftreten, zögern Sie nicht, ein neues Support-Ticket zu eröffnen. Besuchen Sie dazu unser Support-Forum.
Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.
Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.
Hintergrund des Themas:
Ich habe eine Webseite mit 4 Sprachen: EN als Hauptsprache, DE, PT und ES als weitere Sprachen. Auf der Startseite ist ein Formular eingebaut, das in der Hauptsprache funktioniert, aber nicht in den anderen Sprachen. Der Plugin-Hersteller Greyd hat mir mitgeteilt, dass WPML den Fehler verursacht.
Die Symptome:
WPML verhindert, dass die WordPress eigene Datei admin-ajax.php geladen wird, was notwendig ist, um die Eingaben in Formularfelder zu verifizieren. Ohne diese Funktion lässt sich das Formular nicht abschicken.
Ich kann gerne anbieten mir das einmal genauer anzusehen.
Ich möchte einen temporären Zugriff (wp-admin und FTP) auf die Website anfordern, um das Problem genauer zu untersuchen.
Die dafür erforderlichen Felder findst Du unterhalb des Kommentarbereichs, wenn Du dich anmelden, um die nächste Antwort zu hinterlassen. Die Informationen, die Du angibst sind privat, was bedeutet, dass nur Du und ich sie sehen und darauf zugreifen können.
WICHTIG
Lege bitte unbedingt eine Sicherungskopie der Website und der Datenbank an, bevor Du uns den Zugriff gewährst.
Wenn Du die Felder "wp-admin / FTP" nicht sehen kannst, werden Ihre Anmeldedaten für Post und Website als "PUBLIC" (Öffentlich) festgelegt. Veröffentliche die Daten NICHT, es sei denn, Du siehst die erforderlichen wp-admin / FTP-Felder.
Ich muss hier ggfls. ein Plugin namens "All In One WP Migration" installieren, um eine Kopie der Website anzulegen, auf welche ich das Problem genauer untersuchen kann.
Ich wäre allerdings auch sehr dankbar, wenn Du zu diesem Zweck selbst eine Staging Site, bzw. Kopie der Website von Deinem Server aus bereitstellen könntest.
Bei Fragen zum Erstellen einer solchen Staging Site kannst Du deinen Hosting Anbieter konsultieren. Achte bitte darauf, dass WPML auf diesem Staging ebenso unter https://wpml.org/de/account/websites/ registriert sein muss.
Solltest Du dazu nicht in der Lage sein eine solche Kopie der Website zum Testen bereitzustellen, dann lass es mich bitte auf diesem Ticket wissen.
Das private Antwortformular sieht folgendermaßen aus: versteckter Link
Klicke beim nächsten Antworten auf "I still need assistance".
Video: versteckter Link
Beachte bitte, dass wir verpflichtet sind, diese Informationen auf jedem Ticket individuell anzufordern. Wir dürfen nicht auf Zugangsinformationen zugreifen, die nicht speziell auf diesem Ticket im privaten Antwortformular übermittelt wurden.
Ich habe die Homepage geöffnet, dann kam ein Fenster, siehe Screenshot 1.
Anschließend habe ich etwas geändert und wollte es abspeichern, dann kam wieder eine Nachricht, dass ich nicht speichern kann: Die Aktualisierung ist fehlgeschlagen. Die Antwort ist keine gültige JSON-Antwort. (Screenshot 2).
Habe die Seite wieder verlassen, neu aufgemacht, immer noch das Gleiche.
DE-Übersetzung noch einmal abgespeichert, Formular kann immer noch nicht senden.
Das private Antwortformular ist erneut aktiviert. Bitte sende mir einen Backup Code und ich werde dann versuchen eine Kopie der Website zum Testen anzulegen.
Das originale Formular finde ich hier:
/wp-admin/post.php?post=377&action=edit
Im unteren Bereich sind alle Custom Fields auf "Copy" gestellt und deshalb werden die Feldwerte nicht übersetzt.
Danach habe ich das originale Formular editiert, enreut gespeichert und die Übersetzung nochmals übernommen.
Seitdem funktionierte die Übersetzung auf meiner lokalen Kopie der Website.
Ausnahe: Der "Submit" Button Text scheint sich nicht übersetzen zu lassen. Das wäre ein Problem, dass ich versuchen könnte auf einer neuen Test Site zu replizieren, um es intern zu eskalieren.
ich glaube, wir haben hier ein Missverständnis vorliegen.
Es geht nicht darum, dass das Formular nicht übersetzt wird.
Es geht darum, dass das Formular nicht gesendet wird.
Das meinte der Entwickler von Greyd dazu:
WPML verhindert, dass die WordPress eigene Datei admin-ajax.php geladen wird, was notwendig ist, um die Eingaben in Formularfelder zu verifizieren. Ohne diese Funktion lässt sich das Formular nicht abschicken.