J'ai inséré un extrait dans une page à l'aide du bouton "Plus" de WP GUI.
J'ai un loop-page.php personnalisé à partir duquel je veux afficher l'extrait. Mais il semble être vide?
Est-il possible d'afficher des extraits de pages enfants?
$pageChildren = get_pages('sort_column=menu_order&hierarchical=0&child_of='.$post->ID);
if ( $pageChildren ) {
foreach ( $pageChildren as $pageChild ) {
echo '<p>And the title is: '. $pageChild->post_title.'</p>';
print_r($pageChild);
if (!empty($pageChild->post_excerpt)){
echo '<p><a href="' . get_permalink($pageChild->ID) . '">' . $pageChild->post_excerpt.'</a> </p> ';
}
echo '<hr />';
}
}
L'utilisation de la balise "more" ne crée pas d'extrait. Il crée simplement un lien "Lire la suite" lors de l'affichage de the_content () sur les pages d'index.
Les extraits sont créés/affichés comme suit:
Pour afficher un extrait, votre fichier de modèle doit appeler "the_excerpt ()" plutôt que "the_content ()". Remarque: vous utilisez l’équivalent $ post-> post_excerpt, qui devrait également fonctionner correctement.
La balise de modèle "the_excerpt ()" affiche ensuite l'extrait, qui est créé comme suit:
1) En entrant le contenu de l'extrait dans le champ "Extrait" de l'écran Modifier une page/Modifier une page. 2) automatiquement, en fonction du nombre de caractères, si aucun contenu n'est ajouté au champ "Extrait".
MODIFIER:
D'accord, j'ai totalement raté ça au début. Seuls les articles ont le champ "extrait". Les pages n'ont pas le champ "extrait". Ainsi, $ post-> post_excerpt ne sera jamais renseigné pour Pages (je pense).
Essayez d’exécuter "setup_postdata ($ pageChild)" dans votre boucle Foreach, puis de remplacer "$ pageChild-> post_excerpt" par "get_the_excerpt ()":
foreach ( $pageChildren as $pageChild ) {
setup_postdata( $pageChild );
echo '<p>And the title is: '. $pageChild->post_title.'</p>';
print_r($pageChild);
echo '<p><a href="' . get_permalink($pageChild->ID) . '">' . get_the_excerpt() .'</a> </p> ';
echo '<hr />';
}
Ça marche?