web-dev-qa-db-fra.com

the_author () retourne une chaîne vide

J'ai créé un modèle de page pour la page d'accueil d'un site que je construis à l'aide de WordPress. J'affiche les 3 derniers articles sur cette page et tout fonctionne correctement, sauf l'affichage de l'auteur du message. J'utilise le code suivant

<?php
        $recentposts=get_posts('showposts=3');
        if ($recentposts) 
        {
            foreach($recentposts as $post)
            {
                //setup_postdata($post);
    ?>

        <div class="fifthFloat">
            <h3><a href="<?php the_permalink() ?>" rel="bookmark" 
                     title="Link to <?php the_title_attribute(); ?>">
                        <?php the_title(); ?></a></h3>
            <p>
            <?php
                $postContent = $post->post_content;
                if(strlen($postContent) > 50)
                {
                    $postContent = substr($postContent, 0, 
                             strrpos(substr($postContent, 0, 60), " ")) . " ...";
                }
                echo $postContent;
            ?>
            </p>
            <p>Posted <?php the_time("jS M Y"); ?> by <?php the_author(); ?></p>
        </div>

    <?php
            }
        }
    ?>

et j'ai aussi essayé ce qui suit

$user_info = get_userdata($post->post_author);
echo $user_info->first_name;
echo $user_info->last_name;

mais les deux résultent en une chaîne vide.

5
Simon Fox

Une raison pour que cela soit commenté?

//setup_postdata($post);

Cette fonction configure les variables globales pour la publication actuelle et les données d’auteur sont extraites de l’une d’elles.

4
Rarst