Como solucionar Problemas entre Syntaxhighlighter y Infolinks

Infolinks Logo

Hace un tiempo usaba infolinks en el blog, pero me di cuenta que ocasionaba problemas cuando usaba los shortcodes de Syntaxhighlighter, ahora he vuelto a activar los links de publicidad y me dio algo de curiosidad de como solucionar este problema, ya que cuando hacia algún post donde se mostraba algún código, este se veía afectado por algunas clases del script de infolinks, pero he dado con la solución, por lo menos con el plugin de wordpress, aquí vamos!.

Primero identificamos el archivo syntaxhighlighter.php. Para luego busca una linea como esta:

[php]
return apply_filters( ‘syntaxhighlighter_htmlresult’, ‘<pre class="’ . esc_attr( implode( ‘ ‘, $params ) ) . ‘"’ . $title . ‘>’ . $code . ‘</pre>’ );;
[/php]

Si es exactamente igual, solo debemos reemplazar con esta:

[php]
return apply_filters( ‘syntaxhighlighter_htmlresult’, ‘<!–INFOLINKS_OFF–><pre class="’ . esc_attr( implode( ‘ ‘, $params ) ) . ‘"’ . $title . ‘>’ . $code . ‘</pre><!–INFOLINKS_ON–>’ );;
[/php]

Explicando

Infolinks tiene dos etiquetas para deshabilitar la publicidad en las páginas, que son:

[html]
<!–INFOLINKS_OFF–>
Aqui esta desactivado
<!–INFOLINKS_ON–>
Aqui esta activado
[/html]

En el código de arriba solo debemos agregar la etiqueta OFF antes de pre class y la etiqueta ON después de cerrar pre, así cuando mostremos un código con Syntaxhighlighter este se va a desactivar antes de mostrar el código y activarse después de mostrar el código.

Así podremos usar Infolinks y Syntaxhighlighter sin problemas en un mismo sitio.

Recomendado