Licínio Sousa

Botão “Back” com memória

Código, Wordpress

Comments Closed


Share this post

Tenho trabalho muito com o wordpress e recentemente deparei-me com uma dificuldade. Precisei de construir um botão de regresso à página anterior sendo que teria de ser um botão com um link relativo.

Após uma busca na net descobri este simples bocado de código que passo a explicar.

1
2
3
<!--?php if ( in_category('5')) { $referer = $_SERVER['HTTP_REFERER'];<br ?--> $is_us = @strpos( $referer, 'OurDomainName'); if($is_us)
{ echo '<a href="' . $referer . '"><img src="arrow-back.png" alt="" /></a>'; }
else { echo '<a href="http://OurDomainName.com/"><img src="arrow-back.png" alt="" /></a>'; } } ?&gt;

A primeira linha verifica se estamos a correr o código para uma categoria específica, se for o caso, a variável “$referer” é igual ao URL de referência.

A segunda linha verifica se o domínio de referência é o nosso, isto porque não queremos que no caso do tráfego ser originário de outro site, que o botão reencaminhe para fora do site.

Se o nosso domínio estiver presente no domínio de referência, assumimos que o visitante veio do nosso site e na terceira linha colocamos o link no site.

Se o domínio não estiver no URL de referência, assumimos que o leitor veio de outro site, para prevenir que o nosso botão reenvie para o link externo, a quarta linha imprime o botão de voltar com link para a nossa homepage.

Se quisermos que o botão aparece em todas as categoris, apague desde a palavra “if” na primeira linha até e incluindo a chaveta na primeira linha. Depois apague uma das chavetas no fim da quarta linha.

Se preferirmos que o botão simplesmente não aparece se o link de referência for outro site, apagamos o código começando na palavra “else” na quarta linha até e incluíndo a primeira chaveta de fecho.