Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.
Problem:
Wenn Sie auf der deutschen Version Ihrer Website eine Zimmerreservierung vornehmen, tritt ein 404-Fehler auf, nachdem Sie auf "jetzt buchen" geklickt haben. Dieses Problem tritt nicht auf, wenn Sie die englische Sprachversion verwenden. Der Fehler scheint durch WPML verursacht zu werden, da das Deaktivieren des Plugins das Problem behebt.
Solution:
1) Stellen Sie sicher, dass der Endpunkt "reservation-received" korrekt in "reservierung-erhalten" übersetzt ist, ohne Großbuchstaben und Leerzeichen.
2) Entfernen Sie den Endpoint Key mit demselben Namen, um die URL zu "/booking/reservierung-erhalten/5246/?key=htl_reservation_65f2f1b40a767" zu korrigieren.
3) Fügen Sie den "key"-Parameter in WPML > Sprachen > "URL-Argumente beibehalten zu den beibehaltenen Sprachumschaltparametern" hinzu.
4) Fügen Sie in der Datei
wp-content/plugins/wp-hotelier/includes/htl-page-functions.php
innerhalb der Funktion
htl_get_endpoint_url
folgenden Code hinzu:
if (function_exists('icl_t')) {<br /> $endpoint = apply_filters( 'wpml_translate_single_string', $endpoint, 'WP Endpoints', $endpoint );<br />}
direkt nach dem vorhandenen Code:
$endpoint = isset( HTL()->query->query_vars[ $endpoint ] ) ? HTL()->query->query_vars[ $endpoint ] : $endpoint;
Wir werden versuchen, die Plugin-Autoren zu kontaktieren, um eine dauerhafte Lösung zu finden.
Bitte beachten Sie, dass diese Lösung möglicherweise veraltet oder nicht auf Ihr Problem anwendbar ist. Wenn das Problem weiterhin besteht, empfehlen wir Ihnen, ein neues Support-Ticket zu eröffnen. Wir empfehlen Ihnen auch, 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 Sie weitere Unterstützung benötigen, wenden Sie sich bitte an 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.
Dieses Thema wurde abgetrennt von https://wpml.org/de/forums/topic/uebersetzung-wp-hotelier-plugin/
Schlagwörter: Compatibility, Exception
Dieses Thema enthält 16 Antworten, hat 2 Stimmen.
Zuletzt aktualisiert von Marcel Vor 9 Monaten, 2 Wochen.
Assistiert von: Marcel.
Verfasser | Beiträge |
---|---|
Februar 14, 2024 unter 5:07 pm #15303782 | |
marianneG-3 |
ein weiters Problem, sie können gerne dafür ein neues Ticket erstellen: Wenn ich auf der Homepage ein Zimmer buche, dh. Zimmer auswählen, Daten eingeben und dann auf "jetzt buchen" klicke, dann erscheint error 404. This is an issue related to WPML. If you deactivate it, the received page works correctly. Danke, mfG, Alexander |
Februar 14, 2024 unter 5:18 pm #15303803 | |
Marcel Supporter
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: Europe/Madrid (GMT+01:00) |
Hallo Alexander, die Autoren können die Sprache über unsere API abfragen und anpassen. Zum Beispiel über folgende Hooks: Die Autoren müssen also die Art und Weise, wie und wann Sie der Endpunkt registriert wird, an die aktuelle Sprache anpassen. So können Sie beispielsweise Endpunkte nur für bestimmte Sprachen registrieren oder die Endpoint-Slugs je nach Sprache ändern. Ich empfehle Ihnen, dass Sie die Autoren einladen, sich hier für eine WPML Zertifizierung zu bewerben. Unser Team steht den Autoren gerne bei der Anpassung deren Codes unterstützend bereit: https://wpml.org/documentation/support/go-global-program/. Freundliche Grüße |
Februar 17, 2024 unter 8:57 am #15313513 | |
marianneG-3 |
Ich kann ihnen nur die Antwort des WP Holtelier weiterleiten und hoffen, dass etwas konstruktives herauskommt: I can try to join their global program, but this is not something I can do in the next weeks or months. The quickest solution is to pass my response (what I wrote above), hoping that they find a solution. I would be happy to include the fix if I need to modify the plugin. Anyway, nobody had this issue with WPML before. So, there’s probably a misconfiguration in WPML or a minor bug. But I wasn’t able to find it when I inspected your installation. This must be solved by WPML because I literally have no way to check their code and the issue is not from WP Hotelier. The source code of WP Hotelier is visible to anyone here, so you can give them this URL: This is where I register the endpoints: ------------------------------------------ |
Februar 19, 2024 unter 4:39 pm #15319617 | |
Marcel Supporter
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: Europe/Madrid (GMT+01:00) |
Hallo, Sie können versuchen das Problem auf dieser Installation nachzustellen: versteckter Link. WPML sowie "WP Hotelier" + "WP Hotelier WPML" ist bereits vorinstalliert. Dass dieses Problem noch niemand gemeldet hat, liegt eher an der geringen Popularität dieses Plugins. Dazu in Kombination mit dem Multilingual Add-On wird es nur von <10 WPML Kunden verwendet. Sollte es auf der Sandbox reproduzierbar sein, werde ich dies unserem Compatibility-Team zur weiteren Prüfung weiterleiten. Ob hierfür eine Lösung bereitgestellt wird, wenn die Popularität dementsprechend gering ist, obliegt unserem Team. Sollte ein Code-Workound notwendig sein, liegt dies an den Autoren diesen zu integrieren, da das WPML Add-On von den Autoren ohne unsere Hilfe entwickelt wurde. Freundliche Grüße |
Februar 23, 2024 unter 1:20 pm #15337802 | |
marianneG-3 |
Hallo Marcel, auf der Sandbox funktioniert alles. |
Februar 23, 2024 unter 5:11 pm #15338857 | |
Marcel Supporter
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: Europe/Madrid (GMT+01:00) |
Hallo, also können wir schon einmal bestätigen, dass kein grundlegendes Kompatibilitäts-Problem vorliegt. Es wäre somit als Nächstes die Einstellungen zu prüfen. Könnten Sie bitte die Zugangsdaten erneut freischalten? Dann können wir folgendes prüfen: 1) Theme Optionen zwischen Live-Seite und Sandbox abgleichen Viele Grüße |
Februar 26, 2024 unter 4:48 pm #15345537 | |
Marcel Supporter
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: Europe/Madrid (GMT+01:00) |
Hallo, danke für den Zugang. Es sieht alles korrekt konfiguriert aus. Am besten stellen Sie eine Duplicator Kopie wie hier beschrieben https://wpml.org/faq/provide-supporters-copy-site/ bereit. Damit kann ich es lokal (andere Serverumgebung) testen, ob es isoliert ebenso auftritt. Damit sollen wir der Lösung näher kommen. Freundliche Grüße |
März 4, 2024 unter 11:13 am #15369006 | |
marianneG-3 |
Bitte das Ticket länger offen halten. |
März 4, 2024 unter 12:53 pm #15369605 | |
Marcel Supporter
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: Europe/Madrid (GMT+01:00) |
Gerne! |
März 12, 2024 unter 5:25 pm #15400941 | |
Marcel Supporter
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: Europe/Madrid (GMT+01:00) |
Hallo, vielen Dank! Ich musste das Theme deaktivieren, da überhaupt keine Buchung möglich war und auch der Kalender zur Datumsauswahl nicht funktionierte. Ich konnte das Problem isoliert ebenso nachstellen und habe es zur weiteren Prüfung an unser Team weitergeleitet. Wir melden und, wenn wir etwas dazu finden. Viele Grüße |
März 14, 2024 unter 5:01 pm #15411600 | |
Marcel Supporter
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: Europe/Madrid (GMT+01:00) |
Hallo Alexander, 1) Es wurde der Endpunkt "reservation-received" mit "Reservierung erhalten" übersetzt. Dies sollte nicht mit Großbuchstaben und Leerzeichen beginnen. Bitte ändern Sie dies in "reservierung-erhalten". 2) Entfernen Sie ebenso den Endpoint Key mit dem identischen Namen, sodass die URL zu "/booking/reservierung-erhalten/5246/?key=htl_reservation_65f2f1b40a767" wird. Fügen Sie den "key"-Parameter in WPML > Sprachen > "URL-Argumente beibehalten zu den beibehaltenen Sprachumschaltparametern" hinzu, sodass frei zwischen deutscher und englischer Sprache umgeschaltet werden kann. 3) 3) Hier wird zuerst zu /booking/reservation-received/ statt zum übersetzten Wert weitergeleitet. Lösung für diesen Fall: Gehen Sie zu wp-content/plugins/wp-hotelier/includes/htl-page-functions.php und in der Funktion htl_get_endpoint_url. Fügen Sie diese Bedingung hinzu: if (function_exists('icl_t')) { $endpoint = apply_filters( 'wpml_translate_single_string', $endpoint, 'WP Endpoints', $endpoint ); } direkt nach $endpoint = isset( HTL()->query->query_vars[ $endpoint ] ) ? HTL()->query->query_vars[ $endpoint ] : $endpoint; Wir werden versuchen dafür die Plugin-Autoren zu kontaktieren, damit deren Code angepasst werden kann. Viele Grüße |
März 15, 2024 unter 6:37 pm #15415899 | |
marianneG-3 |
Hallo Marcel, ok, danke, aber ich kenn mich nicht aus. |
März 18, 2024 unter 7:38 am #15419326 | |
Marcel Supporter
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: Europe/Madrid (GMT+01:00) |
Hallo Alexander, dann wäre es das beste, wenn Sie die Autoren nochmals kontaktieren, damit diese sich im genannten "Go-Global" Programm anmelden: https://wpml.org/documentation/support/go-global-program/. Unser Team hat entschieden, die Autoren nicht direkt zu kontaktierten, da das Plugin nicht für die Nutzung mit WPML zertifiziert ist, wir also keine Partnerschaft mit den Autoren haben, zudem ist das Plugin nicht wirklich populär unter unseren Kunden und das Problem betraf Ihre spezifische Installation, welches nicht reproduziert werden konnte. Sie müssten die Punkte im Plugin Code anpassen, damit dies wie gewünscht keinen 404 Fehler zurückgibt. Viele Grüße |
März 20, 2024 unter 8:36 pm #15433802 | |
marianneG-3 |
Ok, punkt 1 und 3 habe ich geschaft. Danke |
März 21, 2024 unter 7:55 am #15434564 | |
Marcel Supporter
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: Europe/Madrid (GMT+01:00) |
Hallo, In den Strings, suchen Sie nach "reservation-received" und ändern Sie die Übersetzung auf "reservierung-erhalten" (anstatt mit den Leerzeichen). Entfernen Sie dann den zusätzlichen Eintrag ebenso in den Strings. Die URL muss schlussendlich "/booking/reservierung-erhalten" darstellen im Frontend. Viele Grüße |