Como Criar Modelos Personalizados de Post Único no WordPress

Um de nossos leitores nos perguntou como criar modelos personalizados de post único no WordPress.

Na WPBeginner, ajudamos muitos proprietários de sites a aprimorar seus blogs com layouts exclusivos para posts individuais. Modelos personalizados de post único permitem que você use designs diferentes para seus posts de blog, dando a cada um uma aparência distinta. Muitos temas do WordPress oferecem alguns modelos de página, mas você também pode criar os seus próprios, se necessário.

Neste artigo, mostraremos vários métodos para criar facilmente modelos personalizados de post único no WordPress, para que você possa escolher o que melhor atende às suas necessidades.

Como Criar Modelos Personalizados de Post Único no WordPress

Quando Você Precisa de um Modelo Personalizado de Post Único?

Às vezes, você pode querer um visual e uma sensação diferentes para posts específicos em seu site WordPress. Por exemplo, você pode querer usar um layout diferente para artigos em destaque ou histórias de uma categoria específica.

É aqui que você precisa de um modelo personalizado de post único no WordPress.

Por padrão, o WordPress usa o modelo de post único com base na hierarquia de modelos do WordPress. Todos os temas vêm com um modelo single.php, e este é usado por padrão para todos os seus posts únicos.

Alguns temas também podem incluir modelos adicionais ou opções de layout que você pode usar.

É muito parecido com criar um modelo de página personalizado. A maioria dos temas do WordPress também vem com modelos de página que você pode usar ao editar uma postagem ou página no WordPress.

Escolhendo um Modelo de Página

Dito isso, vamos dar uma olhada em como criar facilmente modelos personalizados de postagens únicas no WordPress. Mostraremos vários métodos, para que você possa usar aquele que funciona melhor para você.

Criando modelos de postagens únicas usando o editor de blocos

Este método não cria realmente um modelo de postagem e é limitado em flexibilidade. No entanto, é a maneira mais fácil de salvar seus próprios layouts de postagens únicas e reutilizá-los.

O editor de blocos do WordPress padrão vem com um recurso integrado que permite salvar e reutilizar blocos. Um desses blocos reutilizáveis é o bloco de grupo.

O bloco de grupo permite que você coloque vários blocos e layouts de postagens inteiras em um grupo. Você pode então salvar este bloco de grupo e reutilizá-lo em suas outras postagens.

Vamos dar uma olhada em como usar o bloco de grupo para salvar seus modelos de postagem personalizados.

Primeiro, você precisa criar uma nova postagem no WordPress. Depois disso, basta adicionar um bloco de grupo à área de conteúdo.

Adicionar Bloco de Grupo

Agora você pode começar a adicionar blocos ao bloco de grupo para criar um layout de postagem única para o seu blog WordPress.

Você pode adicionar quaisquer blocos que desejar, incluindo colunas, mídia e texto, imagens de capa e muito mais.

Adicionar Blocos ao Grupo

Assim que estiver satisfeito com o layout que você criou, você precisa mover o mouse para cima e selecionar o bloco de grupo.

Simplesmente clique no ícone do menu de três pontos e, em seguida, selecione a opção ‘Adicionar a blocos reutilizáveis’.

Adicionar Bloco Reutilizável

Em seguida, você precisa fornecer um nome para o bloco reutilizável e, em seguida, clicar no botão Salvar. O WordPress agora salvará seu bloco reutilizável, incluindo todos os blocos dentro do bloco de grupo.

Você pode então editar qualquer postagem existente em seu site ou criar uma nova. Na tela de edição de postagem, simplesmente clique no botão adicionar novo bloco e procure seu bloco salvo na aba ‘Reutilizáveis’.

Reutilizar Bloco

Adicione o bloco à sua postagem, e o WordPress carregará todo o seu grupo de blocos com todos os blocos e configurações como você os salvou.

Este método permite que você salve seus layouts personalizados. No entanto, ele não permite que você altere como seu tema lida com postagens individuais.

Se você deseja maior flexibilidade, continue lendo a próxima etapa.

Criando Modelos Personalizados de Postagem Única Usando SeedProd

A maneira mais fácil de criar um modelo de postagem única personalizado é usando o SeedProd. É o melhor plugin construtor de sites WordPress e pode criar belos layouts de sites e modelos personalizados sem escrever nenhum código.

Você pode usar o construtor de arrastar e soltar do SeedProd para criar um tema WordPress totalmente personalizado, incluindo modelos de postagem única personalizados.

