Como criar uma etiqueta inteligente a partir de um campo ACF

Está interessado em criar Smart Tags personalizadas com base em campos gerados com ACF (Advanced Custom Fields)? Neste tutorial, vamos guiá-lo pelo processo de criação dessas Smart Tags especializadas usando um trecho de código conciso.

Para ilustrar este tutorial, vamos considerar um site WordPress que utiliza posts como itens de portfólio de vendas. Vamos conceber um único formulário para ser apresentado em cada página de publicação, integrando-o perfeitamente no modelo PHP.

No entanto, para que os autores possam efetivamente listar os seus artigos para venda, terão de introduzir os respectivos preços. Aproveitando o plugin ACF, incorporámos um campo Preço nas definições da publicação.

Este campo Preço será pré-preenchido no formulário e atualizado dinamicamente com base na publicação que está a ser visualizada. Uma vez que o formulário se mantém constante em todas as publicações, mas o preço varia, utilizaremos uma Smart Tag para este campo, a fim de garantir a sua adaptabilidade à atualização das informações de cada publicação.

Criar o campo personalizado com ACF

Primeiro, vamos começar 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.

Siga a documentação do ACF sobre a criação de um novo campo personalizado para adicionar um campo às suas mensagens.

Este tutorial parte do princípio de que já adicionou o(s) campo(s) à sua publicação. Se precisar de ajuda para adicionar campos aos posts do WordPress usando o plug-in Advanced Custom Fields, consulte a documentação.

Criar 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 analisar estas duas funções.

A primeira função está a criar uma Smart Tag vazia com o nome "Preço da carteira". Ainda nada será atribuído a esta etiqueta, estamos apenas a criá-la com esta função.

A função seguinte é onde definimos a Smart Tag e de onde deve obter as informações.

Com a linha $my_acf_field = get_field( 'portfolio_price', get_the_ID() ); estamos a dizer ao código que precisa de ir a Advance Custom Fields e obter este valor de campo. Você precisará inserir o nome do campo aqui. Para nosso tutorial, nomeamos nosso campo portfolio_price.

Se precisar de ajuda para encontrar o nome do campo, basta editar o campo que criou no ACF e procurar a etiqueta Nome do campo.

procurar a etiqueta do campo que criou com o plugin ACF

Criar o formulário

Criámos o nosso formulário para ter os campos Nome, E-mail, Título do produto (texto de uma linha), Preço do produto (texto de uma linha) e Comentários (texto de parágrafo).

Criar um novo formulário

Se precisar de ajuda para criar um formulário, consulte este tutorial.

Adicionar as etiquetas inteligentes

Para o nosso formulário, vamos trazer o Título do Produto, que é o título do post. Podemos usar uma Smart Tag incorporada que o WPForms já fornece para isso.

Depois de adicionar o campo Texto de linha única para o Título do produto, basta clicar no separador Avançadas. No Valor predefinido para o campo, clique na ligação Mostrar etiquetas inteligentes e selecione Título de publicação/página incorporado para que o título da publicação seja automaticamente preenchido neste campo do formulário.

Adicionar a Smart Tag Título de Página/Post incorporado para o valor predefinido no campo Título do Produto

De seguida, repetiremos este passo para o campo Preço do produto.

No separador Avançadas do campo Preço do produto, selecione a etiqueta inteligente {portfolio_price} Smart Tag entre as Smart Tags disponíveis.

Agora pode utilizar a etiqueta inteligente do acf

Adicionando o shortcode do WPForms a um modelo PHP

Se precisar de ajuda para adicionar um shortcode a um modelo PHP, consulte este tutorial.

Para este tutorial, adicionámos o nosso shortcode à parte inferior do modelo de página de publicação única.

adicionar o código curto à parte inferior do modelo de página de postagem única

Agora pode ver que, à medida que as suas mensagens mudam, o mesmo acontece com o Preço do produto e o Título do produto do seu formulário.

agora o preço do produto muda dinamicamente

Gostaria de criar mais etiquetas inteligentes personalizadas? Consulte o nosso tutorial sobre Como criar uma etiqueta inteligente personalizada.

Filtro de referência