Suporte » Desenvolvendo com WordPress » Single para custom post type

  • Resolvido Paradise

    (@birobas)


    Estou criando um site e nele criei alguns post type, gostaria de saber se é possível criar somente um single padrão para todos os post type que criei.
    Por exemplo um single-cpt.php, e com ele poder usar para apresentar post type de produtos e clientes etc.

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá, tudo bem?

    É possível sim.

    Confira essa tabela que indica qual arquivo é chamado em qual situação:
    https://developer.wordpress.org/files/2014/10/template-hierarchy.png

    Aí você cria um arquivo para cada post-type e nele só faz um “require_once” para o template que você quiser.

    Criador do tópico Paradise

    (@birobas)

    Olá,

    Sim, eu entendi a hierarquia.

    Daí pensei se seria possível utilizar um código no functions.php, por exemplo, onde eu informaria um single padrão para cada custom post type que eu criar, sem precisar criar um single para cada custom post type.

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    O single padrão para todo mundo é o single.php. Para usar um single para todo CPT, teria que utilizar os hook do core para alterar a escolha do template.

    Mas me explica porque quer fazer isso, por favor? Por que são vários CPTs com o mesmo template? O que é cada CPT?

    Acho que podemos rever essa estrutura ae.

    Criador do tópico Paradise

    (@birobas)

    Sim, o single.php é o padrão para todos os posts, porém queria fazer um outro single para custom post type que quero criar.

    Quero facilitar a atualização de um site para meu cliente, e não quero utilizar o post e categorias.

    Por exemplo: tem a área de notícias, avisos e galeria. Criei um post type para cada um para quando ele entrar no administrativo do site, ele vai em cada área e fazer a atualização, sem precisar selecionar uma categoria, por que muitas vezes o usuário esquece e a postagem não aparece no local especificado.

    Não quero utilizar o WordPress como um blog, quero utilizar as funções poderosas que a ferramenta tem para criar um modo de gerenciamento robusto e organizado que eu sei que o WordPress proporciona.

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Sim Randys, eu entendo a utilização dos CPT e com certeza utilizar posts para gerenciar conteúdo (que não seja um artigo) está fora de questão.

    Minha pergunta se referiu à motivação de ter que usar um mesmo arquivo para todos os CPTs. Pelo que entendi é isso que você quer fazer. Se for o caso, porque ter vários CPTs?

    A ideia de ter mais de um CPT é ter mais de um tipo de conteúdo, se o template é diferente, não faz muito sentido, a menos que vá enchê-lo de verificações para saber qual o post_type atual e ir mudando. Mas aí não faz sentido.

    O que você pode fazer seria criar um Custom Template Page e então adicionado à páginas. Para customização/gerenciamento de conteúdo, você poderia utilizar a API de Customização do WordPress ou então criar opções na administração.

    Mas de qualquer forma, respondendo à sua pergunta inicial, a forma mais fácil é usar um require / include ou então get_template_part para incluir um template único e criar o template de cada CPT.

    Ou então teria que utilizar o filtro single_template para criar um bypass ae:

    https://developer.wordpress.org/themes/basics/template-hierarchy/#filter-hierarchy

    https://developer.wordpress.org/reference/functions/get_query_template/

    Abraços

    Criador do tópico Paradise

    (@birobas)

    Obrigado Mário, com essa última informação tu resolveu minha dúvida.
    E também me proporcionou muitas ideias pois queria mesmo estudar a API de customização.

    Estou querendo dar um UP nos meus trabalhos e quero continuar a usar o WordPress como CMS e com essas informações que tu passou vai resolver muita coisa.

    Abraços, valeu mesmo!

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • O tópico ‘Single para custom post type’ está fechado para novas respostas.