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.
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.
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).
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.
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.
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.
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.
Gostaria de criar mais etiquetas inteligentes personalizadas? Consulte o nosso tutorial sobre Como criar uma etiqueta inteligente personalizada.