- Statut : non résolu
- Ce sujet contient 2 réponses, 1 participant et a été mis à jour pour la dernière fois par
Flobogo, le il y a 8 années et 2 mois.
-
AuteurMessages
-
4 juillet 2015 à 21 h 26 min #551664
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-HostProblè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 …
5 juillet 2015 à 18 h 01 min #1011995Bon, 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 😋 )5 juillet 2015 à 18 h 02 min #1011996J’oubliais : du coup, c’est ✅
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.