A primeira coisa que você precisa fazer é instalar e ativar o SeedProd plugin. Para mais detalhes, veja nosso guia passo a passo sobre como instalar um plugin WordPress.

Após a ativação, você precisa inserir sua chave de licença. Você pode encontrar essas informações em sua conta no site do SeedProd.

Chave de licença do SeedProd

Depois disso, é hora de criar um tema WordPress personalizado. Isso é muito mais simples do que parece.

Criando um Tema WordPress Personalizado

Primeiro, você precisa ir para a página SeedProd » Theme Builder. Aqui, você usará um dos temas prontos do SeedProd como ponto de partida. Isso substituirá seu tema WordPress existente por um novo design personalizado.

Você pode fazer isso clicando no botão ‘Themes’.

Crie seu tema personalizado

Você verá uma lista de temas projetados profissionalmente para diferentes tipos de sites. Por exemplo, existem modelos chamados ‘Modern Business’, ‘Marketing Agency’ e ‘Mortgage Broker Theme’.

Dê uma olhada nas opções e selecione aquela que melhor atende às suas necessidades clicando no ícone de marca de seleção.

Selecione um Tema que Atenda às Suas Necessidades

Depois de escolher um tema, o SeedProd gerará todos os modelos de tema que você precisa, incluindo um para páginas únicas e outro para posts únicos.

Cada modelo vem configurado com layouts atraentes e conteúdo de espaço reservado que é fácil de personalizar.

SeedProd Cria Todos os Modelos que Você Precisa para o Seu Tema

Para saber mais sobre como criar um tema com o SeedProd, consulte nosso guia sobre como criar facilmente um tema WordPress personalizado sem nenhum código.

Personalizando o Modelo Padrão de Post Único

O SeedProd facilita a personalização do modelo padrão de ‘Post Único’ usando um construtor de páginas de arrastar e soltar.

Simplesmente clique no link ‘Editar Design’ encontrado abaixo do modelo. Isso abrirá seu modelo de post no editor visual do SeedProd.

Clique no Link 'Editar Design' Abaixo do Modelo de Postagem Única

O editor visual do SeedProd tem um layout de 2 colunas. À esquerda, você encontrará blocos e seções que pode adicionar ao seu design.

À direita está uma prévia do modelo onde você pode ver suas alterações em tempo real.

Blocos e Seções do Editor Visual do SeedProd

Também é fácil personalizar o layout do seu modelo de post. Simplesmente clique em qualquer bloco para ver suas configurações na coluna esquerda.

Por exemplo, se você clicar no título do post, poderá ver suas configurações. Agora você pode alterar o alinhamento, o tamanho da fonte, o nível do cabeçalho e muito mais.

Clique em um Bloco para Alterar Suas Configurações

Clicar na aba Avançado permite alterar cores de fonte, espaçamento e outros estilos.

Você pode adicionar blocos adicionais arrastando-os da coluna esquerda para a coluna de prévia. O SeedProd usa tags de modelo para puxar conteúdo dinâmico como títulos de posts, imagens em destaque, comentários e muito mais. Isso permite que você adicione conteúdo ao modelo sem ter que editar cada post individualmente.

Por exemplo, você pode adicionar um bloco de Posts no final do conteúdo do seu post. Isso exibirá posts recentes que seus visitantes podem querer ler quando terminarem o post atual. Este bloco será mostrado automaticamente em todos os posts que usam este modelo.

Adicione um Bloco de Postagens na Parte Inferior do Seu Modelo de Postagens Únicas

Em seguida, você pode alterar as configurações do bloco de Posts para personalizar o conteúdo que é exibido.

Por exemplo, você pode exibir conteúdo de categorias específicas, usar um layout de duas colunas e alterar o número de posts exibidos.

Configurações do Bloco de Postagens do SeedProd

Sinta-se à vontade para gastar tempo experimentando diferentes blocos e explorando suas configurações.

Após criar algo que você gostaria de usar como seu modelo de postagem, é hora de salvá-lo clicando no botão verde ‘Salvar’ no canto superior direito. Depois disso, você pode fechar o editor visual do SeedProd clicando no ícone de fechar ‘X’.

Quando Terminar, Salve o Modelo de Postagem Única

Você pode personalizar o restante do seu tema WordPress da mesma forma. Mas se precisar de um pouco de ajuda, consulte nosso guia passo a passo sobre como criar um tema WordPress personalizado com o SeedProd.

