Infolinks e Syntaxhighlighter Problema Blog WordPress

Rate this post

Quem acompanha esse blog viu que recentemente eu publiquei aqui, um artigo mostrando como contornar um problema que ocorria quando você utilizava Hotwords e o Syntaxhighlighter, para quem perdeu, segue o link Howtwords e Sintaxhighlighter, e o assunto desse artigo tem tudo a ver com isso.

Para quem não conhece o Infolinks, é uma espécie de Hotwords americano, ótimo pra quem possui site na língua inglesa – língua que não é suportada, ainda, pelo hotwords -, e assim como o hotwords, há também no Infolinks o mesmo problema com o Syntaxhighlighter e veremos nesse artigo como resolver isso também.

Ah, pra quem perdeu o outro post que escrevi, o sinistro é que esses sistemas de anúncios in text, como o hotwords, infolinks e afins, substituem palavras que estão no display do Syntaxhighlighter por links, e isso quebra o código e não exibe o link como deveria.

A solução no Infolinks é um pouco diferente, eles oferecem um tipo que filtro interessante, onde você pode proibir que links de anúncios sejam inseridos, a saber:

//a tag abaixo indica que o mecanismo do Infolinks deve parar de substituir palavras por links até que encontre outra tag que ative a substituição novamente.
<!--INFOLINKS_OFF-->

//a tag abaixo indica que o mecanismo do Infolinks deve reativar a substituição de palavras por links de anúncios.
<!--INFOLINKS_ON-->

Note que, por padrão, assim que você insere o código do Infolinks em seu blog, toda a página é alvo potencial para publicidade, então, para que o trecho onde o Syntaxhighlighter é usado não seja alvo do Infolinks, basta fazer o seguinte:

1- Abra o arquivo syntaxhiglighter.php em seu editor de website preferido
2- Na linha 1705 você vai encontrar um código igual esse:

return '<pre class="' . esc_attr( implode( ' ', $params ) ) . '">' . $code . '</pre>'; 

3- Substitua essa linha de código por essa:

return '<!--INFOLINKS_OFF--><pre class="' . esc_attr( implode( ' ', $params ) ) . '">' . $code . '</pre><!--INFOLINKS_ON-->';

4- Isso é tudo, salve o arquivo e reenvie para o servidor remoto.

Como pode ser visto, o que fiz aqui foi desativar o infolinks antes do trecho do syntaxhighlighter e reativá-lo logo após o mesmo. Com isso, o infolinks não mais irá quebrar seus códigos exibidos no Syntaxhiglighter.

Até mais!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *