Já rolou um post longo de blog do WordPress ou uma página de produto no seu celular, apenas para perceber que precisava deslizar tudo de volta para encontrar o menu? Seus visitantes podem sentir o mesmo.
Em páginas mais longas, essa pequena inconveniência pode rapidamente se transformar em frustração. E alguns podem simplesmente sair do seu site WordPress em vez de voltar.
Um botão suave de rolar para o topo pode ajudar você a corrigir isso instantaneamente. Esse recurso oferece aos leitores uma maneira rápida de voltar para cima, o que pode mantê-los engajados e incentivá-los a explorar mais do seu site.
Neste guia, compartilharemos exatamente como adicionar um efeito suave de rolar para o topo no WordPress usando jQuery. Não se preocupe, é mais simples do que você imagina! 💡

O que é Rolagem Suave e Quando Usá-la?
Rolagem suave é um efeito de navegação que move a página para cima ou para baixo em um movimento constante e fluido, em vez de saltar instantaneamente para uma seção. Você deve usá-la quando quiser oferecer aos usuários uma maneira menos brusca de navegar em páginas longas, especialmente para recursos como botões "voltar ao topo".
A menos que o site tenha um menu de navegação fixo, os usuários que rolam até o final de um post ou página longa do WordPress precisam deslizar ou rolar manualmente de volta para o topo para navegar no site.
Isso pode ser um verdadeiro incômodo e, muitas vezes, os usuários simplesmente apertarão o botão de voltar e sairão. É por isso que você precisa de um botão para enviar rapidamente os usuários para o topo do post ou página.
Normalmente, você pode adicionar essa funcionalidade como um simples link de texto sem usar jQuery, assim:
<a href="#" title="Back to top">^Top</a>
Isso enviará os usuários para o topo, rolando toda a página em milissegundos. Funciona, mas o efeito pode ser chocante, meio que quando você bate em um buraco na estrada.
Um scroll suave é o oposto disso. Ele deslizará o usuário de volta para o topo com um efeito visualmente agradável. Usar elementos como este pode drasticamente melhorar a experiência do usuário em seu site.
Com isso em mente, compartilharemos dois métodos para adicionar um efeito suave de scroll para o topo em seu site WordPress usando um plugin e jQuery. Aqui está uma visão geral rápida de todas as coisas que abordaremos neste guia:
- Dica 1: Adicionando um Efeito Suave de Scroll para o Topo Usando um Plugin do WordPress (Fácil)
- Dica 2: Adicionando Efeito Suave de Scroll para o Topo com jQuery no WordPress (Avançado)
- Dica Bônus: Outros Efeitos Sutis de Animação para Manter os Visitantes Engajados
- FAQs: Adicionando um Efeito de Scroll para o Topo no WordPress Usando jQuery
- Leitura Adicional: Mais Recursos Sobre Temas do WordPress
Sem mais delongas, vamos começar com o primeiro método.
Adicionando um Efeito Suave de Scroll para o Topo Usando um Plugin do WordPress
Este método é recomendado para iniciantes, pois permite que você adicione um efeito de scroll para o topo a um site WordPress sem tocar em uma única linha de código.
A primeira coisa que você precisará fazer é instalar e ativar o plugin WPFront Scroll Top. Se precisar de ajuda, consulte nosso guia sobre como instalar um plugin do WordPress.
Após a ativação, você pode ir em Configurações » Scroll Top no seu painel do WordPress. Aqui, você pode configurar o plugin e personalizar o efeito de rolagem suave.
A partir daqui, a primeira coisa que você precisará fazer é clicar na caixa de seleção ‘Ativado’ para ativar o botão de rolagem para o topo em seu site. Em seguida, você verá opções para editar o deslocamento da rolagem, o tamanho do botão, a opacidade, a duração do fade, a duração da rolagem e muito mais.

Se você rolar para baixo, encontrará mais opções, como editar o tempo de ocultação automática e ativar a opção de ocultar o botão em dispositivos pequenos ou na tela do wp-admin.
Você também pode editar o que o botão faz quando você clica nele. Por padrão, ele rolará para o topo da página, mas você pode alterá-lo para rolar para um elemento específico na postagem ou até mesmo linkar para uma página.
Além disso, você pode ajustar a localização do botão. Embora ele normalmente apareça no canto inferior direito da tela, você tem a opção de movê-lo para qualquer outro canto.

