[Résolu] lien vers une autre page pour un site multilingue (Créer un compte)

  • Statut : non résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #551489
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 4.2.2
    – Version de PHP/MySQL :
    – Thème utilisé : le mien
    – Extensions en place : aucune
    – Nom de l’hebergeur : Strato
    – Adresse du site : http://www.avocat-lepert.de

    Problème(s) rencontré(s) : Pb de lien vers une autre page (page mentions légales) suivant les langues.

    Bonjour,

    J’ai mes pages dans wordpress qui ont le nom suivant :
    pour la partie française : http://www.avocat-lepert.de/fr/mentions-legales/
    pour la partie allemande : http://www.avocat-lepert.de/de/impressum/

    Quand je suis « en français » et que je reste en français, ça ne pose pas de problème.
    Même pour le cas allemand.

    Le problème est quand je suis par exemple sur la page « mentions-legales » et que je clique en haut à droit sur le drapeau pour passer à cette page mais en allemand.

    Actuellement, j’utilise le code suivant :

    <div class="choixlangue">
    <?php
    if (basename(get_permalink()) == fr OR basename(get_permalink()) == de)
    {
    $urlfr = 'http'.(is_ssl() ? 's' : '').'://'.$_SERVER['HTTP_HOST'].'/fr/';
    $urlde = 'http'.(is_ssl() ? 's' : '').'://'.$_SERVER['HTTP_HOST'].'/de/';
    global $langue;
    }
    else
    {
    $urlfr = 'http'.(is_ssl() ? 's' : '').'://'.$_SERVER['HTTP_HOST'].'/fr/'.basename(get_permalink()).'/';
    $urlde = 'http'.(is_ssl() ? 's' : '').'://'.$_SERVER['HTTP_HOST'].'/de/'.basename(get_permalink()).'/';
    global $langue;
    }
    ?>
    <table>
    <tr>
    <td> <a class="francais" href="<?php echo $urlfr; ?>« >
    <img id="drapeau-francais" src="<?php bloginfo( 'stylesheet_directory' ); ?>/images/DrapeauFrancais.png » alt= « français »> </a>
    </td>
    <td> <a class="allemand" href="<?php echo $urlde; ?>« >
    <img id="drapeau-allemand" src="<?php bloginfo( 'stylesheet_directory' ); ?>/images/DrapeauAllemand.png » alt= « allemand »> </a>
    </td>
    </tr>
    </table>
    </div> <!-- fin choixlanguehaut -->

    et effectivement, ce code fait que la page wordpress allemande a tout intérêt à s’appeler comme la page française (ou vice versa).
    car si je suis sur http://www.avocat-lepert.de/fr/mentions-legales/

    le code

    $urlde = ‘http’.(is_ssl() ? ‘s’ :  »).’://’.$_SERVER[‘HTTP_HOST’].’/de/’.basename(get_permalink()).’/’;

    va m’amener à la page http://www.avocat-lepert.de/de/mentions-legales/ et nom pas à la page
    http://www.avocat-lepert.de/de/impressum/ comme je le souhaiterai

    Ma question est : comment écrire différemment

    $urlfr = ‘http’.(is_ssl() ? ‘s’ :  »).’://’.$_SERVER[‘HTTP_HOST’].’/fr/’.basename(get_permalink()).’/’;
    $urlde = ‘http’.(is_ssl() ? ‘s’ :  »).’://’.$_SERVER[‘HTTP_HOST’].’/de/’.basename(get_permalink()).’/’;

    afin que je puisse avoir un nom de page wordpress différent pour chaque langue ?
    (histoire de ne pas faire un test de cas pour chaque page. c’est une solution mais je me demande si il n’y en a pas une plus rapide)

    merci beaucoup si vous avez des conseils

    Timama

    #1011427
    Lumiere de Lune
    Participant
    Maître WordPress
    20531 contributions

    Pas possible de cette façon. Il faut gérer une correspondance en base de données. C’est ce que font des plugins comme WPML ou Polylang

    Pourquoi réinventer la roue ?

    #1011428
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    ah je m’en doutais bien de ça … et je ne veux pas réinventer la roue, oh que non.
    Je voulais juste vérifier. 😉

    Disons que je n’aime pas les plugins. J’espérais faire sans …. en même temps, vu le site, je pense que je vais faire sans 😉

    merci Lumière de Lune d’avoir répondu et confirmer ce que je pensais 😉 merci beaucoup

    #1011429
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    bon okay, dans mon site, je n’ai que 2 page ce qui facilite le problème.
    Donc pas besoin d’utiliser un plugin (faut voir avec plusieurs page).

    J’ai juste fait ça et modifier basename(get_permalink()) par le nom de la page allemand et française.

    <div class="choixlangue">

    <table>
    <tr>
    <td> <a class="francais" href=" »>
    <img id="drapeau-francais" src="/images/DrapeauFrancais.png » alt= « français »> </a>
    </td>
    <td> <a class="allemand" href=" »>
    <img id="drapeau-allemand" src="/images/DrapeauAllemand.png » alt= « allemand »> </a>
    </td>
    </tr>
    </table>
    </div> <!-- fin choixlanguehaut -->

    Donc je précise que effectivement, dans mon cas qui est simple car seulement 2 pages, ceci fonctionne et pas besoin de plugin.

    Bon, pour le moment le problème est réglé. On verra quand il y aura plus de page dans le site 😉

    RESOLU

4 sujets de 1 à 4 (sur un total de 4)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.