Article publié le 11 avril 2017
Article actualisé le 13 juillet 2017 suite à la mise à jour vers Fluida 1.3.4
Nous utilisons pour un de nos clients le thème Fluida 1.3.4 pour WordPress. Et pour la version anglaise du site, nous avons installé le plug-in Polylang.
Or sur la page d’accueil, les pages mises en avant dans la zone Featured Icon Blocks restaient en français dans la page d’accueil anglaise. Elles sont pourtant bien traduites et associées entre elles avec Polylang.
Nous avons résolu le problème en modifiant le fichier du thème :
/fluida/includes/landing-page.php
Dans les fonctions fluida_ipblocks() (environ en ligne 100) et fluida_lptext() (environ en ligne 254), nous avons remplacé :
$page = get_post( $pageid );
par
if ( function_exists( 'pll_get_post' ) ) { $page = get_post( pll_get_post($pageid, get_locale())); $pageid = pll_get_post($pageid, get_locale()); } else { $page = get_post( $pageid ); }
Par contre, ce fichier n’étant pas pris en compte dans un thème enfant, il faudra penser à refaire la modification après une mise à jour du thème parent Fluida.
Et vous, avez-vous une meilleure solution ? Postez votre commentaire ci-dessous.
8 commentaires
Magda · 24 avril 2017 à 12 h 29 min
Hi
Thanks for solution how to make multilanguage part of landing page at fluida theme! 🙂
I used it at my webside.
Could you please write me how to do the same for « text area builder »?
I tried to do it with myself, but my PHP knowledge is to little..
Now text area builder is:
* text area builder
*/
if ( ! function_exists( ‘fluida_lptext’ ) ):
function fluida_lptext( $what = ‘one’ ) {
$pageid = cryout_get_option( ‘fluida_lptext’ . $what );
if ( ! empty( $pageid ) ) {
$page = get_post( $pageid );
$data = array(
‘title’ => get_the_title( $pageid ),
‘text’ => apply_filters( ‘the_content’, get_post_field( ‘post_content’, $pageid ) ),
‘id’ => $what,
);
list( $data[‘image’], ) = wp_get_attachment_image_src( get_post_thumbnail_id( $pageid ), ‘full’ );
fluida_lptext_output( $data );
}
} // fluida_lptext()
endif;
/**
* text area output
*/
At this moment polylang can’t work for this area 🙁
I will be gratefull if it is possible.
regards
Magda
Delphine · 2 mai 2017 à 11 h 26 min
Bonjour,
Avez-vous essayé simplement de remplacer dans la fonction fluida_lptext() le code
$page = get_post( $pageid );
par le code que j’indique dans l’article ?
Thierry F · 14 mai 2017 à 21 h 00 min
Bonjour,
Merci beaucoup d’avoir partagé cette solution qui m’a épargné quelques soucis!
Avec Fluida, même problème sur la Landing Page avec les Text Areas… et même solution.
Je rencontre un autre problème avec les « entêtes de média » : elles ne s’affichent pas , la div header-image-main-inside est vide.
Cela ne se produit pas si on sélectionne une seule entête fixe, seulement avec le chargement aléatoire…
En cour d’analyse..
Laurie · 19 juillet 2017 à 10 h 54 min
Bonjour,
Merci beaucoup pour cette solution !
Auriez-vous un code pour faire de même avec les boxes ?
Elles affichent une catégorie d’articles mais ne semblent pas faire le lien avec l’article correspondant en anglais.
Merci d’avance.
Delphine · 19 juillet 2017 à 14 h 14 min
Bonjour,
Au préalable, avez-vous bien traduit vos catégories d’articles et rattaché les articles traduits à la catégorie traduite ?
Le cas échéant, sans doute est-ce quelque chose à modifier dans la fonction fluida_lpboxes().
Une piste de recherche : en ligne 178 de ce même fichier, le thème fait une recherche sur le nom de la catégorie. Si vous arrivez à ce qu’il cherche sur le nom traduit de la catégorie, cela devrait fonctionner…
Laurie · 20 juillet 2017 à 8 h 12 min
Merci infiniment pour votre réponse, ça fonctionne avec la catégorie traduite !
Bonne journée 🙂
Carine · 25 septembre 2017 à 10 h 01 min
Merci beaucoup pour cette méthode qui m’a sauvé ! 🙂
Kaj · 14 novembre 2017 à 15 h 13 min
Hi simplissite,
I am very grateful for this workaround, well done! Would you know how to do the same with the fluida_lpbox ? As I can’t find the « page » line which has worked on the other two situations, I don’t know where to add the additional lines.
Would you please so kind to help me with this?
Kaj