- Stato
- Risolto
- Segnalato per
- WPML Multilingual CMS 4.6.9
- Risolto in
- WPML 4.9.3
- Tag dell’argomento
- Bug
Panoramica del problema
In alcuni casi, quando utilizzi template di pagina personalizzati, il template selezionato non viene applicato correttamente alle pagine tradotte.
Soluzione alternativa
Per assicurarti che il template di pagina personalizzato sia applicato correttamente alla pagina tradotta, segui questi passaggi:
- Elimina le voci pertinenti da entrambe le tabelle
wp_postseicl_translations.
- Passa alla lingua secondaria usando la barra di amministrazione superiore, quindi vai su Aspetto > Editor, individua il template tradotto ed eliminalo.
- In WPML > Impostazioni > URL della pagina, abilita “Traduci” per la traduzione degli slug (questo garantisce che lo slug del template sia incluso nella traduzione invece di essere generato automaticamente dal titolo).
- Apri il file: wp-content/plugins/sitepress-multilingual-cms/classes/full-site-editing/BlockTemplates.php
- Intorno alla riga 56, commenta la seguente riga:
$postData['post_name'] = $post->post_name;
- Invia nuovamente il template per la traduzione.
- Durante la traduzione del template, assicurati che lo slug sia corretto e includa lo slug della pagina tradotta o della tassonomia.
Caso limite
Esiste una sequenza specifica in cui una pagina tradotta potrebbe non essere associata al template tradotto:
- Quando crei un nuovo template personalizzato direttamente durante la creazione di una nuova pagina (selezionando “Template > Crea un nuovo template” nella barra laterale di destra), sia la pagina che il suo template vengono pubblicati contemporaneamente.
- Se la traduzione automatica (“Traduci tutto”) è abilitata, WPML invia sia la pagina che il template alla traduzione contemporaneamente.
- Se la traduzione della pagina viene completata prima della traduzione del template, il template tradotto non esiste ancora per poter essere assegnato. Di conseguenza, la pagina tradotta finisce per avere il template predefinito.
- Per risolvere questo problema, una volta completata e pubblicata la traduzione del template, invia nuovamente la pagina tradotta alla traduzione in modo che riceva correttamente il template appena tradotto.