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

Este tutorial pressupõe que já adicionou os 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 primeiro o formulário. 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 trechos 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 analisar estas duas funções.
A primeira função está a criar uma Smart Tag vazia com o nome ‘Portfolio Price’. Nada será atribuído a esta tag ainda, estamos apenas a criá-la com esta função.
A próxima função é onde definiremos a Smart Tag e de onde ela deve extrair a informação.
Com a linha $my_acf_field = get_field( ‘portfolio_price’, get_the_ID() ); estamos a dizer ao código que ele precisa de ir ao Advance Custom Fields e obter o valor deste campo. Terá de introduzir o nome do campo aqui. Para o nosso tutorial, nomeámos o nosso campo portfolio_price.
Se precisar de ajuda para encontrar o nome do seu campo, basta editar o campo que criou no ACF e procurar pelo rótulo Field Name.

Criação do formulário
Criámos o nosso formulário para ter os campos de formulário Nome, Email, 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.
Adicionar as Smart Tags
Para o nosso formulário, vamos incluir o Título do Produto, que é o título do post. Podemos usar uma Smart Tag incorporada que o WPForms já fornece para isto.
Assim que adicionar o campo Texto de Linha Única para o Título do Produto, clique no separador Avançadas. No Valor Padrão para o campo, clique na ligação Mostrar Etiquetas Inteligentes e selecione o Título Incorporado do Post/Página para que o título do post preencha automaticamente este campo do formulário.

Em seguida, repetiremos este passo novamente para o campo Preço do Produto.
No separador Avançadas do campo Preço do Produto, selecione a Etiqueta Inteligente {portfolio_price} das Etiquetas Inteligentes disponíveis.

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

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

Gostaria de criar mais Etiquetas Inteligentes personalizadas? Dê uma vista de olhos ao nosso tutorial sobre Como Criar uma Etiqueta Inteligente Personalizada.