Сделать the_author только один раз в цикле - PullRequest
0 голосов
/ 29 июля 2011

В основном у меня есть настройки сайта для отображения заголовка каждой страницы / поста в заголовке моей темы. У меня также есть настройка для отображения имени автора на моих страницах автора (я сделал это с помощью условного). Проблема, с которой я столкнулся, заключается в том, что имя автора отражено в количестве постов, написанных автором, и я хочу, чтобы оно повторялось только один раз. Есть ли способ, которым я могу сделать это? Я понимаю, что он делает это, потому что the_author должен быть в цикле (у меня есть цикл в моем заголовке, чтобы сделать это). Есть ли возможность отображать the_author вне цикла?

Мой сайт http://www.imagineitstudios.com. Вы можете понять, о чем я говорю, если щелкнуть ссылку «Автор Абель» в первом сообщении домашней страницы

Спасибо за вашу помощь.

Вот мой код:

<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 голосов
/ 29 июля 2011

Вы можете использовать следующий код:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...