Quando estiver satisfeito com a aparência de tudo, certifique-se de que o interruptor ‘Ativar Tema SeedProd’ esteja ativado. Seu site WordPress agora usará seu tema SeedProd e o modelo de postagem única personalizado.

Habilite o Tema SeedProd

Usando Configurações de Tema para Criar Layouts de Postagem Única Personalizados

Muitos temas populares do WordPress vêm com configurações integradas para personalizar a aparência do seu modelo de postagem única.

Se o seu tema suportar essas configurações, você poderá encontrá-las na tela de edição de postagem. As opções disponíveis podem mudar dependendo do tema que você está usando.

Por exemplo, o tema Astra oferece opções de personalização ao editar uma postagem única. Usando essas opções, você pode alterar barras laterais, ocultar cabeçalhos, títulos, menus e muito mais.

Personalização do Modelo de Postagem Única do Tema Astra

Por outro lado, muitos dos principais temas do WordPress vêm com modelos prontos para uso que você pode utilizar.

Se o seu tema incluir modelos de postagem única, você os encontrará no painel ‘Modelo’ ou ‘Atributos da Postagem’ ao editar uma postagem.

Escolhendo um Modelo ao Escrever uma Postagem Única

Estes modelos são layouts completos que você pode usar sem nenhuma configuração necessária.

Criando Manualmente Modelos Personalizados de Postagem Única Com Código

Este método é um pouco avançado, pois exige que você edite arquivos do tema, copie e cole código e, opcionalmente, adicione CSS personalizado. Se você nunca fez isso antes, confira nosso tutorial sobre como copiar e colar código no WordPress.

Primeiro, você precisa abrir um editor de texto simples no seu computador, como o Bloco de Notas, e colar o seguinte código nele:

<?php
/*
 * Template Name: Featured Article
 * Template Post Type: post, page, product
 */
  
 get_header();  ?>

Este código define um novo modelo chamado 'Artigo em Destaque' e o disponibiliza para os tipos de postagem de postagem, página e produto.

Você deve salvar este arquivo como wpb-single-post.php na sua área de trabalho. Em seguida, você precisa adicionar o modelo ao seu site WordPress. Para fazer isso, você precisa usar um cliente FTP para fazer o upload do arquivo para a pasta do seu tema atual.

Agora, você pode fazer login na sua área administrativa do WordPress e criar ou editar uma postagem. Role um pouco para baixo na tela de edição da postagem e você notará um novo painel 'Modelo' ou uma caixa de meta 'Atributos da Postagem' com uma opção para selecionar o modelo.

Selecione Seu Modelo de Postagem Personalizado

Você verá seu modelo personalizado 'Artigo em Destaque' listado lá.

No momento, seu modelo está essencialmente vazio, então selecioná-lo simplesmente exibirá uma tela branca.

Vamos consertar isso.

A maneira mais fácil de fazer isso é copiando o código do arquivo single.php do seu tema e usando-o como ponto de partida. Você terá que abrir o arquivo single.php e depois copiar tudo após a linha get_header().

Em seguida, você precisa colar este código no final do seu arquivo wpb-single-post.php. Agora você pode salvar este arquivo e enviá-lo de volta para o seu servidor.

No entanto, isso ficará exatamente igual ao seu modelo de postagem única atual. Agora você pode começar a fazer alterações no seu modelo de postagem única personalizado.

Você pode adicionar suas próprias classes de CSS personalizado, remover barras laterais, criar um modelo de largura total, ou qualquer outra coisa que desejar.

Criando Modelos de Postagem Única Personalizados por Categoria

Gostaria de usar um modelo personalizado de postagem única baseado em categorias? Por exemplo, você pode dar às postagens da categoria de viagens um layout diferente das postagens da categoria de fotografia.

Você pode fazer isso usando o SeedProd Theme Builder ou código.

Criando Modelos Personalizados de Postagem Única por Categoria Usando SeedProd

Anteriormente, cobrimos como personalizar o modelo de postagem única padrão do SeedProd Theme Builder. Mas não para por aí. Com o SeedProd, você pode adicionar quantos modelos de postagem personalizados desejar, como um layout diferente para cada categoria de postagem.

Para adicionar um novo modelo de postagem única, basta clicar no link 'Duplicar' abaixo do modelo de postagem original. Um novo modelo chamado 'Single Post – Copy' será criado e adicionado ao topo da página de modelos do tema.

Crie um Novo Modelo de Postagem Duplicando o Modelo de Postagem Padrão

