theme-page-fluida

Traduction de la page d’accueil du thème Fluida

avril 11, 2017 - AdminSimpliss

3Commentaires

J’utilise pour un des clients le thème Fluida pour WordPress. Et pour la version anglaise du site, j’ai installé le plug-in Polylang.

Or sur la page d’accueil, mes 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.

J’ai pour ma part résolu le problème en modifiant le fichier du thème :

/fluida/includes/landing-page.php

Dans la fonction fluida_ipblocks(), j’ai remplacé :

$page = get_post( $pageid );

par

if ( function_exists( 'pll_get_post' ) ) {
    $page = get_post( pll_get_post($pageid, get_locale()));
 } else {
    $page = get_post( $pageid );
 }

Et pour le lien :

get_permalink( $pageid ),

par

get_permalink( pll_get_post($pageid, get_locale()) ),

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.

3 réactions au sujet de « Traduction de la page d’accueil du thème Fluida »

  • 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

    Répondre
    • AdminSimpliss

      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 ?

      Répondre
  • 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..

    Répondre

Écrire un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

En continuant à utiliser le site, vous acceptez l’utilisation des cookies. Plus d’informations

Les paramètres des cookies sur ce site sont définis sur « accepter les cookies » pour vous offrir la meilleure expérience de navigation possible. Si vous continuez à utiliser ce site sans changer vos paramètres de cookies ou si vous cliquez sur "Accepter" ci-dessous, vous consentez à cela.

Fermer