Vamos a repasar en este post cómo evitar el filtrado de código HTML en WordPress y las diferentes causas por las que nos puede prohibir WordPress la inserción de código.
Hay 2 casos en los que se activa dicho filtrado, son las siguientes:
Veamos los usuarios de WordPress con permisos para insertar código HTML en las instalaciones standar y multisite:
Por lo que hemos podido ver los solo usuarios con cierto ‘nivel’ pueden realizar esta acción.
Este filtrado puede causarnos problemas a la hora de actualizar nuestras webs ya que los usuarios sin privilegios dependen de terceros para poder completar sus post. Por ejemplo no podrían realizar cosas tan últiles como embeber vídeos de youtube y similares.
Podemos solucionar de 2 maneras el filtrado:
Para eliminar el filtrado a través del wp-config.php debemos añadir la siguiente línea:
define( 'DISALLOW_UNFILTERED_HTML', false );
En instalaciones de WordPress MU (Multi User) quizás os funcione este otro código que suelo usar:
function remove_filters_users() { if (current_user_can('moderate_comments')) { kses_remove_filters(); } } add_action('init', 'remove_filters_users'); add_action('set_current_user', 'remove_filters_users');
Si optamos por la instalación de plugins que nos permitan embeber el código podemos probar con alguno de los siguientes:
Por último si queremos solucionar el problema modificando los permisos de los usuarios de WordPress podemos hacerlo añadiendo esta línea.
$perfil = get_role('autor'); $perfil->add_cap('unfiltered_html');
Os aconsejo que antes de añadir el código superior, probéis este plugin que os puede servir igualmente:
En este caso estamos permitiendo que los autores puedan meter código HTML.