Formulário de contato 7- Valores de upload de vários arquivos como links no e-mail

Ficar de pé

Estou usando o 'Formulário de contato 7 para carregar e soltar arquivos - Upload de vários arquivos' ( https://codecanyon.net/item/contact-form-7-drag-and-drop-files-upload-multiple-files-upload / 20683653 ) plugin no meu formulário. Os uploads podem ser muito grandes, então não quero anexá-los ao e-mail, mas sim ter links para os arquivos carregados no e-mail.

Eu removi a tag do campo de anexo de e-mail e a adicionei no corpo do e-mail, com a esperança de que gerará os links do arquivo enviado:

 <p><strong>IMAGES</strong><br/><br/>[dropfiles-291]</a></p>

Mas ele exibe apenas os nomes dos arquivos separados por um "|". por exemplo: 'imagename1.jpg | imagename2.jpg | imagename3.jpg | imagename4.jpg'.

Depois de alguma pesquisa, encontrei este código dentro do código do plugin de arrastar e soltar:

add_filter('wpcf7_mail_tag_replaced_dropfiles', array($this, 'wpcf7_mail_tag_replaced'), 100, 3);

function wpcf7_mail_tag_replaced($text, $submitted, $html ){
    $upload_dir   = wp_upload_dir();
    $datas = explode("|",$text);
    $url = $upload_dir["baseurl"]."/cf7-uploads-save/";
    $text_custom = array();

    foreach ($datas as $value) {
        $text_custom[] = $url.$value;
    }
    if($html){
        return implode(" <br>", $text_custom);
    }else{
        return implode(" | ", $text_custom);
    }           

}

Eu não sou um desenvolvedor de php, mas o código me parece que deveria envolver os arquivos carregados com um link no e-mail. Hoever, não funciona. E depois de uma extensa pesquisa online, mudei o código para:

add_filter('wpcf7_mail_tag_replaced', array($this, 'wpcf7_mail_tag_replaced_dropfiles'), 100, 3);

function wpcf7_mail_tag_replaced_dropfiles( $text, $submitted, $html ){        

    $upload_dir = wp_upload_dir();
    $datas = explode("|",$text);
    $url = $upload_dir["baseurl"]."/cf7-uploads-save/";
    $text_custom = array();

    foreach ($datas as $value) {
        $text_custom[] = $url.$value;
    }
    if($html){
        return implode(" <br>", $text_custom);}
        else{return implode(" | ", $text_custom);}               

}

O email agora tem o efeito de link desejado, mas em TODOS os campos enviados no formulário, não apenas nos campos [dropfiles]. Os campos [dropfiles] ficam ótimos com cada link de arquivo enviado em uma nova linha, etc. Mas eu, obviamente, também não quero que os campos normais de texto, área de texto, caixa de seleção, rádio etc. também sejam links.

Enviei um tíquete de suporte ao desenvolvedor do plug-in, mas ainda não tive nenhuma resposta. Que abordagem posso adotar para fazer isso funcionar?

Ficar de pé

Eu encontrei uma solução temporária - apenas até obter uma solução permanente do desenvolvedor do plugin. Mudei o código da seguinte maneira:

add_filter('wpcf7_mail_tag_replaced', array($this, 'wpcf7_mail_tag_replaced_dropfiles'), 100, 3);

function wpcf7_mail_tag_replaced_dropfiles( $text, $submitted, $html ){        
if(preg_match('/\.(jpg|png|jpeg|gif)$/', $submitted))  {
    $upload_dir = wp_upload_dir();
    $datas = explode("|",$text);
    $url = $upload_dir["baseurl"]."/cf7-uploads-save/";
    $text_custom = array();

    foreach ($datas as $value) {
        $text_custom[] = $url.$value;
    }
    if($html){
        return implode(" <br>", $text_custom);}
        else{return implode(" | ", $text_custom);}               
    } 

    return $text; 
}

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Formulário de contato 7 opção padrão imprimir como valor selecionado no e-mail

Como incluir <? Php echo $ page; ?> dentro do formulário de contato 7 e-mail no wordpress

Como definir o estilo do botão de upload de arquivo "Pesquisar computador" para o Formulário de contato 7 por e-mail?

Como fazer upload de vários arquivos json e dados de formulário para o serviço de descanso

Formulário de contato - nome do usuário e e-mail fornecido como 'desconhecido'

como resolver o erro de envio de e-mail do formulário de contato

Qual link devo especificar para enviar anexo no formulário de contato de e-mail 7

Qual link devo especificar para enviar anexo no formulário de contato de e-mail 7

Qual link devo especificar para enviar anexo no formulário de contato de e-mail 7

O envio de e-mail do formulário de contato 7 não está funcionando

Plugin de upload de arquivo jQuery, vários arquivos e dados de formulário

Anexar arquivo dinamicamente ao formulário de contato 7 e-mail

Imagem do formulário de contato 7 no corpo do e-mail img tag

Adicionar HTML ao formulário de contato 7 e-mail ao enviar

Formulário de contato 7 mostrando mensagem enviada, mas não recebendo e-mail

Formulário de contato por e-mail sem PHP

Como envio os envios de formulários de contato do ApostropheCMS por e-mail?

Como administrar arquivo .env para receber e-mail em formulário de contato no laravel?

Como enviar um Formulário de Contato sem enviar e-mail?

Formulário de contato 7 - Como ocultar o campo de e-mail no código-fonte / ferramentas de desenvolvimento de maneira adequada?

Como devo capturar corretamente os valores do formulário enviado com o Formulário de Contato 7 (wp)?

Formulário Google: como salvar o upload de vários arquivos em uma pasta específica?

usando Blueimp jQuery-File-Upload com wordpress e formulário de contato 7 upload de arquivo

Como habilitar validações ajax no formulário de contato 7

Como incluir JS no Formulário de Contato 7 no Wordpress

Como validar o formulário de contato 7 Enviar

Como adicionar várias classes ao formulário de contato 7 botão de envio

Como evitar que o Formulário de Contato 7 envie e-mails

Formulário de contato 7 - Vários campos de texto na mesma linha