Função get_field() – Advanced Custom Fields
A função get_field retorna o valor de um dado campo, e você pode usá-lo para armazenar um valorem uma variável ou imprimir um valor com `echo`, embora para isso a the_field seja mais indicada.
Note que o tipo de variável retornado é relativo ao tipo de campo. Por exemplo: Um repetidor irá retornar um array multidimensional, um campo de texto irá retornar uma string.
Parâmetros
<?php $field = get_field($field_name, $post_id, $format_value); ?>
- $field_name: nome do campo a ser retornado. Exemplo: “page_content” (obrigatório)
- $post_id: Especifica o ID do post onde o seu valor foi digitado. O padrão é pegar o do post atual, do loop que você está. Você também pode passar ID de uma página de opções, taxonomias, usuários, etc. (opcional)
- $format_value: define se o valor retornado estará formatado ou não. O padrão é true, caso deseje que o valor não venha formatado, passe false aqui. (opcional).
Como utilizar
Nos exemplos abaixo, assumiremos que o nome do campo criado é ‘text_field’.
Retornar o valor do campo do post atual
$value = get_field( "text_field" );
Retornar o valor do campo de um determinado ID de post
$value = get_field( "text_field", 123 );
Checando se um campo tem um valor definido
É sempre indicado checar se o campo tem algum valor preenchido, para apenas o utilizar caso esta afirmação seja verdadeira:
$value = get_field( "text_field" ); if( $value ) { echo value; } else { echo 'Campo personalizado está vazio'; }
Retornando valores de outros lugares
$post_id = null; // post atual $post_id = 1; $post_id = "option"; $post_id = "options"; // mesma coisa que o acima, valor de uma option page $post_id = "category_2"; // define uma categoria específica $post_id = "event_3"; // define uma taxonomia específica (como a tag "event") $post_id = "user_1"; // define um usuário em específico (user id = 1) $value = get_field( "text_field", $post_id );
Retornar um valor sem formatação
Neste exemplo, a campo de nome ‘imagem’ é um campo de imagem que normalmente retornar um objeto da imagem.
No entanto, ao passar falso como terceiro parâmetro para a função get_field, o valor não será formatado e retornado exatamente como está salvo no banco de dados
Note que o segundo parâmetro também está definido como false para retornar o ID do post atual.
$image = get_field('image', false, false);