Modelos de Temas: Author.php

Modelos de Temas: Author.php

Este modelo de temas é conhecido como author.php, e como o nome já nos diz, é um modelo de template do próprio WordPress, que é usado no seu tema para carregar e exibir as postagens relacionadas a um autor específico.

Como você já deve saber, dentro do painel administrativo do WordPress, é possível adicionar autores no site.

Os autores são considerados usuários dentro do CMS do WordPress, uma vez que eles também pode adicionar, editar ou remover conteúdos dependendo do seu nível de acesso.

Para criar um novo usuário, você precisa ir em: Usuarios > Adicionar Novo Usuário:

Após preencher as informações necessárias, um novo usuário será criado com as permissões que você concedeu.

Para que o usuário seja criado como um autor, basta que no select de função esteja selecionada a opção de Autor.

Feito isso, vamos seguir com a criação deste arquivo 😉

Criando o author.php

Dentro da pasta raiz do seu tema, você vai precisar criar um arquivo chamado de author.php:  

<?php
/**
 * O template para exibir páginas de autor.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package WPMicilini
 * @since 1.0
 */

get_header(); 

?>

<!-- Insira aqui os códigos para mostrar os dados do autor -->

<?php
get_footer();
?>

Como podemos ver, o conteúdo inicial sempre começa com a abertura das tags PHP, onde inserimos algumas informações relevantes sobre o arquivo em formato de comentários, e é claro, importamos o cabeçalho e o rodapé por meio das funções get_header() e get_footer().

No local onde está escrito <!-- Insira aqui os códigos para mostrar os dados do autor -->, é onde faremos a mágica acontecer, inserindo um punhado de código, como estes que estamos vendo abaixo:

<div class="autor-div">

 <?php if ( have_posts() ) : ?>

 <!-- Inicio Título da Página de Autor -->
 <?php the_archive_title( '<h1 class="titulo-pagina">', '</h1>' ); ?>
 <!-- Fim Título da Página de Autor -->

 <!-- Inicio Recupera dados do Autor -->
 <?php 
 $author_id = get_the_author_meta( 'ID' );
 $author_bio = get_the_author_meta( 'description' );
 $author_avatar = get_avatar( $author_id, 150 );
 ?>
 <!-- Fim Recupera dados do Autor -->

 <!-- Inicio Informações do Autor -->
 <?php 
 if ( $author_bio || $author_avatar ) :
 echo '<div class="dados-autor">';
 echo '<div class="foto-autor">' . $author_avatar . '</div>';
 echo '<div class="bio-autor">';
 echo '<h2>' . esc_html( get_the_author() ) . '</h2>';
 echo '<p>' . esc_html( $author_bio ) . '</p>';
 echo '</div>';
 echo '</div>';
 endif;
 ?>
 <!-- Fim Informações do Autor -->


 <!-- Inicio Conteúdos relacionados ao autor -->
 <?php while ( have_posts() ) : the_post(); ?>
 <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
 <header class="dados-info">
 <?php the_title( '<h2 class="dados-titulo">', '</h2>' ); ?>
 </header>

 <div class="dados-conteudo">
 <?php the_excerpt(); ?>
 </div>

 <footer class="entry-footer">
 <?php
 echo '<div class="dados-meta">';
 echo '<span class="dados-tempo">' . get_the_time() . '</span>';
 echo '<span class="dados-autor"> ' . esc_html__( 'by', 'text-domain' ) . ' ' . esc_html( get_the_author() ) . '</span>';
 echo '</div>';
 ?>
 </footer>
 </article>
 <?php endwhile; ?>
 <!-- Fim Conteúdos relacionados ao autor -->

 <!-- Inicio Páginação dos conteúdos do autor -->
 <?php the_posts_pagination(); ?>
 <!-- Inicio Páginação dos conteúdos do autor -->

 <?php else : ?>
 <p>Autor não encontrado.</p>
 <?php endif;?>

</div>

No comando acima, começamos definindo uma div que vai encapsular todo o conteúdo que será mostrado dali em diante.  

