Modelo de Tema: Singular.php
O WordPress conta com um modelo de template que pode ser usado para representar o conteúdo de uma única postagem, página ou um tipo de conteúdo personalizado.
Ele é chamado de singular.php
, e pode ser criado na raíz do seu tema para tal fim.
Quando um usuário acessar a página de uma de suas postagens, será este arquivo que vai ser chamado para carregar a página.
Criando o Singular.php
Dentro da pasta raiz do seu tema, crie um novo arquivo chamado singular.php
:
<?php get_header(); ?>
<!-- Insira aqui o HTML da sua Página única -->
<?php get_footer(); ?>
Se você acompanhou a nossa jornada de criação de temas para WordPress desde o início, não terá duvidas dos códigos que foram inserido acima (get_header()
| get_footer()
).
Por fim, basta que você estilize o arquivo da maneira como desejar, usando o loop
ou qualquer outra funcionalidade do WordPress 😉
Qual a diferença entre o singular.php e o page.php?
Logo no início desse conteúdo, foi dito que o singular.php
é usado para carregar:
- Uma Postagem,
- Uma página,
- Outro conteúdo personalizado.
Talvez você esteja pensando que o singular.php
é usado para exibir postagens, e o page.php
é usado para exibir páginas.
Então nesse caso, se ambos existirem em um mesmo tema, o WordPress vai se encarregar de abrir o singular.php
quando este conteúdo for um post, e o page.php
quando o conteúdo for uma página?
Exatamente, e apesar dessa lógica aí em cima funcionar, o singular.php
está mais para um fallback do page.php
.
Lembra que em lições anteriores o index.php
funciona como um fallback de outros modelos?
Então, o index.php
é um fallback de todos os modelos de páginas, enquanto o singular.php
é um fallback que antecede page.php
caso este não existir.
Isso significa dizer, que no nível hierárquico do WordPress, enquanto o page.php
existir, o singular.php
nunca será encarregado de abrir uma página, só um post.
É importante você entender que ambos podem ser usados para exibir conteúdo individual, como páginas ou postagens.
O page.php
é exclusivo para páginas, ele é sempre chamado quando alguém acessa uma de suas páginas.
Se o WordPress não encontrar um arquivo mais específico, como page-{slug}.php
, page-{id}.php
, ele recorrerá ao page.php
.
Já o singular.php
, é um genérico usado para conteúdos individuais, onde pode ser usado para exibir qualquer tipo de conteúdo individual, incluindo postagens e páginas.
Se o WordPress não encontrar um arquivo mais específico, como single-{post-type}.php
, single.php
, ou page.php
, ele recorrerá ao singular.php
.
Como fazer com que um post seja aberto no singular.php, e uma página seja aberta no page.php?
É importante ressaltar que na existência de ambos, o WordPress se encarregará de fazer isso automaticamente.
Mas, se preferir, você pode reforçar isso por meio dos comandos is_page()
e is_singular('post')
, da seguinte forma:
1) Certifique-se de que você tem ambos os arquivos (page.php
e singular.php
) dentro da pasta do seu tema.
2) Em seguida dentro do loop
do page.php
, você pode verificar se a página que está sendo aberta é uma página concreta:
<?php
// Início do loop WordPress
while (have_posts()) : the_post();
if(is_page()){
echo 'Este é um conteúdo de uma PÁGINA que está sendo carregado pelo PAGE.PHP';
}
endwhile;
?>
3) Já dentro do loop
do singular.php
, você pode verificar se é um post:
<?php
// Início do loop WordPress
while (have_posts()) : the_post();
if(is_singular('post')){
echo 'Este é um conteúdo de um POST que está sendo carregado pelo SINGULAR.PHP';
}
endwhile;
?>
Com isso, se você tentar acessar quaisquer uma de suas páginas, você será direcionado ao page.php
, e quando tentar acessar um dos seus posts, será direcionado ao singular.php
😄
Conclusão
Nesta lição você aprendeu um pouco mais sobre o arquivo singular.php
e como ele pode coexistir com o page.php
.
Até a próxima lição.