- Status
- Gelöst
- Gemeldet für
- WPML Multilingual CMS 4.6.9
- Gelöst in
- WPML 4.9.3
- Themen-Tags
- Bug
Übersicht über das Problem
In einigen Fällen wird bei der Verwendung benutzerdefinierter Seiten-Templates das ausgewählte Template nicht korrekt auf übersetzte Seiten angewendet.
Problemumgehung
Um sicherzustellen, dass das benutzerdefinierte Seiten-Template korrekt auf die übersetzte Seite angewendet wird, führen Sie die folgenden Schritte aus:
- Löschen Sie die entsprechenden Einträge aus den Tabellen
wp_postsundicl_translations.
- Wechseln Sie über die obere Admin-Leiste zur Sekundärsprache, gehen Sie dann zu Design > Editor, suchen Sie das übersetzte Template und löschen Sie es.
- Aktivieren Sie unter WPML > Einstellungen > Seiten-URL die Option „Übersetzen“ für die Slug-Übersetzung (dies stellt sicher, dass der Template-Slug in die Übersetzung einbezogen wird, anstatt automatisch aus dem Titel generiert zu werden).
- Öffnen Sie die Datei: wp-content/plugins/sitepress-multilingual-cms/classes/full-site-editing/BlockTemplates.php
- Kommentieren Sie um Zeile 56 herum die folgende Zeile aus:
$postData['post_name'] = $post->post_name;
- Senden Sie das Template erneut zur Übersetzung.
- Stellen Sie beim Übersetzen des Templates sicher, dass der Slug korrekt ist und den Slug der übersetzten Seite oder Taxonomie enthält.
Sonderfall
Es gibt eine bestimmte Reihenfolge, in der eine übersetzte Seite möglicherweise nicht mit dem übersetzten Template verknüpft wird:
- Wenn Sie ein neues benutzerdefiniertes Template direkt beim Erstellen einer neuen Seite erstellen (indem Sie in der rechten Seitenleiste „Template > Neues Template erstellen“ auswählen), werden sowohl die Seite als auch ihr Template gleichzeitig veröffentlicht.
- Wenn die automatische Übersetzung („Alles übersetzen“) aktiviert ist, sendet WPML sowohl die Seite als auch das Template zur gleichen Zeit zur Übersetzung.
- Wenn die Seitenübersetzung vor der Template-Übersetzung abgeschlossen ist, existiert das übersetzte Template noch nicht, um zugewiesen zu werden. Daher erhält die übersetzte Seite stattdessen das Standard-Template.
- Um dies zu beheben, senden Sie die übersetzte Seite erneut zur Übersetzung, sobald die Template-Übersetzung abgeschlossen und veröffentlicht ist, damit sie korrekt das neu übersetzte Template erhält.