La manera más sencilla de escribir código en nuestros posts para que sea ejecutado (por ejemplo, “divs” adicionales que darían una maquetación extra a la página, o bien “snippets” de Javascript dedicados sólo a ése post en concreto) es escribir en el editor HTML de WordPress.
Sin embargo, si queremos seguir usando el editor visual y disponer de la capacidad para escribir código ejecutable con el mismo, sin que WordPress lo transforme en contenido de sólo lectura, podremos utilizar el siguiente código :
// desactivar auto-formato
function my_formatter($content) {
$new_content = '';
$pattern_full = '{(\[cod\].*?\[/cod\])}is';
$pattern_contents = '{\[cod\](.*?)\[/cod\]}is';
$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach ($pieces as $piece) {
if (preg_match($pattern_contents, $piece, $matches)) {
$new_content .= $matches[1];
} else {
$new_content .= wptexturize(wpautop($piece));
}
}
return $new_content;
}
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'my_formatter', 99);
Lo pondremos en functions.php (archivo que si no tenemos, podemos crear y nombrar como tal, y añadir a nuestro tema), dentro de las declaraciones de php. Salvamos y cerramos.
Es entonces cuando podemos ir a nuestro editor visual, y usar el siguiente shortcode : [cod].
Por ejemplo, si queremos añadir un poco de HTML :
[cod]<div class="columna1">[/cod]
Aquí seguimos escribiendo normal, etc etc etc
[cod]</div>[/cod]



Deja tu comentario