Incluir javascript en un post de Wordpress

27

La semana pasada quise incluir un fragmento de código javascript dentro de un post de WordPress. Ya tenía claro que iba a tener problemas y que no iba a ser tan sencillo como pegar el código.

Aunque utilicemos el modo Texto del editor de WordPress, al publicar el post WordPress transformará todo aquello que sea susceptible de dar problemas. Como por ejemplo los caracteres ‘>’ y ‘<‘ que sirven para abrir y cerrar tags.

La solución para por poder incluir javascript como contenido de un post pasa por que WordPress no modifique nuestro código, y la forma fácil de hacerlo es creando nuestro propio ShortCode y guardando el código javascript en un Custom Field.
Incluyendo nuestro código dentro de un Custom Field nos aseguramos de que el editor de WordPress no nos modifica ni escapa ningún carácter. Y utilizando un ShortCode propio, definimos uno que simplemente coja el contenido de nuestro Custom Field y lo incluya en el contenido a la hora de la publicación, quedando el mismo intacto y funcionando sin problemas

En mi caso me he creado el ShortCode [cf]nombre del Custom Field[/cf] (cf de Custom Field), que incluye el contenido de un Custom Field con dicho nombre.

Aquí tenéis el código necesario para esta funcionalidad, y que deberéis pegar tal cual en el functions.php de vuestro tema:

function polimalo_custom_field_in_post($atts, $content = null) {
	$custom_field = get_post_meta(get_the_ID(), $content, true);
	return apply_filters('the_content', $custom_field);
};
add_shortcode( 'cf', 'polimalo_custom_field_in_post' );

El resultado final: una cuenta atrás en javascript dentro de un post de wordpress.

No Comments