­
Como ativar a Webcam usando javscript

Como ativar a Webcam usando javscript

Estava desenvolvendo um projeto de cadastro de despachantes utilizando meu queridinho WordPress, e uma das informações necessárias para a realização do cadastro era uma foto 3X4 que seria tirada na hora do cadastro, ou seja, teria que usar uma Webcam. Sem mais delongas, abaixo mostrarei a função que usei para ativar a Webcam.

HTML

Você pode usar as classes e Ids que quiser. A webcam irá reproduzir na tag <video>, a <img> eu usei para mostrar um preview da imagem que será gerada pela captura da webcam, e o input é onde eu vou colocar o base64 que vou usar para gerar uma imagem no PHP quando eu der submit no <form>.

 <div class=”content-photo”>

                <label>Foto 3×4</label>

                <video autoplay=”true” id=”webCamera”></video>  

                <img id=”imagemConvertida”/>

                <input  type=”hidden” id=”base_img” name=”agent_base_img”/>

            </div>

            <button type=”button” class=”cameratools”><i class=”fas fa-camera”></i>Abrir câmera</button>

JAVASCRIPT
Eu usei o mesmo botão para ativar a webcam e para capturar a imagem, então eu primeiro verifico se o botão está ativo ou não. Se estiver ativo o botão irá capturar a imagem, se não irá abrir a webcam.

 $(‘.cameratools’).on(‘click’, function(){

        if($(this).hasClass(‘active’)){//Captura a imagem

            $(this).removeClass(‘active’);     

             var video = document.querySelector(“#webCamera”);

            //Criando um canvas que vai guardar a imagem temporariamente

            var canvas = document.createElement(‘canvas’);

            canvas.width = video.videoWidth;

            canvas.height = video.videoHeight;

            var ctx = canvas.getContext(‘2d’);

            //Desenhando e convertendo as dimensões

            ctx.drawImage(video, 0, 0, canvas.width, canvas.height);

            //Criando o JPG

            var dataURI = canvas.toDataURL(‘image/jpeg’); //O resultado é um BASE64 de uma imagem.

            document.querySelector(“#base_img”).value = dataURI;

            document.querySelector(“#imagemConvertida”).src = dataURI;

            $(‘#imagemConvertida’).show();

            $(‘#webCamera’).hide();

            $(this).html(‘<i class=”fas fa-camera”></i>Abrir câmera’);

        }else{//Abre a webcan

            $(this).addClass(‘active’);

            //Captura elemento de vídeo

            var video = document.querySelector(“#webCamera”);

            $(‘#webCamera’).show();

            $(‘#imagemConvertida’).hide();

            $(‘#imagemConvertida’).attr(‘src’,”);

            $(‘#base_img’).val(”);

            //As opções abaixo são necessárias para o funcionamento correto no iOS

            video.setAttribute(‘autoplay’, ”);

            video.setAttribute(‘muted’, ”);

            video.setAttribute(‘playsinline’, ”);

            //Verifica se o navegador pode capturar mídia

            if (navigator.mediaDevices.getUserMedia) {

                navigator.mediaDevices.getUserMedia({audio: false, video: {facingMode: ‘user’, height: 227, width: 227}})

                .then( function(stream){

                    //Definir o elemento vídeo a carregar o capturado pela webcam

                    video.srcObject = stream;

                })

                .catch(function(error) {

                    alert(“Você precisa ter uma câmera instalada no seu computador.”);

                });

            };

            $(this).html(‘<i class=”fas fa-camera”></i>Tirar foto’);

        }

    });

PHP

Aqui é onde eu gero a imagem através do base64 e salvo ela na pasta uploads.

if($_POST[‘agent_base_img’] != ”){
        $data = str_replace(” “,”+”,$_POST[‘agent_base_img’]); //O envio do dado pelo XMLHttpRequest tende a trocar o + por espaço, por isso a necessidade de substituir. 

        $name = md5(time().uniqid()); //Dou um nome aleatório para o arquivo
        $dir = wp_upload_dir();//Pego as urls dos diretórios do wordpress

        $path = $dir[‘path’].”/{$name}.jpg”;//Url wordpess

        $fileurl = $dir[‘url’].”/{$name}.jpg”;//Url da imagem no site

        $data = explode(‘,’, $data);

        //Save data

     $result = file_put_contents($path, base64_decode(trim($data[1])));//Cria a imagem

        if($result != ”){ //Se criou salva a URL da imagem num campo personalizado

update_post_meta($post_id,’imagem’,$fileurl);

        }    

    }

Agora você já sabe como executar a webcam, capturar uma imagem com ela e salvar ela no seu banco de dados. Espero ter ajudado e até a próxima.

READ MORE

Limite de Variações woocommerce

Você pode não estar sabendo, como eu não sabia, mas quando você cria as variações de forma automática e tem mais de 50 possibilidades, os vínculos acabam não acontecendo. 

Então, quando você vai na página do produto e seleciona um atributo, ele não filtra os outros que deveriam estar vinculados mesmo estando cadastrados no produto. O QUE EU FIZ DE ERRADO?  Calma, você não fez nada. O que acontece é que o woocommerce, para evitar derrubar o seu servidor por passar do limite de tempo, atualiza apenas 50 variações por “rodada”. Então, se você tem mais de 50 variações no produto, os vínculos não vão acontecer.

Mas, como o woocommerce é camarada, ele tem um filtro maroto para aumentar esse limite de updates: 

function custom_wc_ajax_variation_threshold( $qty, $product ) {
    return 200; (você pode colocar a quantidade máxima desejada aqui)
}
add_filter( 'woocommerce_ajax_variation_threshold', 'custom_wc_ajax_variation_threshold', 100, 2 );

Coloque esse código no arquivo functions.php do seu site e seja feliz.

Deixa um comentário para o adm se consegui te ajudar, e até a próxima.

READ MORE

Remarketing: o que é e como funciona?

Talvez você não tenha ouvido falar de remarketing, mas, com certeza, você já foi atingido por ele. Sabe aqueles e-mails que recebemos após fazer um compra ou deixar um produto no carrinho? Então, isso é remarketing! Mas como ele funciona?

O remarketing é uma estratégia do marketing digital usada para atingir, mais de uma vez, uma pessoa que demonstrou interesse no nosso produto. De acordo com o Google Adwords, apenas 3% dos visitantes de um e-commerce faz uma conversão, como uma compra, na primeira visita. É aí que entra o remarketing. Essa estratégia é utilizada para relembrar aquele cliente, por exemplo, que não realizou a compra do produto que ele queria. Dessa forma, fica mais fácil dar aquele “empurrãozinho” para ele comprar.

Para que você possa fazer isso, o remarketing funciona como o e-mail marketing. Você precisa fazer uma lista com diferentes tipos de visitantes ou clientes. Por exemplo:

  • Clientes que compraram até um determinado valor;
  • Visitantes que se inscreveram na News Letter;
  • Visitantes que baixaram um e-book.

Além disso, cada público que você escolher deve receber um tipo diferente de e-mail, afinal, o público que já comprou não será atingido da mesma forma do que aquele que apenas visita o seu site e lê o seu blog.

Ok, mas o remarketing não são aqueles anúncios que aparecem no Instagram, Facebook ou outros sites que visitamos? Não, esse tipo de estratégia se chama retargeting! É muito comum que ambos sejam confundidos, já que o Google chama a sua ferramenta de retargeting de “Remarketing”, mas eles são diferentes. O retargeting tem como finalidade atingir pessoas que demonstraram interesse nos seus produtos usando anúncios pagos. A palavra “targeting”, traduzindo do inglês, significa “mirando”. Ou seja, “miramos” novamente num possível consumidor.

Então, o retargeting seria como esses anúncios que já usamos? Não. O retargeting é muito mais focado, já que ele costuma atingir apenas aquelas pessoas que já entraram no seu site! Mas como ele é feito? Sabe aqueles “cookies” que já cansamos de aceitar em sites? Eles são tipo um sinalizador. Os cookies ficam armazenados no computador do visitante e, quando ele visitar outro site, o Google vai identificar o cookie e exibir os anúncios nesse outro site ou em redes sociais.

Tanto o remarketing, quanto o retargeting, podem ser ótimas estratégias de marketing para conseguir mais conversões! Não deixe de utilizá-las. Se você já as utiliza ou foi atingida por elas, conta a sua experiência com essas estratégias nos comentários! Adoraríamos saber.

READ MORE
Como funciona e como usar o Call To Action?

Como funciona e como usar o Call To Action?

Com os sites, redes sociais e um aumento de consumo de conteúdo na internet, novos termos surgem para o marketing. Um desses novos termos é o “Call to Action” e é sobre ele que falaremos hoje.

O “Call To Action”, traduzido literalmente como “chamada para ação”, é um método usado para gerar engajamento e clicks em posts de redes sociais, como o Instagram, e blogs. É importante lembrar que o CTA é um método visual, ou seja, é preciso uma imagem ou um ícone para ser chamado de “Call To Action”.

Ao fazer o CTA, conseguimos elevar o nosso SEO, já que, quanto mais engajamento tivermos, mais somos vistos como relevantes pelo Google. Além de ajudar nessa parte, o CTA também nos ajuda a levar o cliente para novos estágios do Funil de Vendas. De maneira resumida, o cliente que está no Topo do Funil não vai entender um conteúdo mais avançado oferecido pela sua empresa, já que ele está no estágio inicial, então, você deve oferecer um conteúdo mais simples e, à medida que ele vai passando para um novo estágio do funil, o conteúdo vai, também, ficando mais complexo, levando-o para a decisão de compra, ou seja, uma ação.

O Call To Action faz uso de um conceito bastante conhecido no marketing, o qual se chama “AIDA“. O que seria isso? Até o momento em que o cliente toma uma decisão (ação), ele passa por várias etapas:

Atenção: nessa parte, chamamos a atenção do cliente para que ele continue na nossa página.

Interesse: agora que temos a atenção do cliente, ele terá a primeira impressão e decidirá se vai procurar mais sobre o que você está oferecendo.

Desejo: depois do interesse despertado, o cliente fará uma análise do que você está oferecendo, procurando os benefícios da oferta.

Ação: enfim, agora que ele já analisou e tomou a sua decisão, uma ação será tomada.

Agora, como fazer um ótimo Call To Action? A gente te ensina!

Aposte nas cores!

As cores são uma parte imprescindível do Call To Action, afinal, são elas que chamarão a atenção do seu visitante. Então, não adiantará fazer um bom CTA se a cor não for atrativa.

Os botões que chamarão para a ação devem ser coloridos e ter um contraste, lembre-se disso.

Seja direto!

É importante ter um texto também atrativo e que seja sem enrolações. Fale exatamente o que você quer que o seu visitante ou cliente faça, sem rodeios. Além disso, é importante fazer uso dos gatilhos e fazer o visitante sentir que necessita daquele conteúdo ou produto naquele momento. Já falamos um pouco dos gatilhos aqui.

Facilite o seu CTA

A posição do CTA precisa estar de fácil acesso e visualização, escolha um local em que o botão ou ícone seja facilmente visto pelo visitante não só na versão desktop do blog, mas também na versão mobile.

Segue o nosso exemplo: aqui, no site da Tok Digital, nós colocamos o botão do CTA num lugar acessível para o nosso visitante, com um cor chamativa e deixando claro o que deve ser feito: “Solicitar Orçamento”.

Há alguns outros “tipos” de Call To Action que são os mais comuns. Talvez você já até os faça, mas não sabia até agora. Confira:

  • Um dos tipos de CTA é o pedido de compartilhamento, curtida e comentários. Essa estratégia pode ser usada para aumentar o engajamento dos seus conteúdos, já que quanto mais as pessoas curtem, compartilham, salvam e comentam, mais o seu conteúdo é visto como relevante.
  • Outro tipo, também muito usado, é o direcionamento para outros artigos presentes no site. Essa parte de direcionamento é bastante importante para o funil de vendas, já que é assim que o visitante ou cliente vai passando para um novo estágio.
  • O pedido de participação de um evento da empresa também é um CTA. Por exemplo, na Cervejaria Imbé, toda sexta, acontece uma live com música. Então, a Cervejaria Imbé, além de convidar seus clientes a ouvirem música, também oferecem a entrega da cerveja por delivery, com o CTA “Peça e receba em casa”.

Como você usa o Call To Action no seu site? Conta pra gente. Se ficou com alguma dúvida, entre em contato com a Tok Digital e ajudaremos você.

READ MORE
Neuromarketing: o que é?

Neuromarketing: o que é?

O neuromarketing pode ser um método muito eficaz para o seu negócio! Mas você sabe o que é esse método? O neuromarketing, basicamente, é como o próprio nome diz: um método de marketing que faz uso da neurociência, ou seja, como o cérebro reage a certas práticas do marketing.

Como o neuromarketing funciona?

O neuromarketing atinge aquela parte do cérebro que não temos controle, o subconsciente e é no subconsciente que, na maioria das vezes, tomamos a decisão de compra. Para que isso ocorra, existem algumas maneiras de provocar o subconsciente do seu cliente. Confira algumas:

A teoria das cores

As cores costumam afetar muito o nosso psicológico. Um exemplo muito famoso é o amarelo, que pode nos dar fome e, por isso, é usado por redes de fast food. Outro exemplo é o roxo, ele dá uma sensação de inovação e inteligência, não é à toa que o NuBank abusa dessa cor.

Gatilhos

Gatilhos são recursos que provocam no usuário sentimentos, vindos do subconsciente, e o fazem tomar a decisão de compra.

Um exemplo disso é quando a empresa mostra que o estoque de um produto vai acabar, isso faz com que o usuário sinta que precisa comprar logo para não ficar sem o produto.

Outra forma de usar gatilhos é fazer o cliente sentir que aquele produto é exclusivo, oferecendo produtos sazonais ou até edições especiais diferenciadas com quantidades limitadas, o que, consequentemente, fará ele se sentir único.

Ou seja, os gatilhos fazem o cliente ter uma sensação de necessidade de consumo.

Ancoragem de preços

O nosso cérebro consegue, muitas vezes, apenas pensar no preço de um produto comparando com um outro produto igual. Segue esse exemplo com a gente: se você for num fast food, terá três opções de batata: uma pequena, uma média e uma grande, certo? O que, naturalmente, fazemos é comparar os preços entre elas. Normalmente, a empresa vai querer vender a pequena, já que essa é a que vai mais dar lucro.

Storytelling

Por fim, mas não menos importante: o storytelling! Hoje, o consumidor acaba não se vendo mais tão tocado por uma publicidade direta ao ponto, ele prefere que seja usada uma narrativa subjetiva que não envolve o produto diretamente. Dessa forma, o consumidor acaba criando uma conexão emocional com o produto.

Você já conhecia o neuromarketing? Conta aqui pra gente!

READ MORE
Como usar o SEO no seu blog?

Como usar o SEO no seu blog?

O SEO é uma ferramenta muito importante para conseguir levar seu conteúdo para mais pessoas e, também, para a primeira página do Google. Mas, antes de tudo, vamos entender como o SEO surgiu?

Foram as ferramentas de buscas que deram origem ao SEO. A primeira ferramenta de busca surgiu em 1993, que tinha como nome Architext. No ano seguinte, surgiu o Yahoo e, em 1997, o Google. O Google foi criado tendo como objetivo “organizar a internet”, fazendo uso de estrutura de links para saber o quão relevante uma página é de acordo com a busca do usuário. Foi também em 1997 que o termo SEO surgiu. Quando os criadores do Google incluíram novas meta keywords ou, como chamamos hoje, tags num determinado site, o site voltou para a primeira página e, a partir daí, essa técnica foi chamada de SEO – Search Engine Optmization ou Motor de Otimização de Busca. Enquanto o Google não era tão popular, essa técnica era mais voltada para otimizações on-page, como repetição de palavras-chaves, mas, hoje, a repetição de palavras-chaves já não é mais vista de uma maneira positiva. Além disso, o Google faz uso de outras ferramentas off-page também, como a citação do site em outras páginas de conteúdo.

Vamos falar do uso do SEO em blogs agora? Primeiro de tudo, o próprio Google propõe que, ao produzir conteúdo para blog, você tem que esquecer o Google. O SEO, hoje, foca na experiência do leitor e no quanto aquele conteúdo vai ser útil e confiável para ele. Bom… temos que esquecer e lembrar dele ao mesmo tempo. Até porque é o Google que vai “selecionar” quais são os melhores conteúdos e precisamos saber, de certa forma, quais ferramentas ele usa para tal.

Na hora de produzir algum conteúdo, precisamos pensar mais na intenção do leitor. É a intenção dele que vai levá-lo até um texto de blog, página de vendas etc. Por exemplo, “jardinagem” não tem intenção, mas “dicas para jardinagem” ou “como iniciar na jardinagem” já tem intenção. As palavras-chaves também são importantes, porque são elas que vão guiar a página até o leitor e, consequentemente, vai ser bom para o Google. Também é a partir da intenção do leitor que as palavras-chaves deverão ser escolhidas, portanto, é importante fazer uma busca de quais devemos usar. Sabendo da intenção, vai ter mais cliques, o que vai ser importante também para o SEO do Google. Os cliques e o tempo que o leitor passa no site são bastante influentes no SEO, pois irão demonstrar para o Google o quanto o seu conteúdo é relevante e útil para quem o consome. Não esqueça que o título também faz muita diferença, visto que ele que vai chamar a atenção do leitor na página de busca e, junto do título, a meta-descrição, já que ela aparece logo abaixo do título, como se fosse um “resumo”.

Assim sendo, lembre-se de duas coisas ao usar o SEO no seu blog: a intenção que seu leitor vai ou pode ter ao buscar o seu post e faça bom uso das palavras-chave.

READ MORE

Marketing Digital e a Pandemia

Em meio a pandemia e a uma quarentena, muitas lojas tiveram que fechar as portas, na tentativa de manter a saúde de seus clientes. Por conta disso, muitos comércios optaram pelo e-commerce e por uma estratégia de Marketing Digital. Segundo uma pesquisa da Exame, as compras pela internet aumentaram 40% nessa pandemia, o que resulta em mais um ponto positivo para investir em e-commerce e Marketing Digital.

Então, que tal adotar uma nova estratégia para seu negócio? O Marketing Digital faz uso de ferramentas que podem alcançar vários públicos digitalmente, usando, por exemplo, posts em redes sociais e blogs, sempre pensando no cliente e no engajamento. É a partir do Marketing Digital que o cliente terá novas experiências, estreitando a relação entre a marca e o cliente.

Já o e-commerce ajudará nas compras a distância, tão valorizadas em meio a essa crise. Será o e-commerce que poderá manter seu negócio de pé. Outra opção interessante é antecipação de vendas, já adotada por algumas marcas, que consiste na compra antecipada de um produto, no qual o cliente poderá retirar depois, quando tudo ficar bem.

Além disso, é importante que a marca mantenha contato com o cliente, expondo sua opinião, seu posicionamento sobre a crise, assim como, tentando, na medida do possível, deixar seus clientes saber como tudo ficará bem em breve e que logo todos estarão juntos novamente.

Se você tiver dúvidas sobre o uso de Marketing Digital ou está pensando em contratar uma agência de Marketing Digital, conte com a Tok Digital! Entre em contato e o ajudaremos.

READ MORE

Como criar um lightbox

É muito comum que sites que possuem galeria de fotos precisem de um lightbox para poder ver melhor as fotos. Existem muitos plugins pra isso, mas plugins podem dar problemas ao longo do tempo. Então criei um lightbox simples, que você pode personalizar como quiser.
Na página onde você possui a galeria de fotos, no meu caso a galeria fica na single-product.php, vamos colocar este código html:

<div class="lightbox-product">
    <a class="btn-blue prev-photo"><i class="fas fa-caret-left"></i></a>
        <div class="content-light-img">
            <a class="btn-blue close-light"><i class="fas fa-times"></i></a>
            <img>
        </div>
    <a class="btn-blue next-photo"><i class="fas fa-caret-right"></i></a>
</div>

E no arquivo JS vão os códigos:
– Esse bloco pega as informações da foto clicada, pego o src da imagem e o id e coloco na tag <img> que está dentro do ‘content-light-img’;

   $('.thumbnail-principal').on('click', function(){
       var src =  $('.thumbnail-principal .slick-current').attr('src');
       var id =  $('.thumbnail-principal .slick-current').attr('id');
        $('.lightbox-product img').attr('src',src);
        $('.lightbox-product img').attr('id',id);
         $('.lightbox-product').fadeIn();
         $('.lightbox-product').css('display','flex');
    });

– Este código é o do botão que passa para a próxima foto, pegamos o id da foto atual dentro do lightbox e contamos a quantidade de fotos dentro do container, se o id for igual a quantidade de fotos voltamos para 1 senão soma-se mais 1 ao id.  Com o resultado dessa soma pegamos as informações da próxima foto.

    $('.next-photo').on('click', function(){
        var id = $('.lightbox-product img').attr('id');
        var photos = $('.thumbnail-principal .slick-slide').length;
        if(id == photos){
            var result = 1;
        } else {
            var result = parseInt(id) + 1;
        }
        var value_result = $('.thumbnail-principal .slick-slide#'+result).attr('src');
        $('.lightbox-product img').attr('src',value_result);
        $('.lightbox-product img').attr('id',result);
    });

 
– Esse código é do botão que volta uma foto, como no botão next pegamos todas as informações da foto que está no lightbox só que ao contrário do outro subtraímos 1 do id, e quando id for igual a 1 dizemos ao contador que ele é igual a quantidade de fotos dentro do container.

    $('.prev-photo').on('click', function(){
        var id = $('.lightbox-product img').attr('id');
        var photos = $('.thumbnail-principal .slick-slide').length;
        if(id == 1){
            var result = photos;
        } else {
            var result = parseInt(id) - 1;
        }
        var value_result = $('.thumbnail-principal .slick-slide#'+result).attr('src');
        $('.lightbox-product img').attr('src',value_result);
        $('.lightbox-product img').attr('id',result);
    });

– E por ultimo esse código que fecha o lightbox;

    $('.close-light').on('click', function(){
        $('.lightbox-product').fadeOut();
    });

E esse foi o resultado:
lightbox
Nesse lightbox eu usei os efeitos de Fade do javascript, mas você pode animar da forma que achar melhor.
Espero ter ajudado, e até a próxima!

READ MORE
widget

Criando área de widget

O que seria a área de widget? Bom, ela pode ser seu sidebar ou um menu no rodapé da página por exemplo, você decide. Eu usei como sidebar no site em que estava desenvolvendo.
Para adicionar a área de widget usamos a função abaixo:

function widgets_novos_widgets_init() {
                 register_sidebar( array(
                                'name' => 'Sidebar',
                                'id' => 'sidebar_widgets',
                                'before_widget' => '<div class="sidebar">',
                                'after_widget' => '</div>',
                                'before_title' => '<h2>',
                                'after_title' => '</h2>',
                 ) );
 }
 add_action( 'widgets_init', 'widgets_novos_widgets_init' );

Ela vai aparecer no painel do wordpress em Aparência > Widgets, assim:
result
Para mostrar o widget na página desejada usamos a seguinte função:

dynamic_sidebar('sidebar_widgets');

Em ‘sidebar_widgets’ vai o id que você deu ao seu widget.
Espero ter ajudado, e até a próxima.

READ MORE
Ajax – 400 bad request

Ajax – 400 bad request – Como resolver?

Estava eu desenvolvendo meu projeto quando preciso fazer uma requisição via ajax e apareceu esse erro, e agora? Bom, como todo programador fui atrás de uma solução.
No meu arquivo functions.php coloquei a seguinte função:

add_action('wp_footer', 'eps_footer');
 function eps_footer() {
     echo "<script>var ajax_request_url = '".admin_url( 'admin-ajax.php' )."'</script>";
 }

E não resolveu todo o problema, começou a dar o erro 500 – internal server error, e comecei a pensar, por que não fiz Ed. Física?
Por fim a solução para esse erro era muito simples, eu tinha esquecido de dar o include do arquivo ajax.php no arquivo functions.php.
NÃO ESQUEÇAM DE DAR INCLUDE DO SEU ARQUIVO AJAX.
Espero ter ajudado, e até a próxima!
 

READ MORE
Conteúdo acessível em Libras usando o VLibras Widget com opções dos Avatares Ícaro, Hosana ou Guga. Conteúdo acessível em Libras usando o VLibras Widget com opções dos Avatares Ícaro, Hosana ou Guga.