Começamos fazendo a validação com a função have_posts(), para checar se existem postagens a serem mostrada que estão relacionadas a um autor específico, caso negativo, a execução do código pula para o else, que por sua vez, mostra a mensagem: Autor não encontrado.  

Em seguida fazemos o uso de algumas tags condicionais em conjunto com algumas funções do WordPress, veremos o funcionamento de cada um deles separados por blocos.

No bloco [Título da Página de Autor], estamos fazendo o uso da função the_archive_title() que exibe o título da página atual. Como estamos na página de autor, o título exibido será Autor.

No bloco [Recupera dados do Autor], estamos definindo algumas variáveis que usaremos nos blocos seguintes:

get_the_author_meta( 'ID' ): Recupera o ID relacionado ao autor.

get_the_author_meta( 'description' ): Recupera a descrição daquele autor.

get_avatar( $author_id, 150 ): Recupera o avatar do autor, informando o ID do mesmo junto com o tamanho da imagem em pixels (150px).

No bloco [Informações do Autor], montamos a versão final em HTML com os dados que recuperamos no bloco anterior:

get_the_author(): Recuperar o nome do autor da postagem atual.

No bloco [Conteúdos relacionados ao autor], estamos mostrando todos os conteúdos de postagens relacionados ao autor.

the_ID(): Retorna o ID relacionado a aquela postagem.

post_class(): Retorna o formato de conteúdo daquela postagem, aqui ele vai adicionar automaticamente classes como "post", "type-post" (para postagens padrão), "category-nome-da-categoria" (para a categoria da postagem), "tag-nome-da-tag" (para cada tag da postagem) e outras classes relevantes.

É utilizada para adicionar classes CSS a um elemento que exibe uma postagem no loop de postagens, permitindo a flexibilização e estilização da tag HTML.

the_excerpt(): Exibe um resumo da postagem.

get_the_time(): Usada para recuperar a data e a hora de publicação de uma postagem específica.

As explicações do loop já foram debatidas em lições anteriores, caso ainda tenha alguma dúvida basta acessar este link.  

Por fim, no bloco [Páginação dos conteúdos do autor], estamos fazendo o uso da função the_posts_pagination() que é usada para exibir a navegação entre as páginas de postagens, isto é, quando há mais de uma página de resultados em um conjunto de postagens.

Só com esses comandos acima, já temos uma página de autores personalizada, mostrando não somente as informações biográficas do autor, como também a lista de conteúdos publicados.

Variações do author.php

O arquivo author.php também conta com variações que visam atender tipos específicos de autores de conteúdo, vejamos cada uma delas a seguir:

author-{id}.php: Este arquivo será usado para exibir a página de autor específico com o ID correspondente.

author-{login}.php: Este arquivo será usado para exibir a página de autor específico com o nome de usuário (login) correspondente.

author-{nicename}.php: Este arquivo será usado para exibir a página de autor específico com o "nicename" (slug) correspondente.

É importante ressaltar que ao usar as variações ditas acima, o WordPress automaticamente vai reconhecer esses modelos específicos ao exibir postagens em autores correspondentes.

Caso não exista tais arquivos, o wordpress seguirá a hierarquia de modo a abrir o arquivo mais genérico que é o author.php.

E caso ele não exista, o wordpress vai procurar pelos arquivos archive.php até chegar no index.php.

É importante ressaltar que o conteúdo do arquivo author.php pode variar de acordo com o tema que você está usando.

Em temas mais simples, o arquivo pode conter apenas um loop de postagens do autor.

Em temas mais avançados, pode haver um layout mais elaborado com gráficos, informações adicionais do autor e personalizações específicas do tema.  

Mas isso quem vai definir é você, e com os conhecimentos adquiridos aqui na jornada de criação do WordPress você vai poder criar tanto um arquivo de author.php mais simples, como um mais complexo.

Conclusão

Nesta lição você aprendeu sobre o modelo de tema author.php e suas variações.

Até a próxima 😁