O Contact Form 7 é um dos plugins mais populares para criação de formulários de contato no WordPress. Para utilizá-lo, basicamente, você trabalhará utilizando shortcodes criados pelo plugin e inserindo-os nas suas páginas ou posts no WordPress. Isso faz com que aquele form seja exibido. O plugin cria shortcodes tanto para inserir o formulário nas páginas e posts como para inserir os campos dentro do próprio formulário.
Muitas vezes precisamos definir conteúdos personalizados em uma determinada opção, como no select por exemplo e fica inviável acessar toda hora as configurações do formulário para adicionar mais uma opção.
Para resolvemos essa questão podemos utilizar um filter.
Neste tutorial, a versão que estou utilizando do WordPress 4.5.3 e do Plugin Contact Form 7 é 4.4.2
Vamos simular a seguinte situação: Precisamos que as categorias de um post sejam mostrados num select e essas categorias sempre tem uma rotatividade de nomes. Então, não caberia neste exemplo adicionarmos manualmente as categorias nos formulários.
Então vamos utilizar o filtro wpcf7_form_tag do plugin e com ele criaremos uma atributo que quando inserido irá definir o nosso conteúdo personalizado.
Vamos adicionar no arquivo functions.php do tema uma função que será chamada pelo filtro do plugin.
Segue a função:
function create_dynamic_select_list($tag, $unused){ $options = (array)$tag['options']; $categories = false; $search = 'options_categories'; foreach ($options as $option) { if (preg_match("/^".$search."$/", $option, $matches)){ $categories = true; break; } } if($categories){ $terms = get_terms('category', array('hide_empty' => false)); foreach($terms as $term){ $tag['raw_values'][] = $term->name; $tag['values'][] = $term->name; $tag['labels'][] = $term->name; } } return $tags; }
1 = Define uma função que receberá 2 parâmetros;
2 = Seleciona as opções das tags;
3 = Define uma variável pra informar se opção que criamos existe;
4 = Define o nome do atributo que usaremos no formulário;
6 = Percorre as opções da tag do formulário;
7 = Verifica se existe o atributo que queremos;
8 = Se exibir, adicionar o valor para $categories como verdadeira;
9 = Para o loop;
13 = Verificar se a variável $categories é verdadeira;
14 = Seleciona todas as categorias;
15 = Percorre as categorias;
16,17 = Define o valor da opção;
18 = Define o valor que será exibido para usuário;
21 = retorna as tags.
Agora vamos informa em qual filtro queremos que seja executada essa função.
add_filter( 'wpcf7_form_tag', 'create_dynamic_select_list', 10, 2);
Pronto, agora é só usá-lo no Contact Form 7
Espero que tenham gostado, e até a próxima.
Nos últimos anos, testemunhamos uma revolução na forma como os sites são criados, impulsionada pelo…
A animação 3D tem sido uma forma poderosa de contar histórias e criar experiências visuais…
Nos últimos anos, a inteligência artificial (IA) tem revolucionado a forma como criamos e editamos…
Nos últimos anos, a integração da inteligência artificial (IA) na criação de sites tem revolucionado…
Nos últimos anos, a edição de vídeo evoluiu rapidamente com o avanço da tecnologia, e…
A dublagem de filmes desempenha um papel fundamental na indústria cinematográfica, permitindo que obras de…
This website uses cookies.
Ver comentários
Olá!
Você tem uma dica de como eu faço para que, quando o usuário selecionar uma opção em um select, que em outro, ao lado, carregue as opções referente ao escolhido anteriormente? Seria mais ou menos aquilo de selecionar o estado e a aparecer as cidades referentes a UF escolhida.
Como poderia fazer isso integrado ao Contact Form 7?
Obrigada!
Muito bom!! Gostaria de saber se é possível direcionar para uma determinada categoria após o envio do formulário. A pessoa usa o select para selecionar a categoria que ela quer e após enviar o formulário é direcionada para uma certa página da categoria. É possível???