Propaganda

Uma das vantagens do uso do WordPress é sua grande flexibilidade. Não é apenas para postagens e páginas: os tipos de postagem personalizados podem estender os principais recursos a praticamente qualquer coisa.

Vamos dar uma olhada hoje no que você poderia fazer com tipos de postagem personalizados, bem como um exemplo prático rápido de como criar uma lista de eventos usando um tipo de postagem personalizado chamado Evento.

Nota: Este tutorial deve ser considerado apenas para fins educacionais, para que você possa aprender o código usado para criar tipos de postagem personalizados. Se você realmente deseja um ótimo plugin de listagem de eventos para o seu site WordPress, tente O calendário de eventos, que é bem desenvolvido e gratuito.

O que são tipos de postagem personalizados no WordPress?

Normalmente, um site WordPress consiste em dois tipos de conteúdo: postagens de blog datadas e páginas estáticas. A maioria de nós que tem configurar um blog WordPress Configure seu blog com WordPress: o melhor guia

Deseja iniciar seu próprio blog, mas não sabe como? Veja o WordPress, a plataforma de blog mais poderosa disponível hoje. consulte Mais informação está familiarizado com o fato de que as páginas devem ser usadas para coisas como "Sobre mim" ou "Informações de contato", enquanto as postagens regulares são direcionadas ao seu blog.

Além disso, e se você quiser adicionar outro tipo especial de conteúdo que realmente não se encaixa na ordem cronológica do blog e certamente não é estático? É aí que entram os tipos de postagem personalizados.

Uma solicitação bastante comum para sites de clubes ou grupos é ter algum tipo de calendário de eventos. Uma solução que pode ser aplicada é criar uma categoria separada de eventos de Eventos. O problema é que eles serão exibidos na linha do tempo do blog principal e realmente devemos separar os dois conceitos completamente.

Para isso, vamos criar um novo tipo de postagem chamado event, que terá sua própria seção separada da interface do administrador.

Como criar um tipo de postagem personalizado no WordPress

Faremos isso ajustando seus arquivos de tema diretamente. Você pode obter o mesmo efeito através de um plug-in, mas para demonstrar o conceito e a prática, é mais fácil escrevê-los diretamente. Se você não estiver satisfeito com isso, considere usar o Meu plugin de Funções personalizadas, que permite adicionar código de maneira não destrutiva.

Minhas funções personalizadas

Abra o seu tema functions.php, armazenado na pasta do tema dentro wp-content / themes; ou use o plug-in Minhas funções personalizadas, que você encontra em Configurações > Inserter PHP. No final do arquivo, adicione este código:

add_action ('init', 'events_init'); função events_init () {$ args = array ('labels' => array ('name' => __ ('Events'), 'singular_name' => __ ('Event'),), 'public' => true, 'has_archive' => true, 'reescrever' => array ("lesma" => "eventos"), 'suporta' => array ('miniatura', 'editor', 'título', 'campos personalizados')); register_post_type ('eventos', $ args); }

Certifique-se de fazer isso antes do fechamento do php (?>), se houver uma na sua functions.php Arquivo.

Reserve um tempo para ler o código. Ele está declarando algumas propriedades (como rótulos para a interface) e como os URLs (reescritos) devem ser manipulados, bem como quais recursos são compatíveis com este tipo de postagem. Você pode, por exemplo, adicionar um campo personalizado ao seu tipo de postagem personalizado com a propriedade support.

Nesse caso, declaramos nosso tipo de evento para oferecer suporte a miniaturas, um editor de conteúdo para a descrição do evento, um título do evento e campos personalizados. Também adicionamos has_archive, para que a navegação na página de eventos exiba um arquivo de todos os eventos, semelhante a um blog.

É isso, agora, se você salvar seu tema e recarregar seu blog, supondo que você não tenha nenhum erro, deverá ver uma nova seção de eventos na barra lateral do administrador. Yay!

Observe como meu tema atual está aproveitando ao máximo os tipos de postagem personalizados para todos os tipos de recursos extras no administrador.

Adicione alguns exemplos de eventos agora.

Duas festas incríveis foram adicionadas à lista de eventos!

Como esse é um evento, crie um campo personalizado chamado encontro para indicar quando o evento ocorrerá. Usar mm / dd / aaaa formato.

Criando um campo de data personalizado para mostrar quando o evento realmente ocorrerá

