J'ai une page parent avec des pages enfants à l'intérieur. Ce que je cherche à faire est d’afficher chaque extrait de page enfant ainsi que d’autres informations dans sa propre cellule sur la page parente. Est-ce que quelqu'un sait comment cela peut être réalisé?
<div class="parent page">
<?php $args = array(
'parent' => $post->ID,
'post_type' => 'page',
'post_status' => 'publish'
);
$pages = get_pages($args); ?>
<div class="childcells">
<?php foreach( $pages as $page ) { ?>
<div class="childcell">
<div class="thumbnail"><?php echo get_the_post_thumbnail($page->ID, 'small-thumb'); ?></div>
<div class="myclasstitle"><?php echo $page->post_title; ?></div>
<span class="desc"><?php echo get_post_meta($page->ID, 'desc', true); ?></span>
<a href="<?php echo get_permalink($page->ID); ?>" rel="bookmark" title="<?php echo $page->post_title; ?>">
Read more
</a>
</div>
?>
get_the_excerpt()
ne fonctionnera pas dans votre code si vous ajoutez du contenu à l'éditeur principal WYSIWYG au lieu du champ extrait.
Vérifiez le fonctionnement de get_the_excerpt () et essayez de trouver le filtre de filtrage avec le nom de crochet get_the_excerpt
.
S'il vous plaît essayez le code suivant, en espérant que vous obtiendrez le résultat attendu.
<div class="parent page">
<?php
global $post;
$args = array(
'parent' => $post->ID,
'post_type' => 'page',
'post_status' => 'publish'
);
$children = get_pages( $args );
if ( ! empty( $children ) ) :
?>
<div class="childcells">
<?php
foreach ( $children as $post ) : setup_postdata( $post );
?>
<div class="childcell">
<?php if ( has_post_thumbnail() ) : ?>
<div class="thumbnail"><?php the_post_thumbnail( 'small-thumb' ); ?></div>
<?php endif; ?>
<div class="myclasstitle"><?php the_title(); ?></div>
<span class="desc"><?php echo get_post_meta( get_the_ID(), 'desc', true ); ?></span>
<div class="excerpt"><?php the_excerpt(); ?></div>
<a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">Read more</a>
</div>
<?php
endforeach;
wp_reset_postdata();
?>
</div>
<?php endif; ?>
</div>