it-swarm.com.de

the_author () gibt eine leere Zeichenkette zurück

Ich habe eine Seitenvorlage für die Startseite einer Site erstellt, die ich mit WordPress erstelle. Ich zeige die 3 neuesten Beiträge auf dieser Seite an und alles funktioniert einwandfrei, mit Ausnahme der Anzeige des Autors des Beitrags. Ich benutze den folgenden Code

<?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
            }
        }
    ?>

und ich habe auch folgendes probiert

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

aber beide führen zu einer leeren Zeichenfolge.

5
Simon Fox

Gibt es einen Grund, warum dies auskommentiert ist?

//setup_postdata($post);

Diese Funktion richtet globale Variablen für den aktuellen Beitrag ein und die Autorendaten werden von einer dieser Variablen abgerufen.

4
Rarst