Páginas com conteúdo dinâmico no Wordpress
Em alguns casos quando utilizamos o Wordpress como um gerenciador de conteúdo de um website, precisamos ter páginas apresentando diferentes tipos de conteúdo como por exemplo: página de notícias, eventos, links, etc.
Em sua configuração original os templates do Wordpress não oferecem esta possibilidade de criar páginas de posts de um determinado assunto. Mas é perfeitamente possível quando empregamos um pouco de conhecimento em HTML e PHP.
O raciocínio que utilizarei para dar um exemplo para aplicaçao desta necessidade é o seguinte: criaremos uma página personalizada, e dentro desta página listaremos os posts de uma certa categoria.
A criação de páginas com layout personalizado está disponível dentro do painel de criação de páginas, confira no link abaixo como efetuar esta operação:
Page Templates
http://codex.wordpress.org/Pages
Note que teremos um arquivo específico para cada uma das páginas de nosso site, o que possibilitará listarmos qualquer tipo de conteúdo nela independente do wordpress.
Agora pensando na estrutura de conteúdo do Wordpress, precisamos separar nossos posts de alguma forma, esta forma pode ser tanto através de categorias ou de tags, aconselho a utilização de categorias pois possuem mais recursos de filtragem através das funções nativas do Wordpress. Então, aplicando este planejamento e começando um exemplo de implementação, criaremos alguns posts com a categoria de “Notícias”.
Após cadastrar nossos dados de teste, abriremos o arquivo de nossa nova página personalizada, e listaremos todos os posts da categoria “Notícias”, para obter estes dados podemos contar com as funções nativas de consulta do Wordpress, como a “get_posts()”. Confira clicando aqui a documentação desta função, e abaixo um exemplo de implementação:
‘category’ => 5,
‘orderby’ => ‘date’,
‘order’ => ‘DESC’,
‘numberposts’ => ‘-1′
);
$arrayPosts = get_posts($parametros);
Explicando o código acima, a função get_posts() aceita uma série de parâmetros, conforme pode ser visto em sua documentação, que neste exemplo utilizamos os seguintes:
- “category”: define que serão retornados somente os posts da categoria de ID 5
- “orderby”: define por qual dado do post ordenaremos o array de retorno
- “order”: a partir de “orderby” define se a ordem será crescente ou descrescente
- “numberposts”: quantos posts serão buscados, no caso o valor -1 retira a limitação
Após termos o array de post com os filtros desejados, através das iterações do PHP poderemos listar os conteúdos dentro da interface.
Ótimo post!!