Como mostrar o perfil do autor no post e configurar o arquivo author.php

Neste post irei mostrar como exibir informações do autor do post, como mostra a imagem abaixo e como configurar o arquivo author.php que exibe as informações dos autores do blog/site.

Box com detalhes do autor

Parte I – Arquivo single.php

Primeiro, vamos criar a área na parte inferior de cada post. Estou alterando o tema default, mas sinta-se livre para usá-lo em seus próprios temas. Abra o single.php e encontre a função the_content() e insira:

<div>
<?php echo get_avatar (get_the_author_id() , 80 ); ?>

Na segunda linha, temos obtido o Gravatar do autor usando seu ID. E depois definindo a dimensão 80 × 80 pixel do Gravatar. Na sequência:

<h4> Autor: <a href = "<? php the_author_url ();?>">
<?php the_author_firstname(); ?> <?php the_author_lastname(); ?></a></h4>
<? php the_author_description ();?>

Isto irá exibir o primeiro e último nome do autor, com um link para seu site. Abaixo disso é a sua mini-biografia. Todos estes detalhes estão sendo puxado pelo perfil do autor no Dashboard.

<p><a href="<?php bloginfo ( 'url');?>/?author=<?php the_author_ID ();?>"> Ver perfil</a></p>
</div>

Isto faz o link para o página do autor (o que vamos criar em seguida).

Parte II – Arquivo author.php

Crie um arquivo chamado author.php na pasta do seu tema. O WordPress irá automaticamente utilizar este arquivo para visualizar o perfil do autor. Sem esse arquivo, o WordPress iria usar o arquivo archive.php. No início nós incluímos o layout básico para o cabeçalho do tema default. Isto provavelmente será diferente se você estiver usando um tema diferente.

<?php get_header(); ?><div id="content">

Agora, incluir o seguinte:

<?php
if(get_query_var('author_name')):
$curauth = get_userdatabylogin (get_query_var('author_name'));
else:
$curauth = get_userdata(get_query_var('author'));
endif;
?>

Sobre a única página, fomos capazes de obter as informações diretamente do autor a partir do WordPress loop. No entanto, uma vez que não está a obtenção de um determinado post ainda, funções do loop não vão funcionar. O código acima irá obter informações para nós e armazená-los em um array.

<div>
<?php echo get_avatar( $curauth->ID , 80 ); ?>

Como você pode ver, na linha 2, incluímos o Gravatar novamente, mas desta vez estamos usando o nosso novo método para obter o ID do autor.

<h4><a href="<?php echo $curauth->user_url; ?>">
<?php echo $curauth->first_name; ?> <?php echo $curauth->last_name; ?></a></h4>

O nome do autor e um link para seu site está incluído; novamente usando o novo método de recuperação.

<p><?php echo $curauth->description; ?></p>
</div>

Finalmente, nós incluímos a mini-biografia do autor. Você pode incluir qualquer detalhe do autor aqui:

  • $curauth->aim;
  • $curauth->description;
  • $curauth->display_name;
  • $curauth->first_name;
  • $curauth->ID;
  • $curauth->jabber;
  • $curauth->last_name;
  • $curauth->nickname;
  • $curauth->user_email;
  • $curauth->user_login;
  • $curauth->user_nicename;
  • $curauth->user_registered;
  • $curauth->user_url;
  • $curauth->yim;

(Leia Mais: WordPress Codex)
Agora você pode inclui um  WordPress Loop normal, exibindo o post como se você necessitar.  Apenas as postagens do autor serão recuperadas. Exemplo:

<div>
<h4><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h4>
<hr />
</div>

Parte III – Estilizando

Inclua o seguinte código na parte inferior do seu arquivo style.css, faça seus ajustes se necessários:

.postauthor {
    background-color: #fafafa;
    border: 1px solid #f3f3f3;
    padding: 10px;
    margin: 10px 0;
    }

.postauthor h4 {
    font-size: 1.2em;
    margin: 0 0 10px 0;
    }

.postauthor img {
    float: left;
    margin: 0 15px 8px 0;
    }

Artigo Traduzido do site: http://blog.themeforest.net/wordpress/wordpress-author-details/ – com adaptações

Compartilhe o artigo com um colega!
Imagem padrão
Marcelo Torres
Artigos: 4

11 comentários

  1. Olá amigo, você poderia me informar se existe algum plugin que configura uma certa quantidade de postagens (mensal por exemplo) para cada autor?
    Se caso exista por favor me informe, agradeço desde já.

  2. Olá Marcelo, dei uma olhada nesse plugin mais ele não faz exatamente o que eu quero, pois ele apenas configura  quantos post queremos que fique vizivel na página, sendo para os usuários ou não.

    O que eu busco vai além, tipo um plugin que configure uma quantidade exata (mensalmente) para cada usuário de postagens, ou seja, se eu definir 10 post para cada autor, se caso ele tente postar na 11º vez o conteúdo fica pendente ou simplesmente não entra no blog.
     
    Muito obrigado pelo retorno, esse plugin que você me indicou não conhecia ainda, e me parece ser bem útil. flw!

  3. Marcelo, ou quem souber sobre a questão, eu queria saber se há um código para que eu possa exibir, nessas mesmas condições, a função do autor (user_role)? já tentei alguns e nenhum retornou o esperado. Grato.

  4. Olá Gustavo, é que eu esqueci de acrencentar a div a class="postauthor", acrencente no seu codigo que dará certo. Por exemplo, em:
    <div>
    <h4><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h4>
    <hr />
    </div>

    coloque:

    <div class="postauthor">
    <h4><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h4>
    <hr />
    </div>

Deixar uma resposta