Infolinks e Syntaxhighlighter Problema Blog WordPress
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!