Você pode personalizar o novo modelo da mesma forma que personalizou o modelo de Postagem Única padrão anteriormente. Simplesmente clique no link 'Editar Design' do modelo e faça as alterações que desejar usando o editor visual do SeedProd.

Quando terminar de personalizar o modelo, você precisará adicionar algumas condições para que o SeedProd saiba quais postagens devem usar este modelo. Neste caso, queremos que ele seja exibido ao visualizar postagens dentro de uma única categoria.

Clique no Link 'Editar Condições'

Você pode fazer isso clicando no link 'Editar Condições' do modelo e uma nova janela aparecerá.

Aqui, você pode dar um nome e prioridade ao modelo. O modelo de Postagem Única padrão tem uma prioridade de 0, portanto, certifique-se de dar a este modelo uma prioridade maior para que ele seja exibido nas categorias correspondentes.

Adicione Condições para Exibir o Modelo para uma Certa Categoria

Em 'Condições', selecione 'Tem Categoria' no segundo menu suspenso, em seguida, digite o nome da categoria no último campo. Por exemplo, se você quiser que apenas as postagens da categoria de fotografia usem este layout, digite 'fotografia'.

Quando terminar, clique no botão ‘Salvar’ e agora este modelo será usado para todas as postagens na categoria correspondente.

Esta é a maneira mais fácil de criar vários modelos de postagem personalizados no WordPress. Não requer nenhum conhecimento de código e não danificará acidentalmente nenhum arquivo do tema.

Criando Modelos Personalizados de Postagem Única por Categoria Usando Código

Este é outro método para aqueles que se sentem confortáveis em adicionar código aos arquivos do seu tema.

Primeiro, você precisa adicionar este código ao arquivo functions.php do seu tema ou a um plugin de snippets de código.

/*
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
 
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_template');
 
/**
* Single template function which will choose our template
*/
function my_single_template($single) {
global $wp_query, $post;
 
/**
* Checks for single template by category
* Check by category slug and ID
*/
foreach((array)get_the_category() as $cat) :
 
if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';
 
elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';
 
endforeach;
}

Este código primeiro verifica se o WordPress está solicitando uma postagem única. Se estiver, ele instrui o WordPress a procurar o modelo na pasta /single/ do seu tema WordPress.

Agora, você precisa adicionar os arquivos de modelo definidos por este código.

Conecte-se à sua hospedagem WordPress usando um cliente FTP ou Gerenciador de Arquivos no cPanel e vá para /wp-content/themes/sua-pasta-do-tema/.

Dentro da pasta do seu tema atual, você precisa criar uma nova pasta chamada 'single'. Em seguida, você precisa abrir esta pasta e criar um novo arquivo. Vá em frente e nomeie este arquivo single-cat-{slug-da-categoria}. Substitua {slug-da-categoria} pelo slug real da sua categoria.

Por exemplo, se você tem uma categoria chamada 'Notícias', então você criará o arquivo single-cat-news.php. Se você tem uma categoria chamada 'Dicas de Viagem', então crie um modelo single-cat-travel-tips.php, e assim por diante.

Criando um Modelo de Postagem Única para Categorias

Agora, estes arquivos de modelo estarão totalmente vazios. Como ponto de partida, você pode copiar o conteúdo do seu arquivo single.php da pasta do seu tema e colá-los dentro de cada um desses modelos. Depois disso, você precisará editar esses modelos para fazer as alterações desejadas.

Quando terminar, você pode acessar seu site e visualizar uma postagem. Ela usará o modelo que você criou para a categoria onde esta postagem está arquivada.

Agora, vamos supor que você tenha uma postagem arquivada em duas categorias: Notícias e Dicas de Viagem. O WordPress mostrará automaticamente o modelo para 'Notícias' porque ele aparece primeiro em ordem alfabética.

Por outro lado, se você arquivou uma postagem em uma categoria e não criou um modelo para essa categoria, o WordPress voltará ao modelo padrão single.php do seu tema.

Criando Modelos Personalizados de Postagem Única para Autores Específicos

Vamos supor que você queira que as postagens escritas por um autor específico tenham uma aparência diferente em seu site. Você pode fazer isso usando código, seguindo a mesma técnica que mostramos para categorias.

Primeiro, você precisa adicionar este código ao arquivo functions.php do seu tema ou a um plugin de snippets de código.