O plugin WPFront Scroll Top oferece filtros para exibir o botão de rolagem para o topo apenas em páginas selecionadas.
Normalmente, ele aparecerá em todas as páginas do seu blog WordPress.
No entanto, você pode navegar até a seção ‘Exibir em Páginas’ e escolher onde deseja exibir o efeito de rolagem para o topo.

O plugin também oferece designs de botões pré-fabricados. Você deve ser capaz de encontrar facilmente um design que combine com seu site.
Se você não conseguir encontrar um botão de imagem pré-fabricado que funcione para você, há uma opção para fazer upload de uma imagem personalizada da biblioteca de mídia do WordPress.

Quando terminar, basta clicar no botão ‘Salvar Alterações’.
Agora você pode visitar seu site WordPress para ver o botão de rolagem para o topo em ação.

Adicionando Efeito de Rolagem Suave para o Topo com jQuery no WordPress
Antes de começarmos, observe que este método não é recomendado para iniciantes. É adequado para pessoas que se sentem confortáveis em editar temas, pois inclui a adição de código ao seu site.
Para adicionar o efeito de rolagem suave para o topo, usaremos jQuery, um pouco de CSS e uma única linha de código HTML no seu tema WordPress.
Primeiro, vamos abrir um editor de texto como o Bloco de Notas e criar um arquivo. Salve-o como smoothscroll.js.
Em seguida, você precisará copiar e colar este código no arquivo:
jQuery(document).ready(function($){
$(window).scroll(function(){
if ($(this).scrollTop() < 200) {
$('#smoothup') .fadeOut();
} else {
$('#smoothup') .fadeIn();
}
});
$('#smoothup').on('click', function(){
$('html, body').animate({scrollTop:0}, 'fast');
return false;
});
});
Este código é o script jQuery que adicionará um efeito de rolagem suave a um botão que leva os usuários ao topo da página.
Depois disso, você pode salvar o arquivo e carregá-lo na pasta /js/ no diretório do seu tema WordPress.
Para mais detalhes, consulte nosso guia sobre como usar FTP para fazer upload de arquivos para o WordPress.
💡 Observação: Não tem certeza de qual cliente FTP usar? Nossa equipe de desenvolvimento web na WPBeginner frequentemente usa o FileZilla. É uma opção confiável e gratuita para gerenciar os arquivos do seu site.
Se o seu tema não tiver um diretório /js/, você pode criar um e carregar o smoothscroll.js nele.
Você também pode ver nosso guia sobre a estrutura de arquivos e diretórios do WordPress para mais informações.
A próxima coisa que você precisa fazer é carregar o arquivo smoothscroll.js no seu tema.
Para fazer isso, vamos enfileirar o script no WordPress simplesmente copiando e colando este código no arquivo functions.php do seu tema.
No entanto, não recomendamos editar diretamente os arquivos do tema, pois o menor erro pode quebrar seu site.
Em vez disso, você pode usar um plugin como o WPCode, o melhor plugin de snippets de código para WordPress, e seguir nosso tutorial sobre como adicionar snippets de código personalizados no WordPress:
wp_enqueue_script( 'smoothup', get_template_directory_uri() . '/js/smoothscroll.js', array( 'jquery' ), '', true );
💡 Observação: Usamos o WPCode em nossos sites de negócios para criar e gerenciar snippets personalizados.
Para este tutorial, a versão gratuita do WPCode é tudo o que você precisa. No entanto, se você quiser recursos avançados como agendamento de código ou um histórico completo de revisões, você precisará do WPCode Pro. Você pode aprender mais sobre ele em nossa análise completa do WPCode.
O código acima diz ao WordPress para carregar nosso script e a biblioteca jQuery, já que nosso plugin depende deles.
Agora que adicionamos o jQuery, vamos adicionar um link real ao nosso site WordPress que leva os usuários de volta ao topo.
Para fazer isso, basta colar este HTML em qualquer lugar do arquivo footer.php do seu tema usando o WPCode.
<a href="#top" id="smoothup" title="Back to top"></a>
Se precisar de ajuda, consulte nosso tutorial sobre como adicionar código de cabeçalho e rodapé no WordPress
Você pode ter notado que o código HTML inclui um link, mas nenhum texto âncora. Isso ocorre porque usaremos um ícone de imagem com uma seta para cima para exibir um botão de voltar ao topo.
Neste exemplo, estamos usando um ícone de 40x40px. Simplesmente adicione o CSS personalizado abaixo à folha de estilo do seu tema.
Neste código, estamos usando um ícone de imagem como imagem de fundo do botão e definindo-o em uma posição fixa. Também adicionamos uma pequena animação CSS, que gira o botão quando um usuário passa o mouse sobre ele:
#smoothup {
height: 40px;
width: 40px;
position:fixed;
bottom:50px;
right:100px;
text-indent:-9999px;
display:none;
background: url("https://www.example.com/wp-content/uploads/2013/07/top_icon.png");
-webkit-transition-duration: 0.4s;
-moz-transition-duration: 0.4s; transition-duration: 0.4s;
}
#smoothup:hover {
-webkit-transform: rotate(360deg) }
background: url('') no-repeat;
}
No CSS acima, certifique-se de substituir https://www.example.com/wp-content/uploads/2013/07/top_icon.png pelo URL da imagem que você deseja usar.
Você pode fazer o upload do seu próprio ícone de imagem usando o uploader de mídia do WordPress, copiar o URL da imagem e, em seguida, colá-lo no código.
E é basicamente isso!
Dica Bônus: Outros Efeitos Sutis de Animação para Manter os Visitantes Engajados
Um botão suave de rolar para o topo é apenas uma maneira de tornar seu site mais amigável. Existem muitos outros pequenos efeitos de animação que você pode adicionar para direcionar suavemente a atenção e tornar a navegação em seu site uma experiência sem esforço.
Por exemplo, um efeito parallax faz com que as imagens de fundo se movam em uma velocidade diferente do seu conteúdo, criando uma sensação de profundidade e movimento.
É uma maneira simples de fazer suas páginas parecerem mais vivas. Para instruções passo a passo, veja nosso guia sobre como adicionar um efeito parallax.
Um efeito de alternância de pesquisa mantém as coisas organizadas, mostrando a barra de pesquisa apenas quando alguém clica no ícone. Isso ajuda seu design a parecer menos poluído, ao mesmo tempo em que facilita para os visitantes encontrarem o que precisam.

