Atenção!

Este artigo contém código PHP e destina-se a desenvolvedores. Oferecemos este código como uma cortesia, mas não fornecemos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação extra, consulte o tutorial do WPBeginner sobre como adicionar código personalizado.

Dispensar

Como Criar uma Marca Inteligente a partir de um Campo ACF

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.

Siga a documentação do ACF sobre como criar um novo campo personalizado para adicionar um campo aos seus posts.

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.

procure pelo rótulo do campo que você criou com o plugin ACF

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).

Criar um novo formulário

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.

Adicione a Smart Tag Título Incorporado do Post/Página para o valor padrão no campo Título do Produto

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.

Agora você pode usar a smart tag do acf

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.

adicione o 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.

agora o preço do produto muda dinamicamente

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

Filtro de Referência