/**
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
 
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_author_template');
 
/**
* Single template function which will choose our template
*/
function my_single_author_template($single) {
global $wp_query, $post;
 
/**
* Checks for single template by author
* Check by user nicename and ID
*/
$curauth = get_userdata($wp_query->post->post_author);
 
if(file_exists(SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php';
 
elseif(file_exists(SINGLE_PATH . '/single-author-' . $curauth->ID . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->ID . '.php';
 
}

Em seguida, você deve se conectar ao seu site usando o gerenciador de arquivos FTP ou cPanel no cPanel e, em seguida, ir para /wp-content/themes/sua-pasta-de-tema/. Se você ainda não criou uma pasta chamada /single/ dentro dela, vá em frente e crie-a agora.

Dentro desta pasta, você precisa criar um modelo usando o nome de usuário do autor no nome do modelo. Por exemplo, single-author-johnsmith.php.

Este modelo estará vazio, então você pode copiar e colar o conteúdo do modelo single.php do seu tema e usá-lo como ponto de partida.

Agora você pode visitar seu site para ver uma postagem criada por um autor específico. Ela usará o modelo que você criou.

Esperamos que este artigo tenha ajudado você a aprender como criar modelos personalizados de postagens únicas no WordPress. Você também pode querer aprender como rastrear visitantes do site no seu site WordPress, ou ver nossa lista de plugins essenciais do WordPress para expandir seu site.

Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

71 CommentsLeave a Reply

  1. Não vejo uma opção "Adicionar a blocos reutilizáveis" no exemplo Criando Modelos de Postagens Únicas Usando o Editor de Blocos

    Usando o tema ativo

    • Depending on the specific block you may see the option to add it to patterns instead which is likely what you are running into :)

      Admin

  2. Estou recebendo esta mensagem ao tentar usar o código:

    Warning: call_user_func_array() espera que o parâmetro 1 seja um callback válido, função 'my_single_template' não encontrada ou nome de função inválido.

    Alguma ideia do porquê?

  3. Tudo bem, mas isso quebra o single.php padrão.

    Em outras palavras, esta frase “Por outro lado, se você publicou um post em uma categoria e não criou um modelo para essa categoria, o WordPress voltará para o modelo padrão single.php do seu tema.” não está funcionando.

    Alguma solução?

  4. Olá, estou tentando seguir o passo:
    Abra o arquivo single.php e depois copie tudo após a linha get_header().
    Em:
    Criando Manualmente Templates Personalizados de Postagem Única no WordPress
    No entanto, eu não tenho nenhuma função "get_header()" nesse arquivo.

    • Seu tema específico pode ter alguma codificação única, recomendamos entrar em contato com o suporte do seu tema específico e eles devem ser capazes de ajudar.

      Admin

  5. Obrigado por isso. Todos os meus arquivos gerados automaticamente (autor, não encontrado etc.) estão usando o template do meu site e depois colocando uma seção branca com texto branco na página. também está começando no topo da página (então é texto branco sobre um fundo branco, em grande parte escondido atrás de um cabeçalho de página)

    Acredito que seu artigo me ajudará a resolver essa bagunça.

    Obrigado

    • Our article should help and if you reach out to your theme’s support they may be able to assist as well :)

      Admin

  6. Estou correto em pensar que, uma vez que você cria um arquivo php de template de post personalizado, para que ele funcione como um template, você ainda precisa codificar o arquivo php, pois não há como salvar um novo post como um template. Isso está correto?

    Obrigado pela sua ajuda.

    • Isso está correto, para alterar o template, a menos que você esteja usando um construtor de páginas, não há um método para configurá-lo sem codificação.

      Admin

  7. Olá Autor,

    Segui os passos como você mencionou. Tenho álbuns CPT. Copiei o código de single-albums.php para outro arquivo wpb-single-albums.php e adicionei código de template como /*
    * Template Name: custom template
    * Template Post Type: albums
    */
    e fiz algumas alterações necessárias. Mas depois de selecionar este template na edição do post, ele exibe a página padrão (single-albums.php).

    Como posso consertar isso, por favor, ajude

    • Você pode querer verificar o template de trabalho atual para garantir que o tipo de postagem esteja correto

      Admin

  8. Obrigado pelo seu ótimo post. Tenho 2 perguntas: os templates de post único são os mesmos que os templates de tipo de post personalizado? Se forem diferentes, você pode me mostrar como criar um template de tipo de post personalizado?

  9. olá
    obrigado pela postagem
    Fiz tudo e funcionou como eu queria.
    mas tive um pequeno problema
    após adicionar o código ao function.php, single.php parou de mostrar dados
    há algo que eu possa fazer?

  10. Olá, Obrigado pelo seu Tutorial…

    Conforme seu tutorial, criei um tipo de post personalizado. Mas agora estou enfrentando um problema com comentários. Ao enviar o comentário, ele redireciona para a pesquisa...
    Por favor, sugira uma solução para isso..
    Obrigado desde já

  11. Olá.

    I’m using this & enjoying it greatly! :)
    However, I’m finding the following warning in my error logs around this code:

    [warn] mod_fcgid: stderr: PHP Warning: Use of undefined constant SINGLE_PATH – assumed ‘SINGLE_PATH’ (this will throw an Error in a future version of PHP)

    Alguma ideia de como corrigir isso?

    Seu trecho começa com “define(SINGLE_PATH,…” então não tenho certeza do que mais fazer aqui.

    • That error is saying it wants SINGLE_PATH to be surrounded by single quotes (”) which you can do for that warning :)

      Admin

  12. Então, segui seus passos e está funcionando para a nova página de slug de categoria única, mas não para o single.php padrão.

    Como posso fazer isso funcionar? Talvez o caminho padrão do single.php esteja errado?

    Obrigado!

  13. Olá,

    Estou pensando demais nisso, mas... se eu quiser que cada postagem do blog tenha a mesma aparência, eu apenas crio o Layout (uso o tema Divi), uso o primeiro método acima (faço uma nova versão do single.php com o nome correto) e escolho isso toda vez que quero criar uma postagem? É tão simples assim?

    Além disso, para adicionar o CSS personalizado, você o adiciona ao arquivo php e como? Onde dentro dele você o adiciona? Como deve parecer? Essa é a parte sobre a qual ainda não encontrei nenhuma referência sobre como fazer. Você pode dar um exemplo baseado apenas em fazer com que cada postagem do blog tenha uma aparência única?

    Obrigado

  14. Olá, obrigado pelos ótimos tutoriais. Está funcionando incrivelmente, mas não para novas categorias, que não têm um modelo especial. Infelizmente, ele não está pegando o código do arquivo single.php padrão. Agradeceria alguma ajuda sobre como fazer isso funcionar.

  15. Olá, obrigado pelo tutorial!

    Tenho uma pergunta. Como aplicaríamos CSS personalizado que afetaria apenas as páginas de Posts?

    Obrigado

  16. E se você quiser tornar seu novo modelo o padrão para tudo. De modo que sempre que um post for criado, ele seja automaticamente selecionado como o modelo padrão?

  17. Aposto que existem plugins que você pode usar para fazer o trabalho sem o incômodo de codificação e temas filhos. Teria sido ótimo se você tivesse pesquisado e compartilhado isso neste post também.

  18. Eu uso seu método, mas não consigo definir CSS personalizado para essas postagens.
    por exemplo, em function.php, quando verifico is_page_template(‘single-cat-news’), a instrução não retorna verdadeiro e meu CSS personalizado para esse tipo de postagem não está funcionando. o que devo fazer neste caso?

    • Verdade.
      Eu também estou tendo esse problema. O template de largura total funciona bem para posts e páginas, mas quando se trata de tipos de postagem personalizados, os códigos CSS não funcionam e voltam ao tamanho normal da página sem barra lateral.
      Estou tendo dificuldades para encontrar uma solução para esse problema.

  19. Preciso de alguma ajuda adicional com isso...

    Seguindo as instruções desta página (juntamente com as pequenas modificações observadas em meus comentários em 12/2/17 e 12/12/17), consegui fazer isso funcionar de forma confiável.

    NO ENTANTO, encontrei o problema onde usar este método para chamar um modelo personalizado não parece ser registrado com a chamada das classes body_class.

    Por exemplo, se eu definir um modelo personalizado em uma página (onde estou usando o menu suspenso "Modelo" do WordPress dentro da visualização de edição da barra lateral "Atributos da Página" – então as classes do corpo que são geradas incluiriam o nome desse modelo.

    Como:

    <body class="page-template-my_custom_template page page-id-2..."

    Mas, usando este método, as classes do corpo apenas retornam:

    <body class="page-template-default page page-id-2..."

    Alguma ideia de como garantir que as classes do corpo reflitam um modelo de postagem única personalizado?

    • Aqui está a resposta (para o meu tema, pelo menos – sua experiência pode variar).

      Adicionar o seguinte a [b]functions.php[/b] resolveu o problema para mim:

      add_filter('body_class','add_category_to_single');
        function add_category_to_single($classes) {
          if (is_single() ) {
            global $post;
            foreach((get_the_category($post->ID)) as $category) {
              // add category slug to the $classes array, starting with 'category-'...
              $classes[] = "category-$category->category_nicename";
            }
          }
          // return the $classes array
          return $classes;
        }
      
  20. Criei um arquivo single-cat-news.php para “Notícias”. Minha categoria “Notícias” tem duas subcategorias: “Câmera” e “Smartphone”. A postagem em “Smartphone” é exibida em single-cat-news.php (S depois de N no alfabeto), mas a postagem em “Câmera” é exibida no single.php padrão (C antes de N no alfabeto). Quero que a postagem em “Câmera” seja exibida em single-cat-news.php, o que devo fazer? Selecionei tanto “Notícias” quanto “Câmera” para minha postagem.

  21. Im viewing your Blog from last 2 years. I explored whole web to find this but i got the correct working code from here i just love your Blog keep it up :)

  22. Ao usar essa abordagem para especificar um modelo de postagem personalizado para uma postagem única dentro de uma categoria específica, descobri que o WordPress NÃO estava voltando para single.php em instâncias onde um arquivo single-cat-WHATEVER.php não existia para uma categoria específica.

    Corrigi isso adicionando a seguinte linha antes do final da função:

    else
    return SINGLE_PATH . '/single.php';

    Assim, este código:


    /**
    * Verifica o template single por categoria
    * Verifica por slug e ID da categoria
    */
    foreach((array)get_the_category() as $cat) :

    if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
    return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';

    elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
    return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';

    endforeach;
    }

    Tornou-se isto:


    /**
    * Verifica o template single por categoria
    * Verifica por slug e ID da categoria
    */
    foreach((array)get_the_category() as $cat) :

    if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
    return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';

    elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
    return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';

    else
    return SINGLE_PATH . '/single.php';

    endforeach;
    }

    Isso parece ser a abordagem correta? Ou há algo mais que eu possa ter feito para quebrar a funcionalidade padrão?

  23. Obrigado por este 'como fazer' claro.

    Uma observação: para aqueles de nós que usam um TEMA FILHO, descobri que mudar...

    define(SINGLE_PATH, TEMPLATEPATH . ‘/single’);

    para:

    define(SINGLE_PATH, get_stylesheet_directory() . ‘/single’);

    (dentro da seção 'Definir um caminho constante para nossa pasta de modelos únicos') garante que o diretório do tema filho seja verificado em busca de modelos únicos em vez do diretório do tema pai.

    Esta pode ser também a razão pela qual não está funcionando para alguns dos outros comentaristas acima.

    Boa sorte a todos!

    • Muito obrigado pela sua ajuda! Eu estava me perguntando por que ele continuava me direcionando de volta para o tema pai em vez do tema filho.

  24. Não consigo fazer isso funcionar para mim, o modelo nunca aparece no editor de postagens, mesmo depois de limpar meu cache.

  25. Obrigado por este artigo.
    Quero saber como posso personalizar ainda mais o layout deste modelo de postagem personalizada individual, como colocar uma imagem na postagem antes do conteúdo e no rodapé.

  26. Olá,
    Preciso mudar a ordem de 3 coisas na página do post, que ficam no final do artigo:
    1- um plugin de paginação.
    2- um anúncio.
    3- ícones de compartilhamento social.

    Quero colocá-los na seguinte ordem (verticalmente):
    1- o anúncio
    2- os ícones de compartilhamento social
    3- o plugin de paginação

    Como posso fazer isso, por favor?

  27. Obrigado pelos seus ótimos tutoriais. Estou tendo problemas com este. Adicionei o código ao meu functions.php, mas não estou obtendo o template de post único. Preciso fazer uma chamada para a função ou o WordPress faz isso? Existe alguma maneira de depurar a função?

    Eu só quero que posts de uma categoria específica sejam exibidos de forma diferente quando você clica neles.

  28. Eu queria criar uma página de post personalizada onde usuários registrados do meu site pudessem postar sem usar o post padrão do WordPress.

  29. Olá! Obrigado por este tutorial, mas sou bem iniciante em web design e comecei a criar um tema completo para WordPress. Tudo funciona bem no meu site, mas estou tentando possibilitar a adição de páginas que utilizem um template que criei (como a página de um produto em um catálogo), mas não tenho ideia de como fazer isso. Tentei primeiro criar um template de página onde coloquei loops que exibem o conteúdo de um post ou página, como título, texto e valores de alguns campos personalizados. Para isso, usei `query_posts`, mas ele exige que o ID do post ou página seja colocado com "page_id=" ou "p=", o que significa que o template é para uma página específica, e eu teria que criar um template para cada nova página que adicionasse a este catálogo, especificando manualmente o ID da página/post nele, quando o que eu queria era criar um único template para todas as páginas do catálogo...
    Então, enquanto pesquisava para encontrar uma solução, encontrei seu artigo e tentei criar um post usando o novo template de post único, mas não importa qual template eu selecione na lista, quando vou para a URL do post, ele exibe minha página inicial... Provavelmente estou fazendo tudo errado e nem tenho certeza se entendi o que é um post único e se é realmente o que preciso... Agradeceria muito se você pudesse me dar algumas dicas sobre o que devo fazer para resolver meu problema, ou se existe algum tutorial em algum lugar que possa me ajudar...
    Obrigado,

    Pierrick.

    • Olá Pierrick,

      Não temos certeza se entendemos completamente seu problema. No entanto, se você apenas deseja criar um modelo para ser usado por qualquer página, o modelo de página personalizado é a abordagem correta. Como você quer que os usuários possam ver qualquer página, isso significa que você não precisa usar query_posts, seu loop começará com o padrão

      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      //
      		// Post Content here
      		//
      	} // end while
      } // end if
      ?>
      

      Admin

  30. Olá,

    Tenho uma configuração local com WP 3.7.x e o Tipo de Post do Modelo: post, page, product não está disponível.

    Como posso criar arquivos php de categoria separados para cada categoria de post???

    single-{slug}.php
    category-{slug}.php

    tudo não parece funcionar

    Alguma dica?

  31. Configurei isso para funcionar com categorias, no entanto, quando seleciono uma postagem que não tem categoria, ela falha em usar o modelo padrão e não exibe a postagem. Suspeito que meu tema possa ser o culpado. Como eu codificaria o single.php no diretório pai como padrão a ser usado se nenhum modelo de categoria existir?

    Funciona perfeitamente se eu copiar o single.php para o arquivo /single/single-cat-name.php, mas não quero 40+ arquivos duplicados.

    • primeiro copie single.php para a pasta /single

      então inclua este código logo antes do endforeach;

      senão

      return SINGLE_PATH . ‘/single.php’;

  32. Isso é exatamente o que eu estava procurando, obrigado por explicar isso de forma tão simples! No entanto, tenho uma dúvida: removi minha barra lateral, mas agora há apenas um espaço vazio onde ela costumava ficar. Como posso esticar a seção de conteúdo principal para cobrir todo o espaço? Obrigado novamente!

    • Olá Lyssie,

      Isso ocorre porque seu tema definiu a largura da área de conteúdo em relação à barra lateral. Você precisa usar a ferramenta de inspeção para descobrir qual classe CSS sua área de conteúdo usa e, em seguida, ajustar adicionando CSS personalizado para torná-la de largura total.

      .page-template-full-width .content-area {
          width: 100%;
          margin: 0px;
          border: 0px;
          padding: 0px;
      }
      
      .page-template-full-width .site {
      margin:0px;
      }
      

      Por favor, veja nosso guia sobre como criar página de largura total no wordpress

      Admin

      • Obrigado pela resposta rápida! Isso foi muito útil! Agora, se eu vir:
        div id=”primary” class=”content-area”>

        quando uso a ferramenta de inspeção, qual é a classe que minha área de conteúdo usa?

        • Oops, isso não saiu como esperado.
          div id=”primary” class=”content-area”
          main id=”main” class=”site-main” role=”main”

          article id=”post-4773″ class=”post-4773 post type-post status-draft format-standard hentry category-travel-2″
          div id=”featured-image”
          /div

  33. Este é um ótimo artigo e deve ajudar uma pessoa sem conhecimentos de codificação como eu. A personalização de um modelo seria algo assustador que poderia quebrar o tema completamente. Você recomenda fazer o modelo personalizado em um tema filho ou está tudo bem em fazê-lo diretamente no tema. Muito obrigado.

    • Olá Joe,

      Você não alterará nenhum dos arquivos existentes do seu tema. Em vez disso, você criará um novo arquivo. Se algo der errado, você pode simplesmente excluir o modelo e seu site voltará ao normal.

      Sim, criar um tema filho é a melhor prática recomendada.

      Admin

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.