Como pegar valores de campos personalizados no WordPress

em 03 de abril de 2011

Os campos personalizados no WordPress são muito utilizados para guardar informações extras em cada post, muitos plugins os usam para este fim, por exemplo o WP PostViews que guarda em um campo personalizado quantas vezes um post foi visitado. Um campo personalizado é configurado no painel de controle do wordpress, onde se edita e/ou se adiciona um novo post.

Suas finalidades e utilidades são muito grandes, pode-se também criar um valor automaticamente a partir de um script como alguns plugins fazem. Porém nesse tutorial irei mostra como pegar esses valores que serão preconfigurados nos posts como mostra a imgem abaixo.

Campo Personalizado WordPress

Como gravar um campo personalizado

Como já disse, eles são configurados na área onde se adiciona um post. Nele cria um nome para o campo, que depois fica gravado no Banco de Dados, e ao lado seu valor. O valor pode ser qualquer coisa, um numero um link. Um outro exemplo simples que frequentemente é utilizado em  plugins de thumbnails(miniaturas que ficam nas postagens) para guardar urls de imagens, para conseguir usa-las nas postagens na página inicial.

Como pegar esses valores

Bom vamos usar o exemplo das imagens, vamos dizer que eu tenho um campo personalizado chamado “miniatura” e nele eu guardo imagens pequenas que serão apresentadas na página inicial.

O que devo fazer agora é, no desenvolvimento do meu template chamar uma função do wordpress que ira pagar o valor desse campo e apresentar para mim. A sintaxe é simples:

<?php echo get_post_meta($post_id, $key, $single); ?>

$key = o nome do campo personalizado, no exemplo seria a “miniatura”.

$post_id =  aqui você define o ID do post.

$single = caso tenha mais de um valor com o mesmo nome para aquele mesmo post é retornado o primeiro encontrado, se for true.

O segundo valor da função, como já disse, é opcional, e muitas não é usado, pois quando a função está no loop ele pega automaticamente o ID. Essa função cria um array, então muita atenção quando utiliza-la

Agora vou demostrar como ficaria em nosso exemplo:

<img src="<?php echo get_post_meta($post->ID, 'miniatura', true); ?/>" alt="" />

Basicamente é isso qualquer dúvida utilize os comentários abaixo. ;-)

Quer esclarecer sua dúvida? Então nos siga no twitter e curta a nossa página no facebook! Além disso você fica por dentro de todas as nossas atualizações, saberá em primeira mão dos novos vídeos tutoriais de WordPress, além de claro, ficar muito bem informado sobre o mundo da tecnologia!

6608 Visualizações
Você poderá gostar também de:

10 comentários sobre “Como pegar valores de campos personalizados no WordPress”

  1. Cada vez mais fera!
    Tu é crânio msm batata :)

    Dúvida: autodidata?? O.O

  2. valdelare disse:
    pow cara eu preciso chamar na verdade os valores que são diferentes pois o nome é comum a todos posts que estou criando! se puder ajudar vlw!
  3. Como assim não entendi sua dúvida.
  4. Flavio disse:
    Beleza, <img src="" alt="" />

    Entao inseri esse codigo no template em um campo pra imagema localizada no post, mais como eu chamo a imagem? algum codigo com link da imagem no post? não intendi direito =/ isso só diz pra que serve e não como usar =X

    • Olá Flávio!

      Entenda o seguinte, esta é apenas uma das formas de fazer a chamada de um campo personalizado, ou seja, quando você utilizar aquela função da forma descrita no post, ela ira chamar o conteúdo que está dentro deste campo, referente aquele post.

      Se você está utilizando o exemplo da miniatura, você tem que saber como e o que irá colocar dentro do campo, um padrão, para que quando você chamá-lo dentro da tag "img" funcione corretamente.

      Respondendo sua pergunta, sim você deve colocar o link da imagem 8D.

      Dei toda essa introdução pra você entender o que a função faz, se tiver dificuldades em entender, sinta-se a vontade em comentar.

  5. Zezinho disse:
    Batata… Muito legal esse tutorial… Ainda estou aguardando a vídeo aula, ok? Bem, minha duvida é… Como colocar no campo miniatura, a "imagem destacada" q selecionamos no post?? Aguardo!
    • andersonweschnhoski disse:
      Eae Zezinho,

      Então, nesse caso você deve subir a imagem manualmente no wordpress, pelo upload nativo, depois pegue o link e coloque na área de "Campos Personalizados" que fica bem embaixo do campo onde vai o conteúdo do post.

      As versões mais recentes do WP escondem os campos personalizados para deixar a página mais limpa, você pode habilitá-los no botão que fica localizado no campo superior direito da tela, chamado "Opções de Tela". Isso dentro da edição do post.

  6. NuieL disse:
    Olá Anderson, é o seguinte:
    estou criando um template e preciso pegar o valor de um campo personalizado na index, mas com esse código isso não acontece. No código-fonte fica "<img src='' >" sem valor no src, fazendo com que quebre. Tem alguma ideia do que fazer para resolver?
    • Olá Nuiel,

      Então, ainda bem que você teve esta dúvida, pois tem um pequeno erro no código do post, na verdade faltou uma coisa, a função get_post_meta apenas lhe retorna o valor e não escreve ela no html, então você tem que utilizar um echo para que apareça o valor do campo. Ficaria assim:

      <?php echo get_post_meta(); ?>

      Desculpe o meu erro, espero que tenha entendido :)

Deixe um Comentário