Observe que precisamos usar campos personalizados para especificar a data real do evento em vez da data da postagem, porque a data da postagem representa quando o aviso é publicado. Como você provavelmente adicionaria eventos que ocorrerão no futuro, definir a data de publicação como a data real do evento seria inútil.

Se você tentar visualizar o evento neste momento, poderá receber um erro 404. Isso ocorre porque o WordPress precisa regenerar sua estrutura de URL Permalink para dar conta desse novo tipo de postagem. Vá para o Configurações> Links permanentes página e pressione Salvar novamente.

Agora você deve conseguir visualizar a postagem do evento individual. Observe que a primeira parte do URL, após o seu nome de domínio, é /events/. Nós escolhemos isso nesta linha de código:

'reescrever' => matriz ("slug" => "eventos"),

Personalizar a página de listagem de eventos

Agora que você tem todos esses eventos fantásticos em seu blog, seria bom listá-los em algum lugar. Para isso, criaremos um modelo de página especial, para que você possa adicionar essa página aos itens de menu regulares ao lado de Sobre ou Contato.

Como já especificamos que o tipo de postagem do evento deve ter um arquivo morto, você pode prosseguir e ver qual é o padrão visitando /events/. Sobre o tema padrão dos vinte e dezessete no meu site de teste, obtive o seguinte:

Página de arquivo mostrando eventos

A personalização dessa saída dependerá do tema que você está usando, e a cobertura de todo o sistema de templates do WordPress está fora do escopo deste artigo. No entanto, para fins deste tutorial, suponho que você esteja usando o Twenty-Seventeen.

Comece criando uma cópia do archive.phpe renomeie-o para archive-events.php. Isto é um convenção de nomenclatura padrão isso significa que o WordPress usará automaticamente esse modelo para exibir o arquivo morto para o tipo de postagem de eventos.

Ao examinar o arquivo, os vinte e dezessete autores forneceram um mecanismo de pós-formato, complexo demais para nossas necessidades:

/* * Inclua o modelo específico para o formato posterior ao conteúdo. * Se você deseja substituir isso em um tema filho, inclua um arquivo. * chamado content -___. php (onde ___ é o nome do formato de postagem) e que será usado. */ get_template_part ('template-parts / post / content', get_post_format ());

Nota: Um tema filho é recomendado, pois qualquer atualização no tema original substituirá suas alterações. este Artigo de suporte do WordPress descreve o processo de criação de um tema filho para os vinte e dezessete. Por uma questão de brevidade, vou apenas trabalhar no tema original e não me importo se meu trabalho for perdido em uma atualização posterior.

Recorte todo esse bloco e cole o seguinte. Esta é apenas uma cópia simplificada do conteúdo desses modelos de formato de postagem, para fins de aprendizado:

Se você salvar e visualizar a página Eventos novamente, notará que ela agora tem datas. Mas eles estão errados. No momento, eles estão mostrando a data de publicação em vez da data do evento. Como último passo, vamos mudar para a data real do evento. Encontre o bit que gera o tempo, twenty_seventeen_time_link ()e substitua-o pelo seguinte:

date ('l jS FY', strtotime (get_post_meta (get_the_ID (), 'date', true))))

Isso está obtendo a data do pós-meta campo que definimos e, em seguida, usando o PHP encontro() para formatá-lo para algo mais legível.

Arquivo com datas

Próximos passos?

Se você não estiver satisfeito com seu host atual, é altamente recomendável usar um host gerenciado do WordPress, como Motor WP, que nós mesmos usamos nos sites irmãos. Caso contrário, o InMotion Hosting oferece planos acessíveis, que são ainda mais baratos com o nosso desconto especial quando você usa esse link.

Observe que, quando criamos o tipo de postagem do evento, já codificamos o suporte para miniaturas em destaque. Use nosso guia para imagens em destaque e miniaturas de postagem O guia completo para miniaturas em destaque e tamanhos de imagem no WordPressAqui está tudo o que você precisa saber sobre tamanhos de imagem no WordPress e gerenciamento de imagens em destaque. consulte Mais informação para pegar e exibir uma imagem em destaque no arquivo de listagem de eventos.

James é bacharel em Inteligência Artificial e possui certificação CompTIA A + e Network +. Ele é o principal desenvolvedor do MakeUseOf e passa seu tempo livre jogando paintball e jogos de tabuleiro em VR. Ele está construindo PCs desde que era criança.