Como criar e usar campos personalizados do WordPress
Publicados: 2020-04-23Uma das principais vantagens do WordPress é sua versatilidade, que é possível graças aos seus recursos de extensibilidade integrados. Entre as diferentes fórmulas de extensão que oferece, encontramos campos personalizados :
O WordPress tem a capacidade de permitir que os autores das postagens atribuam campos personalizados a uma postagem. Essas informações extras arbitrárias são conhecidas como metadados .
Os metadados são tratados com pares de chave/valor . A chave é o nome do elemento de metadados. O valor é a informação que aparecerá na lista de metadados em cada postagem individual à qual a informação está associada.
Documentação do WordPress.org
Por exemplo, se quisermos criar metadados sobre conceitos relacionados ao mundo motor, teríamos coisas como:
- Marca : Ford
- Modelo : Foco
- Cor : branco
- Potência : 110 cv
- etc
No post de hoje, mostrarei como criar campos personalizados, como usá-los e como eles podem ajudá-lo como usuário e/ou desenvolvedor do WordPress. Observe que você precisará ter algum conhecimento básico de como codificar no WordPress… mas espero que você consiga acompanhar o post facilmente, especialmente quando eu mostrar como usar um plugin incrível para trabalhar com campos personalizados: Campos personalizados avançados.
Como funcionam os campos personalizados do WordPress
A melhor maneira de entender o que são campos personalizados e como eles funcionam é dando uma olhada no banco de dados do WordPress. Como você já deve saber, toda vez que você cria um post, página ou (quase) qualquer outro tipo de conteúdo no WordPress, esse novo conteúdo é armazenado em uma tabela chamada wp_posts (o prefixo pode mudar).
As tabelas em um banco de dados são como qualquer outra tabela com a qual você trabalhou anteriormente. Basicamente, eles possuem um conjunto de colunas que definem “o que você pode armazenar” e linhas com as informações específicas. No caso de wp_posts , as colunas são coisas como título , conteúdo , autor , data de publicação e assim por diante. Nada extravagante, para ser honesto:

wp_posts em um banco de dados WordPress.Um dos “problemas” de usar tabelas é que as informações que você pode armazenar nelas se limitam às colunas que elas possuem. Se você quiser armazenar informações sobre um novo conceito, não poderá. Então, como você pode criar campos personalizados, se a tabela já estiver definida? Bem, simples o suficiente, você só precisa de uma nova mesa projetada para isso.
Em cada banco de dados WordPress há outra tabela chamada wp_postmeta como a seguinte:

wp_postmeta no banco de dados WordPress. Como você pode ver na captura de tela anterior, a tabela de metadados foi projetada de tal forma que podemos criar pares de chave/valor usando as colunas meta_key e meta_value e associar cada par a um conteúdo específico usando a coluna post_id . Bastante fácil!
Então, vamos dar uma olhada em como podemos trabalhar com essa tabela!
Como criar um novo campo personalizado
Como já vimos, os campos personalizados sempre estão associados a uma postagem específica. Portanto, você esperaria algum tipo de interface de usuário no editor para, bem, editá-los, certo? Infelizmente, se você der uma olhada em Gutenberg, não há…
Para editar campos personalizados no editor do WordPress, você precisa habilitar um painel avançado. Basta clicar no ícone superior direito no editor e depois clicar em Opções :

Isso abrirá uma nova janela com os diferentes painéis disponíveis no Gutenberg. Encontre um chamado Campos personalizados e ative-o:

Uma vez ativado, você pode criar e editar facilmente os campos personalizados da sua postagem:


Essa interface simples nos permite criar quantos pares de chave/valor quisermos. Na captura de tela acima, por exemplo, você vê como adicionei alguns dos campos que apresento no início deste post: nelio_brand , nelio_model , nelio_color e nelio_hp .
Como usar um campo personalizado
Para usar um campo personalizado, você precisa de três coisas: (a) o identificador de uma postagem, (b) o nome do campo que deseja usar e (c) decidir onde deseja usá-lo. Por exemplo, suponha que eu queira exibir o campo nelio_brand que criamos no exemplo acima no final de um post. Para recuperar seu valor, existe uma função chamada get_post_meta que podemos usar da seguinte forma:
function nelio_add_brand_field( $content ) { $brand = get_post_meta( get_the_ID(), 'nelio_brand', true ); return "{$content}\n<p><strong>Brand:<strong> {$brand}</p>"; } add_filter( 'the_content', 'nelio_add_brand_field' );Observe que no exemplo anterior abordamos as três coisas que mencionei antes:
- O primeiro parâmetro de
get_post_metaé precisamente o identificador do post que estou interessado. Neste caso, usamosget_the_ID(), que retorna o ID do post atual. - O segundo parâmetro é o nome do nosso metacampo (neste caso,
nelio_brand). - Por fim, estamos usando o campo meta no front-end, como algo que queremos mostrar no final do conteúdo do post. E você pode dizer porque estou recuperando e usando durante o filtro
the_content.
O resultado de fazer isso é algo semelhante ao que você pode ver na captura de tela a seguir:

Mas isso é apenas um exemplo, claro! Você pode usar campos personalizados de várias maneiras além de “imprimir algo no front-end”. Por exemplo, o Nelio A/B Testing é um dos plugins que criamos e foi projetado para executar testes A/B em um site WordPress. Um teste A/B requer a criação de conteúdo alternativo, e nosso plug-in usa campos personalizados para rotular o conteúdo alternativo como tal e limita como e quando esse conteúdo é acessível por um visitante.
Funções do WordPress para gerenciar campos personalizados
Da mesma forma que temos um método para recuperar o valor de um campo personalizado ( get_post_meta ), o WordPress possui métodos adicionais para criar, atualizar e excluir campos personalizados programaticamente: add_post_meta , update_post_meta e delete_post_meta . Essas funções funcionam como você esperaria, então não vou incomodá-lo com mais explicações…
O que é e como usar campos personalizados avançados
Agora que você já sabe como funcionam os campos personalizados no WordPress, acho que já posso te dar a boa notícia: existem vários plugins que simplificam bastante o processo de trabalhar com campos personalizados!
Um dos plugins mais conhecidos e mais bem avaliados para criar metadados em um site WordPress é o Advanced Custom Fields. Com ele, você não só poderá definir campos personalizados de forma mais simples, mas também terá a possibilidade de desfrutar de uma interface de usuário aprimorada para lidar com esses campos. Essa interface garante que os valores que você definir façam sentido e sejam semanticamente significativos: datas, imagens, galerias, intervalos, números... você escolhe!

Se você quiser saber mais sobre o ACF, há muitos recursos disponíveis. Mas acho que esta palestra de Jo Minney pode realmente ajudar você a começar:
Espero que esta pequena introdução aos campos personalizados o ajude no seu caminho para se tornar um desenvolvedor WordPress melhor!
Imagem em destaque por Polina Rytova no Unsplash.
