使the_author仅在循环中回显一次

时间:2011-07-29 18:56:46

标签: wordpress echo

基本上我的网站设置在我的主题标题中显示每个页面/帖子的标题。我也设置了在我的作者页面上显示作者的名字(我使用条件)。我遇到的问题是作者的名字与作者撰写的帖子数相呼应,我只希望它回应一次。有没有办法可以做到这一点?我意识到这样做是因为the_author必须处于循环中(我的标题中有一个循环来执行此操作)。无论如何能够在循环之外显示the_author吗?

我的网站是http://www.imagineitstudios.com。如果你点击主页第一篇文章中的“Abel发布”链接,你就可以看到我在说什么

感谢您的帮助。

这是我的代码:

<div id="title">
    <?php //Check to see if this is an author page ?>
    <?php if(is_author()): ?>

    <?php while (have_posts()) : the_post(); ?><?php //Creat a mini loop to display the author ?>
    <h1><?php the_author();?></h1>
    <?php endwhile;?><?php //End of Mini Loop ?>

    <?php else :?>
    <h1><?php the_title();?></h1>
    <?php endif ;?>
</div>

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码:

<div id="title">

        <?php //Check to see if this is an author page ?>
        <?php if(is_author()): ?>
        <?php 
        if(get_query_var('author_name')) :
            $curauth = get_userdatabylogin(get_query_var('author_name')); ?>
        <?php else :
            $curauth = get_userdata(get_query_var('author')); ?>
        <h1><?php echo $curauth->first_name; ?> <?php echo $curauth->last_name; ?></h1> 

        <?php endif; ?>

        <?php else :?>
        <h1><?php the_title();?></h1>
        <?php endif ;?>
    </div>