Se o seu tema ainda não tiver isso integrado, plugins como o WPCode podem ajudar. Para mais detalhes, confira nosso guia sobre como adicionar um efeito de alternância de pesquisa no WordPress.
E se você tiver uma galeria de imagens, um efeito lightbox permite que as pessoas vejam fotos em um pop-up maior e sem distrações, sem sair da página. É um pequeno detalhe, mas faz uma grande diferença para quem adora explorar seus visuais.
Além disso, plugins de galeria como o Envira Gallery facilitam a adição desse recurso. Para fazer isso, você pode consultar nosso guia sobre como adicionar uma galeria no WordPress com efeito de lightbox.
Esses toques não são apenas "agradáveis de ter"; eles mostram aos visitantes que você pensou na experiência deles. Isso pode torná-los mais propensos a permanecer e explorar. 🕵️
FAQs: Adicionando um Efeito de Rolagem para o Topo no WordPress Usando jQuery
Antes de terminarmos, aqui estão algumas perguntas comuns que os leitores têm sobre como adicionar um botão de rolagem para o topo no WordPress.
Um botão de rolagem para o topo é necessário para todos os sites?
Nem sempre. Mas é uma adição inteligente para páginas com muito conteúdo. Em posts de blog longos ou tutoriais, ele poupa os visitantes do incômodo de rolar tudo de volta para cima, o que torna a experiência de navegação deles mais agradável.
Adicionar um botão de rolagem para o topo vai deixar meu site mais lento?
Não deveria. O método de plugin é leve e otimizado para desempenho, e o trecho de código jQuery é minúsculo. Portanto, não terá nenhum impacto perceptível na velocidade do seu site.
Onde é o melhor lugar para colocar o botão de rolar para o topo?
A maioria dos sites o coloca no canto inferior direito da tela. Esse local o mantém visível e de fácil acesso sem distrair o conteúdo principal.
Posso usar um link de texto em vez de uma imagem para o meu botão?
Com certeza. Tanto o método de plugin quanto o de código personalizado podem ser configurados com um simples link de texto “Voltar ao Topo” em vez de um ícone. O plugin oferece essa opção pronta para uso, e com o método de código, você apenas ajusta o HTML e o CSS para combinar com seu estilo.
Leitura Adicional: Mais Recursos Sobre Temas do WordPress
Esperamos que este artigo tenha ajudado você a adicionar um efeito suave de rolar para o topo em seu site usando jQuery. Quer se aprofundar em temas do WordPress? Estes recursos irão ajudá-lo:
- Temas WordPress Mais Populares e Melhores
- O Que Acontece Quando Você Troca Seu Tema do WordPress?
- Coisas que VOCÊ DEVE FAZER Antes de Mudar Temas do WordPress
- O Que É um Framework de Tema do WordPress e Quais São os Melhores Frameworks de Tema?
- Como Personalizar Seu Tema do WordPress
- Como Encontrar Quais Arquivos Editar em um Tema WordPress
- Como Usar o Personalizador de Temas do WordPress Como um Profissional
- Um Guia Completo para Iniciantes sobre Edição de Site Completo no WordPress
Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.


