- Statut
- Résolu
- Extension/thème associé
- Twenty Fourteen
Aperçu de l’anomalie
Ce problème apparaît lorsque vous définissez la mise en page du contenu mis en avant sur slider ou grille (en accédant à Apparence > Personnaliser > Contenu mis en avant) et que vous lui attribuez l’étiquette « home ». Lorsque vous créez un article dans la langue par défaut (ajoutez une image mise en avant et l’étiquette « home ») et que vous le traduisez. L’article apparaîtra deux fois sur la page des articles de la langue secondaire, une fois comme article mis en avant et une autre comme article standard.
Solution de contournement
Cela se produit car la variable $post__not_in inclut les ID des articles mis en avant provenant de la langue par défaut afin qu’ils ne soient pas affichés comme des articles normaux. L’ID de l’article de la langue par défaut est utilisé pour filtrer l’article mis en avant de la langue secondaire, ce qui explique pourquoi les deux articles apparaissent.
Pour contourner ce problème, ajoutez le code ci-dessous au fichier suivant ( wp-content/themes/twentyfourteen/inc/featured-content.php ). Assurez-vous de l’ajouter après la ligne 251, qui inclut ($post__not_in = $query->get( ‘post__not_in’ );)
$my_current_lang = apply_filters( 'wpml_current_language', NULL );
$my_default_lang = apply_filters('wpml_default_language', NULL );
if($my_current_lang != $my_default_lang) {
for ($i = 0; $i < count($featured); $i++) {
$featured[$i] = apply_filters('wpml_object_id', $featured[$i], 'post');
}
}