Hoje lancei a versão 2.0 do plugin Contact Form 7 Phone Module que permite adicionar campos para telefone com máscara.
A novidade desta versão é o painel de geração da tag [phone], permitindo que a máscara seja definida de forma mais fácil.
Caso sejam adicionados mais de um campo [phone], será aplicada apenas a máscara defininda no último campo. A máscara será a mesma para todos os campos.
O plugin está disponível em http://wordpress.org/extend/plugins/contact-form-7-phone-mask-module/
Olá, Gabriel. Obrigado por haver respondido.
Tentei assim:
[phone* your-phone 10/15 id:your-phone mask:(99)9999-9999 aMask:(99)999-999-999 reDo:\\(11\\)9+ reUndo:^(?!\\(11\\)9+)] ]
e assim:
[phone* your-phone 10/15 id:your-phone mask:(99)9999-9999 aMask:(99)999-999-999 reDo:\\(11\\)9+ reUndo:^(?!\\(11\\)9+)]
E também tentei colocar o aMask logo após a expressão regular para a troca de máscara. Mas, infelizmente, ainda não tive sucesso com isso. Tirando essa minha dificuldade, que nem sou programador, apenas curioso, o contact Form 7 phone module, continua a funcionar sem qualquer problema aqui.
Enquanto não encontro outra solução, vou usando assim:
[phone your-phone1 10/13 id:your-phone1 mask:(99)99999999?9]
Quando atualizei o plugin, logo no sábado, notei esses campos extras que ainda nem foram traduzidos ao nosso português do Brasil, mas pelo que entendi, eles apenas servem para quem deseje fazer mais alguma validação. Por exemplo, estou usando o campo para validação de URL, e funciona muito bem. A validação é feita quando se tenta enviar os dados, porém, esses novos shortcodes nem podem sequer serem comparados ao trabalho que você fez com tanto esmero no Contact Form 7 Phone Module, que faz a coisa acontecer com validação e formatação em tempo real.
Obrigado.
A nova versão 3.4 do contact form 7 agora tem o campo [tel] e mudou a classe dos shortcodes.
Este meu plugin deve estar incompativel com esta nova versão e em breve devo testá-lo e lançar uma atualização.
Abraços,
Gabriel
Olá!
Baixei a última versão que você lançou para o seu plugin, mas ainda não consegui fazer com que ele troque automaticamente de máscara para números com 9 dígitos no DDD 11.
É bem provável que seja burrice minha, mas não consigo mesmo colocar a coisa para funcionar.
Mesmo assim, uso o plugin com a gambiarra do “?” que descobri e me tem sido bastante útil.
Abraços.
Esqueci de dizer que eu fiz uma alteração aqui:
if ( ‘phone*’ == $type )
{ $class_att .= ‘ wpcf7-validates-as-required’;
$acessibilidade = ‘ aria-required=”true”‘; } $atts .= ‘ class=”‘ . trim( $class_att ) . ‘”‘ . $acessibilidade; para que sua nova versão do plugin ficasse nos padrões de acessibilidade do html5, visto que eu já desejava fazer essa alteração e fiquei muito contente quando li que o desenvolvedor do Contact Form 7 resolveu incluir por padrão o atributo aria-required=”true” em todos os campos marcados com “*”, para que os leitores de telas possam anunciar para nós que somos cegos que o campo é obrigatório, o que nem sempre é perceptível sem esse atributo configurado para verdadeiro.
Obrigado mais uma vez..
Olá, Gabriel. Ao criar um campo de telefcom o phone module no contact form 7, ele nos dá a opção para uma máscara alternativa (tentei 9 dígitos), mas tem que se colocar uma expressão regular para a nova máscara e uma outra expressão regular para voltar aos 8 dígitos.
Tentei assim:
[phone your-phone1 10/14 id:your-phone1 mask:(99)9999-9999 aMask:(99)99999-9999 reDo:/^([0-9]{2})[0-9]{4}-[0-9]{4}$/ reUndo:/^([0-9]{2})[0-9]{5}-[0-9]{4}$/]
E ntão deu certo.
Você já tem alguma coisa pronta por aí, que possa indicar para esse caso?
Obrigado.
Olá Locutor Antonio Cezar,
Na verdade eu utilizo estas duas máscaras: (99)9999-9999 e (99)999-999-999
Máscara original:
mask:(99)9999-9999
Expressão regular para fazer a troca de máscara
reDo:\\(11\\)9+
Máscara alternativa
aMask:(99)999-999-999
Expressão regular para desfazer a troca de máscara
reUndo:^(?!\\(11\\)9+)]
Abraços,
Gabriel
Olá! Gabriel. O que eu quis dizer na minha 1ª mensagem e que agora ficou claro para mim, é que tenho que optar entre uma máscara de 8 ou de 9 dígitos.
Vejamos: se eu colocar no meu form:
[phone* your-phone 10/14 id:your-phone mask:(99)9999-9999]
Ele somente vai aceitar 8 dígitos.
Agora se eu colocar:
[phone* your-phone 10/14 id:your-phone mask:(99)999-999-999]
Então ele somente aceítará 9 dígitos. Ou estou fazendo alguma coisa errada ainda? O form está em:
http://carrosdesom.org/
Estou usando o plugin, mas tive que fazer uma ressalva no formulário de contato, pois tanto posso ter usuários com telefones de 8 como de 9 dígitos. Daí a necessidade de que a coisa fosse automática e o exemplo que te passei na minha 1ª mensagem..
Mais uma vez, muito obrigado.
Passei apenas para dizer que agora encontrei uma solução razuável, Gabriel, pelo menos enquanto não se tem coisa melhor, porque outras pessoas com certeza poderão se valer da mesma solução que adotei. Coloquei o código assim:
[phone* your-phone 10/14 id:your-phone mask:(99)9999-9999?9]
Com esse formato, fica um sublinhadoopcional no fim do campo, que pode ou não ser preenchido. Somente o traço é que não vai ficar como o convencional, após o 5º dígido, mas posso viver sem isso, inclusive com a opção de eliminar o traço por enquanto. Essa solução é ótima também, porque parece-me que os números iniciados com 7 também terão 9 dígitos isso também fica resolvido. Legal seria se o último sublinhado pudesse ser de cor diferente, mas isso envolve CSS e eu sou mesmo péssimo nessa área.
Obrigado pelo plugin, que vai me ajudar muito.
Deixa ver o que fiz de errado entãoMe desculpe, Gabriel, mas como não usei o gerador de tags e me basiei pelo arquivo readme.txt, havia aplicado a máscara de forma errônia e não dera certo na 1ª vez que ativei o plugin. depois, usei masc:(99)9999-9999 e consegui que a coisa funcionasse como deve ser. Muito obrigado por esse plugin.
Uma coisa que notei, é que se estivermos com o plugin Use Google Library Javascript ativo, o plugin não funciona.
Teria alguma possível solução para isso, por favor?
Também li que ele somente vai mascarar um campo de telefone. Qual a possibilidade de se trabalhar com mais campos, colocando por exemplo, phone1 phone2, com um outro name para o campo 2, 3, etc…?
Por conta das tarifas de operadora, a maioria dos usuários costuma ter pelo menos 2 números diferentes, sem falar do celular e do fixo.
Quero me organizar para fazer uma pequena doação a você, pois o trabalho ficou muito bomm mesmo.
abraços e me desculpe pela atrapalhação inicial no uso da tag da máscara.
Olá!
Testei o seu módulo para formatar telefone no Contact Form 7, mas não resolveu meu problema, pois como por muito tempo teremos que conviver com telefones de 8 ou 9 dígitos, não posso me dar ao luxo de optar por uma máscara ou outra. A coisa teria que ser automática. Quando se digitasse 9 dígistos, ele colocar traços de 3 em 3 números ou após o 5º dígito e quando fossem 8, os números dititadosdígitadosdigitados, então ele colocaria o traço após o 4º dígito, pois nunca sei se o número do usuário será de um celular de São Paulo ou não. Também pode-se optar por não colocar traço algum e apenas deixar o DDD entre parênteses.
Mas no link abaixo se tem uma possível solução para isso:
http://www.100loop.com/destaque/mascara-para-telefone-em-javascript/
Obrigado.
Olá Locutor Antonio Cezar,
Obrigado por comentar sobre o plugin.
Entretanto não entendo tua colocação, pois o plugin seleciona automaticamente a máscara.
Se colocares algum número iniciado (11)9 é acionada a máscara (11)999-999-999, caso o número seja diferente então é utilizada a máscara (99)9999-9999.
Note que as máscaras podem ser definidas pelo usuário, se desejas uma máscara diferente, tipo (11) 9999-99999 podes usar.
Abraços,
Gabriel