modifier un modèle de page pour thème-enfant (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 16)
  • Auteur
    Messages
  • #518136
    Flobogo
    Modérateur
    Maître WordPress
    17053 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 3.4.2
    – Version de PHP/MySQL : 5.3
    – Thème utilisé : thème-enfant à partir de Graphene
    – Extensions en place : Akismet, Contact Form 7, DMS Guestbook + widget, Enhanced media picker, Media library assistant, Ninja pages et catégories, WP database Backup, WP SEO, WP optimize, WP Album Photos Plus
    – Nom de l’hebergeur :
    – Adresse du site : http://www.mon-coin-debourgogne.fr

    Problème(s) rencontré(s) : comment faire “accepter” par le thème-enfant un nouveau modèle de page ou modifier un modèle existant du thème initial ?

    Bonjour,

    Voilà, j’ai voulu modifier mon fichier de modèle de page 404 (mais ça pourrait être aussi bien pour le footer ou un autre modèle de page), qui existe dans le thème-parent, ici Graphene.
    Donc, j’ai procédé ainsi :
    – copie du fichier initial, collé dans Notepad++
    – modif de ce modèle avec Notepad++, je l’enregistre sur mon PC en 404.php
    – pour un test en local, j’ai collé le fichier modifié dans le dossier wampwordpressthemegraphene-child

    Le fichier apparaît bien sur ma page “éditeur” du thème-enfant (alors qu’avant, je n’avais pas de fichier 404 dans le thème enfant)

    Mais quand je fais volontairement une erreur de saisie dans une URL, je vois ma page-erreur s’afficher (en fait, j’ai juste modifié du texte) … puis revenir au texte prévu dans le fichier initial 404.php du thème-parent Graphene.

    Pourquoi mon fichier modifié pour le thème-enfant n’est-il pas prioritaire ?? Que faire pour qu’il soit définitivement “accepté” ? :rolleyes:

    #870182
    Guy
    Participant
    Maître WordPress
    14821 contributions

    Tu veux dire que tu vois ta page personnalisée s’afficher puis elle est ensuite remplacée par celle du thème parent?

    #870183
    Flobogo
    Modérateur
    Maître WordPress
    17053 contributions

    Oui, c’est tout à fait ça.
    Pour l’instant, j’ai modifié très peu de choses : simplement le texte d’explication / erreur 404 ne me convenait pas tout à fait.
    Dans le fichier 404.php d’origine (thème-parent Graphene), il est en anglais. Je l’ai donc modifié en anglais, puisque la traduction du thème se fait de manière automatique côté utilisateur, pour ma page 404.php insérée dans mon thème-enfant. (à la racine du dossier de mon thème-enfant, comme indiqué dans mon message précédent)

    Mais maintenant, quand cette page 404 s’affiche, je vois apparaître l’espace d’une seconde ou deux mon texte en anglais, puis c’est le texte précédent (celui du fichier d’origine) qui s’affiche, en français … mais ce n’est pas la traduction de mon propre texte, puisque j’ai enlevé le début de phrase et pourtant il est toujours là, ainsi que la suite du texte alors qu’il devrait être différent. :(

    #870184
    Osara
    Invité
    Maître WordPress
    34110 contributions

    Si c’est juste pour traduire les phrases en anglais, il faut utiliser poedit et ouvrir le fichier .mo une fois les phrases traduites pedit va générer un fichier .mo. Les deux fichiers .po et .mo les placer à l’endroit initial.

    http://www.poedit.net/
    http://wpchannel.com/poedit-outil-traduction-themes-plugins-wordpress/

    #870185
    Guy
    Participant
    Maître WordPress
    14821 contributions

    Je suppose que c’est un traitement spécifique à Graphène, il faudrait regarder le code de la page 404.php pour voir pourquoi elle se régénère ainsi.

    En tout cas, je n’ai jamais vu ça, si des spécialistes de Graphene peuvent amener leur contribution 🙂 as tu regardé dans le forum du thème pour voir si cela n’a pas déjà été évoqué?

    #870186
    Flobogo
    Modérateur
    Maître WordPress
    17053 contributions

    @ Osara : non, ma demande n’est pas de traduire les phrases mais bien de les modifier.
    J’avais même effectué la modif en anglais (le texte n’était pas compliqué, et la trad’ se fait automatiquement), mais c’est la modif’ qui n’est pas prise en compte !

    @ Guy : mon anglais est trop limité pour faire la recherche dans le forum, mais je poserai la question.

    Le plus curieux, c’est que j’ai pu modifier le footer … Mais il me semble avoir fait la traduction directement dans le fichier footer.php du thème-enfant –> est-ce que ce n’est pas là que ce situerait le problème ?

    Indirectement, Osara n’a peut-être pas tort d’évoquer les fichiers .po et .mo –> que se passe-t-il quand le texte d’origine est modifié ? Si je ne modifie pas en parallèle le fichier de traduction, il continue “bêtement” à afficher la traduction qu’il a “apprise” ?

    #870187
    Osara
    Invité
    Maître WordPress
    34110 contributions

    Il est conseillé de traduire ou de faire des modifications du texte via le ficher .po. Non le faire en dure dans les fichiers .php

    #870189
    Flobogo
    Modérateur
    Maître WordPress
    17053 contributions

    Donc, on ne peut pas modifier le texte anglais d’origine directement dans le fichier PHP, c’est ce que tu veux dire ?
    Encore une fois, je ne suis pas sûre de bien m’expliquer : je ne parle pas de la traduction en français … du moins, je n’ai pas modifié directement en français mon fichier PHP, je l’ai bien modifié en anglais … mais au final, c’est l’ancienne version (en français) qui s’applique.
    Je ne comprends pas pourquoi puisque le fichier PHP est en anglais et que je l’ai modifié en anglais –> est-ce que je dois aussi modifier le fichier .po ?

    #870190
    Osara
    Invité
    Maître WordPress
    34110 contributions
    Flobogo wrote:
    Pour l’instant, j’ai modifié très peu de choses : simplement le texte d’explication / erreur 404 ne me convenait pas tout à fait.
    Dans le fichier 404.php d’origine (thème-parent Graphene), il est en anglais. .

    J’ai dû mal comprendre, je n’ai jamais eu le problème mentionné ci-dessus dans votre dernier message, donc suivre les indications de Guy.

    Désolée je ne peux pas vous aider 😕 plus. En espèrent vivement que vous trouverez une solution…

    #870188
    Guy
    Participant
    Maître WordPress
    14821 contributions

    Peux tu afficher ici le code de ton fichier 404.php?

    #870191
    Flobogo
    Modérateur
    Maître WordPress
    17053 contributions

    Voilà le code de mon fichier 404.php modifié par moi, tel qu’il est à la racine du thème-enfant (en local pour l’instant).
    Je mets en gras la partie modifiée :

    escape( urlencode( strip_tags( $search_term ) ) ) );
    
    
    
    $redirect_location = get_home_url().’?s=’.$search_term_q.’&search_404=1′;
    
    get_header();
    
    ?>
    
    
    
        jQuery(document).ready(function($){
    
    		window.location.replace( “” );
    
        });
    
    
    
    
    
    <h1 class="page-title">
    
        <?php
    
            printf( __( 'Searching for: <span>%s</span>‘, ‘graphene’ ), $search_term_q );
    
        ?>
    
    </h1>
    
    
    
    <div class="post clearfix post_404">
    
        <div class="entry clearfix">
    
            <h2></h2>
    
    
    
    <?php if ( function_exists('yoast_breadcrumb') ) {
    
    yoast_breadcrumb('<p id="breadcrumbs">‘,’</p>‘);
    
    } ?>
    
            <div class="entry-content clearfix">
    
                <p></p>
    
                <p></p>
    
                
    
                
    
            </div>
    
        </div>
    
    </div>
    
    <div class="post clearfix post_404_search">
    
    	<div class="entry clearfix"> 
    
    	<h2></h2>   
    
            <div class="entry-content clearfix">
    
                <p>
    
                <?php printf( __( 'Searching for the terms <strong>%s</strong> …’, ‘graphene’ ), $search_term_q ); ?>
    
                </p>
    
            </div>
    
        </div>
    
    </div>

    Et je mets ci-dessous la partie du code correspondant original, avec cette fois-ci en gras + italique le texte d’origine (le morceau que j’ai enlevé et le morceau avant modif)

    <div class="entry-content clearfix">
    
                <p></p>
    
                <p></p>
    
               
    
                
    
            </div>

    Qu’en penses-tu ?

    #870192
    Flobogo
    Modérateur
    Maître WordPress
    17053 contributions

    Oups, désolée, je vois que les balises pour le gras et l’italique ne sont pas acceptées à l’intérieur des balises de code. 😳
    Mais elles sont visibles quand même, ça te situera le petit morceau que j’ai modifié, car il est vraiment tout petit.

    Et voici maintenant la traduction de cette partie telle qu’elle apparaît sur ma page, donc, en français. Ce n’est pas vraiment une traduction littérale, mais ce n’est pas moi qui l’ai faite, elle est incluse dans Graphene :

    Désolé, j’ai bien regardé partout sans trouver la page recherchée.
    Si vous suivez un lien d’un autre site, la page a peut-être été renommée ou déplacée. Vous devriez essayer une recherche sur la page désirée.

    Lors de l’affichage d’une page erreur, la 2ème ligne (mise en gras) apparaît d’abord en anglais, telle que modifiée dans mon fichier 404.php perso du child-theme. Deux secondes plus tard, c’est la traduction indiquée ici qui s’affiche.

    Voilà, j’ai tout indiqué …

    #870193
    Guy
    Participant
    Maître WordPress
    14821 contributions

    d’accord, il y a effectivement une redirection systématique, je ne comprends pas trop l’intérêt de la chose, mais tu peux tester pour voir si c’est cela. C’est une première étape pour valider cette hypothèse.

    modifies la ligne (dans le 404.php du thème enfant):

    window.location.replace( “” );

    en

    /* window.location.replace( “” ); */

    et regarde ce que cela donne

    #870194
    Flobogo
    Modérateur
    Maître WordPress
    17053 contributions

    Alors, je viens de tester sitôt rentrée du boulot … le résultat est curieux, mais sûrement intéressant :

    –> cela a pour effet d’afficher en anglais la phrase que j’ai modifiée ; donc, telle que je l’ai mise dans le fichier (“I may have removed or renamed the page some time ago. See pages listed below or try another search:“)

    Alors que la phrase juste au-dessus est bien traduite automatiquement en français dans la page (“Désolé, j’ai bien regardé partout sans trouver la page recherchée”)

    –> mais il y a un 2ème effet : cela fait “disparaître” toute la partie sur la recherche, il ne reste que l’indication “Recherche automatique : recherche pour les mots —“, mais rien en-dessous, le résultat de recherche n’apparaît pas !! 😕

    Tu y comprends quelque chose ?
    C’est vraiment bizarre les langages informatique 😉

    #870195
    Guy
    Participant
    Maître WordPress
    14821 contributions

    Ce ne sont pas les langages informatiques qui sont bizarres, l’étrangeté se trouve souvent dans les méandres du cerveau des développeurs 🙂

    Dans le cas de ton thème, WordPress charge normalement la page 404, mais les auteurs du thème au lieu d’afficher une page d’erreur classique, redirigent vers la page de recherche. Il faudrait que tu affiches la page search.php pour essayer de comprendre comment c’est construit.

    La phrase en anglais ne peut pas être traduite en français si tu n’as pas rajouté la traduction correspondante dans les fichiers de traduction, WordPress ne fait pas de traduction automatique.

15 sujets de 1 à 15 (sur un total de 16)
  • Vous devez être connecté pour répondre à ce sujet.