Depois de um comentário do nosso leitor Gustavo no post onde ensinamos como exibir posts de um campo personalizado específico do WordPress, venho neste artigo apresentar um guia completo sobre o uso dos famosos custom fields do WordPress. Na verdade, Campos Personalizados ou Custom Fields são uma das melhores formas de extender as funcionalidades do WordPress, depois dos recém-introduzidos posts personalizados, que em conjunto são capazes de transformar o WordPress num verdadeiro Sistema de Gestão de Conteúdos, aliás, estas duas ferramentas transformam o WordPress de uma plataforma de blogging para o melhor CMS que existe actualmente.
Para que servem os campos personalizados do WordPress?
Vou responder a esta pergunta com um exemplo prático, tendo como base o problema que o Gustavo estava enfrentando no seu projecto.
Pelo que entendi, o nosso leitor, Gustavo, tinha um projecto em WordPress, onde ele ia apresentar um directório de empresas ou algo parecido, usando posts do WordPress. Neste directório, para além do nome da empresa(que pode ser o título do post), a descrição(que pode ser o post em si), ele ainda pretendia apresentar outros dados importantes, como por exemplo o número de funcionários, data de fundação da empresa, localização da empresa, nome do proprietário,etc. Não é prático colocar isso dentro da descrição da empresa, pois não terá a visibilidade e o efeito desejado num directório do gênero. Então, é preciso encontrar uma alternativa mais viável.
Solução 1: Hackear(modificar) a tabela wp_2_posts do WordPress
A solução do Gustavo era hackear a base de dados do WordPress, acrescentando mais campos a tabela wp_2_posts. Isso é altamente perigoso e completamente desaconselhado, uma vez que sempre que o WordPress faz um upgrade ele verifica a base de dados, para ter certeza que a estrutura actual é igual a estrutura da nova versão. Não sei o que acontece se esta condição não for satisfeita, mas aconselho a nunca fazer isso!
Solução 2: Usar Campos Personalizados do WordPress
Esta é sem dúvidas a melho solução para resolver este problema. Com campos personalizados podemos incluir informações adicionais a um ou vários posts, sem ter que alterar a estrutura das tabelas do WordPress.Campos personalizados do WordPress funcionam numa base “Chave->valor”. A chave é o nome do campo personalizado e o valor é a informação que queremos acrescentar no ao post. Indo para o problema do Gustavo, poderiamos ter os seguintes campos personalizados no nosso post, para completar a informação do directório de empresas:
Chave:valor Funcionarios:23 Fundacao:2007 Localizacao:Av. karl Max, 931, Maputo Proprietario:Elisio Leonardo
Usando Campos Personalizados do WordPress
Funções de Refêrencia
Adicionar, Editar, Remover: add_post_meta() update_post_meta() delete_post_meta() Obtendo Campos Personalizados de um post: get_post_custom() get_post_custom_values() get_post_custom_keys() Tags do Template the_meta() get_post_meta()
Baseado no problema do Gustavo, vamos mostrar a implementação de campos personalizados do WordPress, para adicionar mais detalhes nos posts de um directório de empresas. Em cada post do nosso directório adicionaremos os quatro campos personalizados definidos acima.
- Depois de escrever o título e a descrição da empresa nos campos do título e do post do WordPress, role a janela para abaixo, até a área chamada “Campos Personalizados” ou Custom Fields se o seu WordPress estiver em Inglês
- para criar o campo personalizado para número de funcionarios, digite “Funcionario”(sem as aspas) no campo de texto reservado para Chave(Key).
- Agora digite o valor para este campo, que neste caso vai ser o número de funcionarios da empresa, no campo de texto ao lado, reservado para o Valor(Value)
- Agora, para este post, a chave número de funcionários terá o valor definido em valor.
- Clique no botão “Adicionar Campo Personalizado”, para que esta informação seja armazenado no post actual
Para criar os outros campos personalizados, repita este processo para as outras chaves, inserindo os respectivos valores e clicando sempre no botão para adicionar a informação ao post. A seguir você deve publicar o post ou então gravar como rascunho para que a informação seja definitivamente adicionada ao post.
Quando escrever o próximo post, você não precisará digitar novamente as chaves para os campos personalizados, pois o WordPress irá reconhecer automaticamente estes detalhes. Apenas escolha a chave desejada na lista de chaves existentes, e depois coloque o valor, sempre clicando no botão Adicionar Campo Personalizado para que está informação seja adicionada ao post. As chaves dos campos personalizados são criadas apenas uma vez, sendo que das próximas vezes o WordPress reconhece automaticamente estes detalhes.
Exibindo Campos Personalizados no seu post
Agora que temos as nossas empresas em formato de post, com os respectivos campos personalizados anexados a cada um deles, é hora de apresentar esta informação no nosso site. Para exibir os campos personalizados para cada post, você pode usar a tag the_meta() no seu template. É meio evidente que esta tag deve estar dentro do Loop para funcionar. Muitos usuários colocam esta tag no fim do post, ou na secção de informações como autor e data de publicação do post. Aqui vai um exemplo básico:
<php the_meta(); ?>
Esta tag trará o seguinte efeito no seu post:
<div> <ul class='post-meta'> <li><span class='post-meta-key'>Funcionarios:</span> 23</li> <li><span class='post-meta-key'>Fundacao:</span> 2007</li> <li><span class='post-meta-key'>Localizacao:</span> Av. karl Max, 931, Maputo</li> <li><span class='post-meta-key'>Proprietario:</span> Elisio Leonardo</li> </ul> <div>
Técnicas Avançadas do uso dos Campos Personalizados
Obtendo um campo personalizado específico
Para obter o valor de um campo personalizado específico use a função get_post_meta():
get_post_meta($post_id, $key, $single);
$post_id é o ID do post que você pretende obter o valor do campo personalizado.$key é uma string contendo a chave do campo que você pretende obter o valor$single é um valor que pode ser true ou false. Se for true, a função retornará um único resultado como uma string. Se for false, a função retornará um array com todos os resultados para aquela chave. É mais comum usar-se a opção true nesta função.
Estas são as formas mais comuns de se usar campos personalizados no WordPress. Não vou dar detalhes sobre outras funções para os campos personalizados, pois o básico já está dito.Caso tenha alguma dúvida ou conheça outras implementações dos campos personalizados não se esqueça de usar a secção de comentários para interagir conosco. E se desejar ajudar outros utilizadores do WordPress, comece divulgando este post no Facebook, Twitter e outras redes sociais que você participa.
Comentários Recentes