Resumo de IA
Você está interessado em criar Smart Tags personalizadas com base em campos gerados com ACF (Advanced Custom Fields)? Neste tutorial, vamos guiá-lo através do processo de criação dessas Smart Tags especializadas usando um trecho de código conciso.
Para a ilustração deste tutorial, vamos considerar um site WordPress utilizando posts como itens de portfólio de vendas. Vamos criar um único formulário para ser exibido em cada página de post, integrando-o perfeitamente ao template PHP.
No entanto, para que os autores listem efetivamente seus itens para venda, eles precisarão inserir os respectivos preços. Aproveitando o plugin ACF, incorporamos um campo de Preço nas configurações do post.
Este campo de Preço será pré-preenchido no formulário e atualizado dinamicamente com base no post que está sendo visualizado. Como o formulário permanece constante entre os posts, mas o Preço varia, empregaremos uma Smart Tag para este campo para garantir sua adaptabilidade com a atualização das informações de cada post.
Criação do campo personalizado com ACF
Primeiro, começaremos criando nosso campo personalizado com o plugin Advanced Custom Fields.
Seguindo a documentação do ACF, adicionamos um novo campo aos nossos posts chamado portfolio_price.

Este tutorial pressupõe que você já adicionou seus campos ao seu post. Se precisar de ajuda para adicionar campos aos posts do WordPress usando o plugin Advanced Custom Fields, consulte a documentação deles.
Criação de uma Smart Tag a partir do campo ACF
Normalmente, criaríamos o formulário primeiro. No entanto, como sabemos que queremos usar esta nova Smart Tag dentro do nosso construtor de formulários, vamos adicionar o snippet antes de criar o formulário.
Se precisar de ajuda para adicionar snippets ao seu site, consulte este tutorial.
/**
* Register the Smart Tag so it will be available to select in the form builder.
*
* @link https://wpforms.com/developers/how-to-create-a-smart-tag-from-an-acf-field/
*/
function wpf_dev_register_smarttag( $tags ) {
// Key is the tag, item is the tag name.
$tags[ 'portfolio_price' ] = 'Portfolio Price';
return $tags;
}
add_filter( 'wpforms_smart_tags', 'wpf_dev_register_smarttag' );
/**
* Process the Smart Tag.
*
* @link https://wpforms.com/developers/how-to-create-a-smart-tag-from-an-acf-field/
*/
function wpf_dev_process_smarttag( $content, $tag ) {
// Only run if it is our desired tag.
if ( 'portfolio_price' === $tag ) {
//Get the field name from ACF
$my_acf_field = get_field( 'portfolio_price', get_the_ID() );
// Replace the tag with our link.
$content = str_replace( '{portfolio_price}', $my_acf_field, $content );
}
return $content;
}
add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_smarttag', 10, 2 );
Vamos detalhar essas duas funções.
A primeira função está criando uma Smart Tag vazia com o nome ‘Portfolio Price’. Nada será atribuído a esta tag ainda, estamos apenas criando-a com esta função.
A próxima função é onde definiremos a Smart Tag e de onde ela deve puxar as informações.
Com a linha $my_acf_field = get_field( ‘portfolio_price’, get_the_ID() );, estamos dizendo ao código que ele precisa ir ao Advanced Custom Fields e obter o valor deste campo. Você precisará inserir o nome do campo aqui. Para o nosso tutorial, nomeamos nosso campo como portfolio_price.
Se precisar de ajuda para encontrar o nome do seu campo, basta editar o campo que você criou no ACF e procurar pelo rótulo Field Name.

Criando o formulário
Criamos nosso formulário para ter os campos de formulário Nome, E-mail, Título do Produto (Texto de Linha Única), Preço do Produto (Texto de Linha Única) e Comentários (Texto de Parágrafo).

Se precisar de ajuda para criar um formulário, consulte este tutorial.
Adicionando as Smart Tags
Para o nosso formulário, vamos trazer o Título do Produto, que é o título do post. Podemos usar uma Smart Tag integrada que o WPForms já fornece para isso.
Assim que você adicionar o campo Texto de Linha Única para o Título do Produto, basta clicar na aba Avançado. No Valor Padrão do campo, clique no link Mostrar Smart Tags e selecione Título Incorporado do Post/Página para que o título do post preencha automaticamente este campo do formulário.

Em seguida, repetiremos esta etapa novamente para o campo Preço do Produto.
Na aba Avançado do campo Preço do Produto, selecione a Smart Tag {portfolio_price} entre as Smart Tags disponíveis.

Adicionando o shortcode do WPForms a um template PHP
Se precisar de ajuda para adicionar um shortcode a um template PHP, revise este tutorial.
Para este tutorial, adicionamos nosso shortcode ao final do template da página de post único.

Agora você pode ver que, à medida que seus posts mudam, o Preço do Produto e o Título do Produto do seu formulário também mudarão.

Gostaria de criar mais Smart Tags personalizadas? Dê uma olhada em nosso tutorial sobre Como Criar uma Smart Tag Personalizada.