web-dev-qa-db-fra.com

Comment obtenir une référence à the_excerpt () à partir d'une boucle personnalisée

J'ai un script dans archive.php, qui est en dehors de la boucle, qui appelle la fonction get_blog_links () pour répertorier tous les articles appartenant à la catégorie actuelle (ma catégorie "blog").

J'essaie d'effectuer des tests de trace dans la fonction "get_blog_excerpt ()" afin d'écrire soit l'extrait de publication, soit (si aucun extrait ne s'affiche) les 55 premiers mots de contenu (the_excerpt) pour chaque publication.

Cependant, je ne parviens pas à obtenir une référence à the_excerpt dans ma fonction.

Toute aide très appréciée.

//Blog Listing
function get_blog_links(){
    $myposts = get_posts();
    echo '<div>'; 
    echo '<ul>'; foreach($myposts as $idx=>$post){ ?>
            <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
  // THE FUNCTION CALL IM WORKING ON...
            <?php echo get_blog_excerpt();?></li>
    <?php } 
    echo '</ul></div>';
}


function get_blog_excerpt(){
    // return get_the_excerpt(); WORKS
    // return the_permalink();  WORKS
    // return the_excerpt(); DOES NOT WORK?
    // return get_the_content(); DOES NOT WORK?
}
1
Scott B

Je pense que vous devez utiliser setup_postdata() avec get_posts() pour que les éléments reposant sur des variables globales fonctionnent. ou explicitement passer le post id avec la fonction.

1
Milo