HostGator Promoção (728x60)

Altere o Padrão de Colocar Link na Imagem do Post

altere o padrao wordpress colocar link na imagem post

Ao adicionar uma imagem num post, o WordPress automaticamente adiciona um link na imagem. Em muitos casos esses links podem atrapalhar, já que ao clicar na imagem o visitante é levado para uma página fora do artigo que estava lendo. Muitos destes visitantes acabam por fazer a taxa de rejeição do site aumentar, pois muitos dos que clicam na imagem não retornam para o site. Neste artigo você vai aprender como "acabar" com esse padrão de colocar links automaticamente em todas as imagens inseridas.

Porque Alterar Esse Padrão

O problema é que podemos esquecer de fazer isso. Portanto, é importante alterar o funcionamento padrão do WordPress, para que ele não coloque esses links automaticamente nas imagens. Há outros casos que é necessário mandar o visitante para a página do Attachment em vez de mandar diretamente para o endereço da imagem ou então mandar para uma url customizada.

Para isso, basta inserir uma linha de código no arquivo functions.php do seu tema, conforme os exemplos abaixo.

Removendo o Padrão

Para remover o padrão de colocar links automaticamente nas imagens dos artigos, adicione o seguinte código no arquivo functions.php do seu tema:

1
update_option('image_default_link_type','none');
update_option('image_default_link_type','none');

Links do Attachment Page como padrão

Você também pode colocar o link do Attachment Page como padrão. Desta maneira, ao clicar na imagem o visitante será levado a uma página do seu site com a imagem, em vez de mandar diretamente para o arquivo da imagem. Para isso utilize o código:

1
update_option('image_default_link_type','post');
update_option('image_default_link_type','post');

7 Comentários para “Altere o Padrão de Colocar Link na Imagem do Post

      1. Lucas Tavares
      2. (Autor do Post)

      Olá, Fernando,

      Esse código deve ser inserido no arquivo functions.php do seu tema!

      (Adicionei esta informação no artigo acima, pois, outras pessoas podem ter a mesma dúvida).

      Qualquer outra dúvida estou a disposição para ajudá-lo.

      Abraços.

    1. Guilherme

    Estou a dias procurando como fazer isso... o problema é que as pessoas sempre esquecem de remover o link das imagens, agora esse problema vai acabar aqui.

    ah... parabéns pelo site.

    1. Silvan de Jesus

    Olá, gostaria de saber se consigo mudar o nome da classe padrão que é criado no link da imagem no WordPress.

      1. Lucas Tavares
      2. (Autor do Post)

      Olá Silvan,

      Para adicionar uma classe no link da imagem, adicione o seguinte código no arquivo functions.php:

      add_filter('image_send_to_editor','custom_class_link_image');

      // Adiciona uma classe personalizada nos links das imagens (by wptotal.com.br)
      function custom_class_link_image($html) {

      $custom_class = "my-custom-class";
      $html = preg_replace('/\<a href\=\"(.*)\"(.?)\ rel="nofollow">(.*)\<\/a\>/i','<a href="$1" $2 class="'.$custom_class.'" rel="nofollow">$3</a>',$html);
      return $html;
      }

      Fiz esse código rapidinho, pelos meus testes, ele atende perfeitamente a sua necessidade de trocar a classe do link das imagens.

      Abraços!

      *preg_replace corrigido

    1. Elton

    Olá, boa tarde. No arquivo functions.php é possível adicionar um "Rel do Link" padrão? Ou seja, toda imagem adiciona no post terá o padrão rel="shadowbox[vocation]", por exemplo. Isso é para a imagem ser mostrada na própria página da postagem através de um efeito lightbox. Manualmente funciona, mas seria bom se o WordPress pudesse adicionar automaticamente. Tentei colocar no arquivo single.php, mas não da efeito. Muito obrigado.

    1. Elton

    Olá. Só pra informar: Consegui a solução para o meu comentário anterior, onde eu pedi ajuda para alterar o padrão do Rel Link. Este código funcionou perfeitamente:


    add_filter('the_content', 'my_addlightboxrel');
    function my_addlightboxrel($content) {
    global $post;
    $pattern ="/<a>/i";
    $replacement = "<a rel=\"shadowbox[{$post- rel="nofollow">ID}]\">";
    $content = preg_replace($pattern, $replacement, $content);
    return $content;
    }

    Mesmo assim obrigado. Parabéns pelo seu blog. Ele ajuda muitas pessoas. Grande abraço.

Deixe um comentário

(required)
(required)