[Résolu] Afficher Un article en entier et les autre en extrait pour l’accueil ? (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 30)
  • Auteur
    Messages
  • #547412
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    Bonjour,

    Ma configuration WP actuelle 4.1
    – Version de WordPress : 4.1
    – Version de PHP/MySQL :
    – Thème utilisé : Frontier
    – Extensions en place :
    – Nom de l’hebergeur :
    – Adresse du site : http://sansmaitre.be

    Problème(s) rencontré(s) :

    Bonjour,

    Apparemment il n’existe pas de plugin permettant l’affichage du dernier article complet en page d’accueil, et en-dessous des extraits des derniers articles plus anciens.

    On me conseille de faire un thème enfant (déjà fait) et de modifier l’affichage de la boucle sur la page d’accueil, avec un compteur.

    Cependant on le déconseille pour le référencement Google.

    Quelqu’un pourrait m’expliquer l’affichage de la boucle avec compteur ? Parce que si je modifie la bouche, soit j’ai tous les articles qui s’affichent complètement , ou partiellement.

    Quel problème pourrait-il y avoir avec les moteurs de Google ?

    Merci à vous.

    #995621
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    J’ai eu réponse pour Google (2 pages identiques), par contre, le reste est toujours d’actualité.🙂

    #995622
    CAMEO172
    Participant
    Maître WordPress
    1395 contributions

    le problème avec google n’existe pas vraiment. Oui votre page d’accueil ressemblera partiellement avec votre page single du billet mais si votre page single affiche des renseignements supplémentaires et quelques détails non présent en accueil, alors c’est bon. Le duplicate content est quand même pas si strict de mon point de vue// mais hélas personne n’en est sûr.

    Pour votre demande, il vous faut deux boucles

    boucle 1 pour votre dernier billet :

    $my_query_args = array (
    ‘showposts’ => 1,
    );

    Boucle 2 pour la suite avec 4 billets en extraits :

    $my_query_args = array (
    ‘showposts’ => 4,
    ‘offset’ => 1,
    );

    pour savoir quoi faire de ces query et mettre en page selon vos souhaits :
    http://codex.wordpress.org/Function_Reference/query_posts

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

    Inutile de faire deux boucles, donc deux requêtes à la base de données.

    le principe du compteur sert à éviter ce genre de problème

    if ( have_posts() ) {
    $i = 0 ;
    global $more ;
    while ( have_posts() ) {


    the_post() ;

    tout ce qui vient avant the_content()


    if ( $i = 0 ) {

    $more = 1 ;

    the_content() ;

    $more = 0 ;

    }

    else {

    the_content( ) ;

    }

    tout ce qui vient après the_content()

    $i++ ;

    }
    }

    Source et explication : http://codex.wordpress.org/Function_Reference/the_content

    #995624
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    Merci beaucoup. Je revois ça à tete reposée, parce que là, je n’y suis pas encore arrivé. On remet ça à dans quelques heures, …

    #995625
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    Bonjour. Me revoilà. Bon, je dois être « pas doué » parce que .. j’ai mis ce code dans le style du thème enfant, mais ça n’a rien changé.

    Une petite aide sur le bon endroit où l’insérer svp ?
    Merci 🙂

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

    C’est pas du css, donc ça n’a rien à faire dans le fichier styles.css

    ça doit remplacer la boucle dans index.php mais il faut ADAPTER (donc il faut le comprendre ^^)

    #995627
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    Je vais essayer de comprendre alors, …. merci pour la localisation 🙂.

    #995628
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    Je confirme, il faut comprendre, et, …. je n’ai pas compris :(

    C’est ceci que je dois modifier ? Et comment svp ?

    #995629
    Flobogo
    Modérateur
    Maître WordPress
    20400 contributions

    D’après le contenu de votre fichier, il faudrait modifier le fichier qui s’appelle blog.php ou loop-blog.php et qui est utilisé pour tout affichage hors article seul.

    Mais si vous voulez vraiment n’avoir votre affichage spécifique que sur la page d’accueil, le mieux serait de créer un fichier home.php que WordPress reconnaît comme étant celui pour l’accueil.
    Dedans, vous recopiez le contenu de index.php et vous remplacer toute cette partie là :

    –> à remplacer par le code indiqué par Lumière de Lune, mais qui doit être adapté en remplaçant tout ce qui vient avant the_content() par le contenu équivalent du fichier blog.php et idem pour tout ce qui vient après the_content()

    (si besoin, mettez le contenu de votre fichier blog.php ou loop-blog.php ici, à mettre entre balises de code à l’aide de l’icône du gros C noir )

    #995630
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    Merci pour votre intérêt. Effectivement, je voudrais avoir cet affichage uniquement sur la page d’accueil.

    C’est le dernier article qui devrait être affiché complètement, avec les autres en résumé en-dessous.

    Modifier le fichier loop-blog.php ou loop.php n’a pas donc grand intérêt.

    Je vous copie ici le contenu du fichier, parce qu’après 12 heures là-dessus, je sature :( Grand merci d’avance 🙂



    <div id="content" class="cf">



    <div id="widgets-wrap-before-content" class="cf"></div>



    <div class="archive-info">
    <h3 class="archive-title">
    <?php
    if ( is_search() )
    printf( __('Search Results for – "<span>%s</span>"’, ‘frontier’), get_search_query() );
    elseif ( is_day() )
    printf( __(‘Date – <span>%s</span>‘, ‘frontier’), get_the_date() );
    elseif ( is_month() )
    printf( __(‘Month – <span>%s</span>‘, ‘frontier’), get_the_date( ‘F Y’ ) );
    elseif ( is_year() )
    printf( __(‘Year – <span>%s</span>‘, ‘frontier’), get_the_date( ‘Y’ ) );
    elseif ( is_category() || is_tag() )
    echo ‘<span>‘ . single_cat_title(  », false ) . ‘</span>‘;
    ?>
    </h3>


    <div class="archive-description"></div>

    </div>














    <div class="form-404">
    <?php
    $frontier_nothing_found_content = '<h2>‘ . __(‘Nothing Found’, ‘frontier’) . ‘</h2>‘;
    $frontier_nothing_found_content .= ‘<p>‘ . __(‘Try a new keyword.’, ‘frontier’) . ‘</p>‘;
    $frontier_nothing_found_content .= get_search_form( false );
    echo apply_filters( ‘frontier_nothing_found_content’, $frontier_nothing_found_content );
    ?>
    </div>






    <div class="blog-nav cf">



    <?php
    $post_nav_blog = '';

    if ( !is_search() ) {
    $post_nav_blog .= '<div class="link-prev">‘ . get_next_posts_link( __(‘← Older Posts’, ‘frontier’) ) . ‘</div>‘;
    $post_nav_blog .= ‘<div class="link-next">‘ . get_previous_posts_link( __(‘Newer Posts →’, ‘frontier’) ) . ‘</div>‘;
    }
    else {
    $post_nav_blog .= ‘<div class="link-next">‘ . get_next_posts_link( __(‘Next Page →’, ‘frontier’) ) . ‘</div>‘;
    $post_nav_blog .= ‘<div class="link-prev">‘ . get_previous_posts_link( __(‘← Previous Page’, ‘frontier’) ) . ‘</div>‘;
    }

    echo apply_filters( ‘frontier_post_nav_blog’, $post_nav_blog );
    ?>

    </div>



    <div id="widgets-wrap-after-content" class="cf"></div>



    </div>

    #995631
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    Nous avons apparemment perdu Lumière de Lune qui avait proposé un code, à modifier je ne sais pas comment, … :( Help us please :D

    #995632
    CAMEO172
    Participant
    Maître WordPress
    1395 contributions

    pour moi la modif n’est pas dans ces deux fichiers mais à voir dans un home.php ou index.php.

    là vous êtes déjà dans l’affichage d’un unique billet.

    Par contre, à la lecture de l’échange en cours, vous ne semblez rien connaître en php. je vous déconseille donc grandement d’entreprendre cette modification par vous même à ce stade sachant qu’à distance même en copiant collant des solutions, ça ne sera jamais parfait.

    #995633
    rmdiffusion
    Membre
    Padawan WordPress
    90 contributions

    C’est bien pour cela que j’ai copié le code du fichier home.php, pour qu’une bonne âme puisse faire la manipulation pour moi, et que je puisse l’injecter dans le thème enfant 😇

    #995634
    CAMEO172
    Participant
    Maître WordPress
    1395 contributions

    pouvez vous mettre une copie de la source loop-blog.php ?

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