Olaf
Este pequeno ícone é ótimo para soluções de desktop, onde os usuários precisam rolar muito para voltar ao topo. É um detalhe agradável, e eu pessoalmente gosto dele. Em dispositivos móveis, o propósito é um tanto perdido, pois o deslizamento rápido está disponível e, às vezes, o botão simplesmente atrapalha. O plugin mencionado no artigo é um dos poucos no repositório do WordPress que funciona verdadeiramente em todos os lugares e como deveria. Eu o recomendo e ocasionalmente o uso. No entanto, com base na minha experiência, sugiro desativá-lo especificamente em dispositivos móveis.
Dennis Muthomi
Uma dica que eu ADORARIA adicionar é considerar combinar o esquema de cores do botão com o tema do seu site para um visual mais coeso.
Este pequeno detalhe pode fazer uma grande diferença na experiência geral do usuário.
Mrteesurez
Eu vejo que implementar um recurso de "rolar para o topo" é benéfico para sites, especialmente aqueles que postam conteúdos muito longos. Os usuários podem precisar ver o início da postagem ou voltar ao topo, então essa funcionalidade realmente agregará mais melhorias à experiência do usuário. Vejo que a maioria dos sites, incluindo o WPbeginner, não o utilizam, mas por quê?
Há algum benefício em não usá-lo, talvez para maior retenção de usuários ou o quê?
Você pode incluir os prós e contras em uma atualização posterior deste post.
WPBeginner Support
We will look into the possibility for the future, for now we do not have it as personal preference. As someone goes through a tutorial they normally want to see the previous step by scrolling manually and not the start of the article
Admin
Mrteesurez
Bem, possivelmente, mas para mim, o caso de uso é mais do que apenas ver o passo anterior em artigos. Este artigo destacou que “A menos que o site tenha um menu de cabeçalho fixo, os usuários que rolam até o final de uma postagem ou página longa do WordPress têm que deslizar ou rolar manualmente de volta para o topo para navegar no site. Isso pode ser um verdadeiro incômodo, e muitas vezes, os usuários simplesmente apertarão o botão de voltar e sairão. É por isso que você precisa de um botão para enviar rapidamente os usuários para o topo” Eu só quero apontar que os casos de uso mencionados no artigo são benéficos e justificam seu uso. Obrigado.
Jiří Vaněk
Anteriormente, eu não tinha um botão de ‘voltar ao topo’ na página, mas à medida que meus artigos ficavam cada vez mais longos, eu não queria que os usuários passassem vários segundos rolando. Comecei a usar este plugin exato, e ele é fantástico. Ele melhora significativamente o conforto do usuário, mesmo que à primeira vista possa parecer desnecessário. Não é.
Asha
Muito obrigado! Isso está explicado de forma muito clara. Útil.
Marco
O método Jquery não funcionou para mim usando um tema filho do Twenty-seventeen. Ah, bem. A versão com hiperlink funcionou perfeitamente, felizmente, e é boa o suficiente para mim.
Marco
Uma pergunta… uma das razões pelas quais isso não está funcionando para mim (o método jquery) pode ser porque minha instalação do WordPress está em uma subpasta? É a única razão que consigo pensar.
Taffeltrast
Adoraria isso, mas quebra o footer.php. O rodapé simplesmente não carrega.
Quando tento adicioná-lo ao footer.php, recebo “Há um erro de sintaxe na linha 14. etc etc”, e quando tento carregá-lo de qualquer maneira, o rodapé não carrega.
oliver
muito obrigado, simples e eficaz.
minha opinião, se você já tem um arquivo custom.js no seu tema, você pode simplesmente adicionar a função jquery neste arquivo em vez de criar um novo arquivo e adicioná-lo novamente.
Pessoalmente, prefiro ter todos os meus pequenos scripts em um único arquivo.
Stuart
Tema Filho Projetado por Blank |
<?php }
add_action('wp_head', 'my_favicon');
O que estou fazendo de errado? Este é o meu funtions.php novo em wp_enqueue_scripts.
Stuart
Twenty Fifteen-Child Theme fez uma pasta Js adicionou todos os wp_enqueue_script, mas nada aconteceu, não tenho certeza do que deu errado. Quero usar o mínimo de plugins possível, pois eles parecem deixar os sites WordPress lentos. Adicionei um favicon perfeito, wp_enqueue_script é meio novo para mim. Alguma ajuda?
Donald
Olá, isso ainda funciona? O ícone aparece (se eu mudar temporariamente o CSS para display:block), o script aparece como carregado no console da caixa de ferramentas do desenvolvedor do Firefox. No entanto, recebo a seguinte mensagem de erro para a linha 1:
‘SyntaxError: missing ; before statement’
Copiei o script como acima:
01 jQuery(document).ready(function($){
02 $(window).scroll(function(){
03 if ($(this).scrollTop() < 200) {
04 $('#smoothup') .fadeOut();
05 } else {
06 $('#smoothup') .fadeIn();
07 }
08 });
09 $('#smoothup').on('click', function(){
10 $('html, body').animate({scrollTop:0}, 'fast');
11 return false;
12 });
13 });
Alguém consegue ver qual pode ser o problema?
Donald
Josh Patterson
Existe alguma maneira de fazer isso desaparecer antes de chegar ao final da página?
jaybob
Olá, está funcionando bem. Obrigado pelo tutorial, mas tenho apenas um problema, a imagem aparece muito rápido. Posso fazer algo para que ela apareça mais tarde / um pouco mais abaixo, depois de rolar?
Aaron
Esta é uma maneira muito limpa de conseguir isso. De longe, minha favorita que encontrei.
Pergunta rápida… Eu coloquei no meu arquivo footer.php… Como posso fazer para que ele pare em um certo ponto? Por exemplo, tenho um rodapé com 575px de altura e não quero que o ícone entre nessa área. Basicamente, parar a posição fixa a, digamos, 600px da parte inferior da página.
Ulv
Essa solução adicionaria o arquivo smoothscroll.js à parte do arquivo html ou…?
emanuele
Olá,
é possível adicionar scroll suave no menu para rolar a página?…criei um template de uma página e quero rolá-la pelo menu…obrigado
StefsterNYC
Se entendi corretamente, você quer adicioná-lo à navegação do menu principal? Correto? Simplesmente use o mesmo nome do seletor, mas mude o CSS completamente. De modo que a imagem não apareça.
Faz sentido?
Paul
Muito obrigado por esta dica! No entanto, tenho um problema. Quando reduzo o tamanho da tela, minha seta desaparece enquanto eu a quero em um lugar específico.
Existe alguma maneira de consertar isso?
Obrigado
Paul
Paul
Encontrei uma solução para o meu problema. Eu só tive que mudar meu CSS para:
#smoothup { top: 572px; left: auto; margin-left: -68px; }
Mushir
Obrigado, cara! Funciona como mágica.. você realmente fez o meu dia!
Steven Wolock
Obrigado por isso! Funciona muito bem.
Pergunta: Esse colchete fechado está correto depois de -webkit-transform: rotate(360deg)?
etech0
Eu configurei isso no meu site, mas não vejo o ícone! Como posso descobrir por que não está funcionando?
Obrigado!
WPBeginner Support
Pode haver qualquer motivo possível. Primeiro, certifique-se de ter carregado a imagem, depois verifique se o background: url tem o URL correto e se ele leva à sua imagem. Por último, verifique se o jquery e o seu arquivo .js estão carregados. Por último, tente ajustar os valores CSS para display, position e text-indent.
Admin
etech0
Eu descobri – tive que mudar a altura e largura de 40px para se adequar à minha imagem.
Obrigado por um ótimo tutorial!
Alexander Gruzov
Obrigado!