affichage extrait des pages-enfants sur une page parent (Créer un compte)

  • Statut : non résolu
3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #551664
    Flobogo
    Modérateur
    Maître WordPress
    19575 contributions

    Bonjour,

    Ma configuration WP actuelle :

    – Version de WordPress : 4.2.2
    – Version de PHP/MySQL : 5.5.25 /
    – Thème utilisé : Air Balloon – Child Bourgogne
    – Thème URI : http://www.mon-coin-de-bourgogne.fr
    – Extensions en place : Akismet (3.1.2), Autoptimize (1.9.4), Basic Google Maps Placemarks (1.10.4), Category Tag Pages (1.0), Cocorico Social (1.2.1), Conditional CAPTCHA (3.7.1), Contact Form 7 (4.2.1), Forum_wordpress_fr (3.9), Gwolle Guestbook (1.4.1), Links Shortcode (1.8.1), MMWW (1.0.6), PS Auto Sitemap (1.1.9), Really Simple CAPTCHA (1.8.0.1), Rocket Lazy Load (1.0.4), RSS Includes Pages (1.4.3), Slideshow (2.2.23), TinyMCE Advanced (4.1.9), WordPress Database Backup (2.2.4), WordPress SEO (2.2.1), WP-Memory-Usage (1.2.2), WP-Optimize (1.8.9.10)
    – Adresse du site : http://www.mon-coin-de-bourgogne.fr … mais pour l’instant, tests en local
    – Nom de l’hébergeur : Archive-Host

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

    Mon site utilisant autant les pages que les articles, pour certaines pages, je souhaite afficher les pages enfants, sous forme titre + thumbnail + extrait.

    J’ai créé un template de page, car pas la peine de mettre les requêtes pour les pages-enfants sur toutes les pages, ça alourdirait
    J’ai passé mon après-midi dessus et j’étais satisfaite de mon travail … 🙂 jusqu’à ce que je m’aperçoive dans mon test que l’extrait affiché est partout le même : celui de la page-parente 😉

    Pourtant, les titres et images des pages-enfants s’affichent correctement, mais rien à faire pour avoir l’extrait de chaque sous-page … Je désespère :(

    Voici mon code :

    <?php
    $pagesenfants = get_pages( array( 'child_of' => $post->ID, ‘sort_column’ => ‘post_title’, ‘sort_order’ => ‘asc’ ) );

    foreach( $pagesenfants as $page ) {
    $content = $page->post_content;
    if ( ! $content ) // Check for empty page
    continue;

    $content = apply_filters( ‘the_content’, $content );
    ?>
    <div class="clearfix entry page-enfant">
    <h2><a href="<?php echo get_page_link( $page->ID ); ?> »><?php echo $page->post_title; ?></a></h2>

    <?php echo get_the_post_thumbnail( $page->ID, ‘thumbnail’, array( ‘class’ => ‘alignleft’ ) ); ?>
    <p class="page-enfant"><?php echo get_the_excerpt( $page->ID ); ?></p>
    <a href="<?php the_permalink(); ?>« >En savoir plus …</a>

    </div>
    <?php
    }
    ?>

    J’ai essayé plusieurs choses pour remplacer ID ); ?>, avec ou sans $page->ID mais rien à faire : tous les extraits affichés sont ceux de la page parente au lieu de ceux de chaque sous-page :rolleyes:

    J’ai beau lire le Codex et chercher des exemples, je ne trouve pas l’erreur. Merci d’avance à celui/celle qui m’aidera …

    #1011995
    Flobogo
    Modérateur
    Maître WordPress
    19575 contributions

    Bon, j’ai réussi 😎

    Pour ceux que ça intéresse, j’ai fini par faire ma recherche en anglais, et j’ai trouvé ça : https://wordpress.org/support/topic/list-excerpts-of-child-pages-on-the-parent-page

    Ce qui donne ça dans mon template, pour avoir l’appel du titre + image à la une + extrait :

    ID);
    if ( $pageChildren ) {
    foreach ( $pageChildren as $pageChild ) {
    ?>
    <div class="clearfix entry page-enfant">

    <h2><a href="ID ); ?> »>post_title; ?></a></h2>
    ID, array(630,190) );
    if ($pageChild->post_excerpt){
    echo ‘<p>‘.$pageChild->post_excerpt.’</p>‘;
    }
    echo ‘<p><a rel="nofollow" class="more-link">ID) . ‘ »><span class="bouton">En savoir plus … </span></a></p>‘;
    ?>
    </div>

    Et voilà le résultat sur ma page : http://www.mon-coin-de-bourgogne.fr/la-bourgogne/
    (vous allez rire : au final, je n’ai pas mis l’extrait, parce que pour ces pages-là, pas besoin de description 😋 )

    #1011996
    Flobogo
    Modérateur
    Maître WordPress
    19575 contributions

    J’oubliais : du coup, c’est ✅

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