Exibindo os dados de seu campo criado com o ACF

A API do Advanced Custom Fields é feita de forma bem lógica e simples, prezando pela facilidade em sua utilização para exibir seus campos personalizados. Existem muitas funções, e em breve todas elas estarão documentadas por aqui. Por enquanto, vamos ver as funções mais básicas.

Funções básicas

Uma vez criado seu grupo de campos, campos, é indicado salvar alguns dados nestes campos para poder testar se os dados serão exibidos da forma correta pela trecho de código feito por você em seu tema.

Todos os valores ficarão armazenados de forma nativa no WordPress, em post_meta, entretanto é mais indicado utilizar a função get_field, nativa do ACF, do que a get_post_meta() já existente no WordPress. Alguns podem achar estranho não ser indicado usar a função nativa do WordPress, mas isso se dá ao fato do ACF já tratar a formatação dos valores de acordo com o tipo de campo criado, facilitando sua vida ao não te obrigar a tratar cada tipo de campo!

Para receber o valor de um campo em uma variável, basta utilizar a função get_field(), passando como parâmetro o nome do campo a ser utilizado. Por exemplo, get_field(‘foto-local’);

Para imprimir diretamente o valor de um campo, basta utilizar a função the_field().  Seguindo o exemplo acima, usaríamos the_field(‘foto-local’); 

A primeira coisa que você deve memorizar é essa regra simples: get_field para recuperar os valores em uma variável e the_field para impressão, sem ter a necessidade de fazer um $foto = get_field(‘foto-local’); echo $foto;, já que é mais simples utilizar the_field(‘foto-local’);

Vejamos um exemplo básico de como imprimir 2 campos no Loop do WordPress.

<?php
/**
 * Template Name: Home Page
 */
get_header(); 
?>

<div id="primary">
     <div id="content" role="main">
     <?php while ( have_posts() ) : the_post(); ?>
          <h1><?php the_field('nome-local'); ?></h1>
          <img src="<?php the_field('foto-local'); ?>" />
          <p><?php the_content(); ?></p>
     <?php endwhile; // end of the loop. ?>
     </div><!-- #content -->
</div><!-- #primary -->

<?php get_footer(); ?>

Existem Shortcodes no ACF?

Sim, e você pode os utilizar seguindo de forma simples passando apenas o nome do campo. Algo assim:

[acf field="{$nome_campo}"]

Você pode ainda especificar um $post_id para determinar de qual ID de post esta informação virá.

[acf field="{$nome_campo}" post_id="{$post_id}"]

One comment

  1. Olá Guga! Parabéns pelo artigo.

    Preciso listar na tela os clientes por cidade “cp_city” igual é feito clientes por categorias. Como fazer isso? Sendo que “cp_city” já foi incluído pelos usuários num formulário.
    Obrigado.

Deixe uma resposta